worker-automate-hub 0.4.449__tar.gz → 0.4.450__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/pyproject.toml +1 -1
  3. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +21 -80
  4. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +16 -0
  5. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/README.md +0 -0
  6. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/__init__.py +0 -0
  7. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/__init__.py +0 -0
  8. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/ahead_service.py +0 -0
  9. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/client.py +0 -0
  10. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/helpers/__init__.py +0 -0
  11. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  12. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/rpa_fila_service.py +0 -0
  13. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  14. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/api/webhook_service.py +0 -0
  15. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/cli.py +0 -0
  16. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/config/__init__.py +0 -0
  17. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/config/settings.py +0 -0
  18. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/config.py +0 -0
  19. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/core/so_manipulation.py +0 -0
  20. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/__init__.py +0 -0
  21. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/deprecation.py +0 -0
  22. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/rate_limit.py +0 -0
  23. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/repeat.py +0 -0
  24. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/retry.py +0 -0
  25. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/singleton.py +0 -0
  26. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/decorators/timeit.py +0 -0
  27. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/__init__.py +0 -0
  28. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dao/__init__.py +0 -0
  29. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  30. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  31. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  32. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dto/__init__.py +0 -0
  33. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  34. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  35. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
  36. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  37. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/__init__.py +0 -0
  38. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  39. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  40. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  41. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
  42. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  43. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  44. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  45. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  46. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  47. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  48. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  49. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  50. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  51. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  52. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  53. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  54. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  55. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
  56. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  57. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  58. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  59. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  60. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  61. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  62. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  63. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
  64. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
  65. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/task_definitions.py +0 -0
  66. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/tasks/task_executor.py +0 -0
  67. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/__init__.py +0 -0
  68. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/env.py +0 -0
  69. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  70. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/logger.py +0 -0
  71. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/toast.py +0 -0
  72. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/updater.py +0 -0
  73. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/util.py +0 -0
  74. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  75. {worker_automate_hub-0.4.449 → worker_automate_hub-0.4.450}/worker_automate_hub/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.449
3
+ Version: 0.4.450
4
4
  Summary: Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta.
5
5
  Author: Joel Paim
6
6
  Requires-Python: >=3.12,<4.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "worker-automate-hub"
3
- version = "0.4.449"
3
+ version = "0.4.450"
4
4
  description = "Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta."
5
5
  authors = ["Joel Paim"]
6
6
  readme = "README.md"
@@ -331,7 +331,6 @@ async def entrada_de_notas_15(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
331
331
 
332
332
  # Verifica se a info 'Nota fiscal incluida' está na tela
333
333
  await worker_sleep(6)
334
- retorno = False
335
334
  try:
336
335
  app = Application().connect(class_name="TFrmNotaFiscalEntrada")
337
336
  main_window = app["Information"]
@@ -343,11 +342,8 @@ async def entrada_de_notas_15(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
343
342
 
344
343
  if btn_ok.exists():
345
344
  btn_ok.click()
346
- retorno = True
347
345
  else:
348
346
  console.print(f" botão OK Não enontrado")
349
- retorno = await verify_nf_incuded()
350
-
351
347
  except Exception as e:
352
348
  try:
353
349
  await worker_sleep(5)
@@ -366,92 +362,37 @@ async def entrada_de_notas_15(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
366
362
  status=RpaHistoricoStatusEnum.Falha,
367
363
  )
368
364
 
369
- try:
370
- max_attempts = 60
371
- i = 0
372
-
373
- while i < max_attempts:
374
- information_pop_up = await is_window_open("Information")
375
- if information_pop_up["IsOpened"] == True:
376
- break
377
- else:
378
- console.print(f"Aguardando confirmação de nota incluida...\n")
379
- await worker_sleep(5)
380
- i += 1
365
+ max_attempts = 60
366
+ i = 0
381
367
 
368
+ while i < max_attempts:
382
369
  information_pop_up = await is_window_open("Information")
383
370
  if information_pop_up["IsOpened"] == True:
384
- app = Application().connect(class_name="TFrmNotaFiscalEntrada")
385
- main_window = app["Information"]
386
-
387
- main_window.set_focus()
388
-
389
- console.print(f"Obtendo texto do Information...\n")
390
- console.print(f"Tirando print da janela do Information para realização do OCR...\n")
391
-
392
- window_rect = main_window.rectangle()
393
- screenshot = pyautogui.screenshot(
394
- region=(
395
- window_rect.left,
396
- window_rect.top,
397
- window_rect.width(),
398
- window_rect.height(),
399
- )
400
- )
401
- username = getpass.getuser()
402
- path_to_png = f"C:\\Users\\{username}\\Downloads\\information_popup_{nota.get("nfe")}.png"
403
- screenshot.save(path_to_png)
404
- console.print(f"Print salvo em {path_to_png}...\n")
405
-
406
- console.print(
407
- f"Preparando a imagem para maior resolução e assertividade no OCR...\n"
408
- )
409
- image = Image.open(path_to_png)
410
- image = image.convert("L")
411
- enhancer = ImageEnhance.Contrast(image)
412
- image = enhancer.enhance(2.0)
413
- image.save(path_to_png)
414
- console.print(f"Imagem preparada com sucesso...\n")
415
- console.print(f"Realizando OCR...\n")
416
- captured_text = pytesseract.image_to_string(Image.open(path_to_png))
417
- console.print(
418
- f"Texto Full capturado {captured_text}...\n"
419
- )
420
- os.remove(path_to_png)
421
- if 'nota fiscal inc' in captured_text.lower():
422
- console.print(f"Tentando clicar no Botão OK...\n")
423
- btn_ok = main_window.child_window(class_name="TButton")
424
-
425
- if btn_ok.exists():
426
- btn_ok.click()
427
- retorno = True
428
- else:
429
- return RpaRetornoProcessoDTO(
430
- sucesso=False,
431
- retorno=f"Pop_up Informantion não mapeado para andamento do robô, mensagem {captured_text}",
432
- status=RpaHistoricoStatusEnum.Falha,
433
- )
371
+ break
434
372
  else:
435
- console.print(f"Aba Information não encontrada")
436
- retorno = await verify_nf_incuded()
437
-
438
- except Exception as e:
439
- console.print(f"Erro ao conectar à janela Information: {e}\n")
373
+ console.print(f"Aguardando confirmação de nota incluida...\n")
374
+ await worker_sleep(5)
375
+ i += 1
376
+
377
+ await worker_sleep(15)
378
+ console.print("\nVerifica se a nota ja foi lançada...")
379
+ nf_chave_acesso = int(nota.get("nfe"))
380
+ status_nf_emsys = await get_status_nf_emsys(nf_chave_acesso)
381
+ if status_nf_emsys.get("status") != "Lançada":
440
382
  return RpaRetornoProcessoDTO(
441
383
  sucesso=False,
442
- retorno=f"Erro em obter o retorno, Nota inserida com sucesso, erro {e}",
384
+ retorno=f"Erro ao lançar nota",
443
385
  status=RpaHistoricoStatusEnum.Falha,
444
386
  )
445
-
446
- if retorno:
447
- console.print("\nNota lançada com sucesso...", style="bold green")
448
- await worker_sleep(6)
387
+ else:
449
388
  return RpaRetornoProcessoDTO(
450
- sucesso=True,
451
- retorno="Nota Lançada com sucesso!",
452
- status=RpaHistoricoStatusEnum.Sucesso,
453
- )
389
+ sucesso=True,
390
+ retorno="Nota Lançada com sucesso!",
391
+ status=RpaHistoricoStatusEnum.Sucesso,
392
+ )
393
+
454
394
 
395
+
455
396
  except Exception as ex:
456
397
  observacao = f"Erro Processo Entrada de Notas: {str(ex)}"
457
398
  logger.error(observacao)
@@ -710,6 +710,22 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
710
710
  send_keys("%o")
711
711
  await worker_sleep(7)
712
712
 
713
+
714
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
715
+ if itens_by_supplier["IsOpened"] == True:
716
+ console.print(
717
+ "Tela de POP-UP de Itens não localizados ou NCM encontrado ...\n"
718
+ )
719
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
720
+ if itens_by_supplier_work["window"] == "NCM" or itens_by_supplier_work["window"] == "MultiplasRef":
721
+ console.log(itens_by_supplier_work["retorno"], style="bold green")
722
+ else:
723
+ return RpaRetornoProcessoDTO(
724
+ sucesso=False,
725
+ retorno=itens_by_supplier_work["retorno"],
726
+ status=RpaHistoricoStatusEnum.Falha,
727
+ )
728
+
713
729
  # VERIFICANDO A EXISTENCIA DE ERRO
714
730
  erro_pop_up = await is_window_open("Erro")
715
731
  if erro_pop_up["IsOpened"] == True: