worker-automate-hub 0.4.336__py3-none-any.whl → 0.4.338__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -768,8 +768,11 @@ async def descartes(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
768
768
  )
769
769
  message_prevenda = take_target_position(screenshot_path, "Deseja")
770
770
  if message_prevenda is not None:
771
- button_yes = find_target_position(screenshot_path, "Yes", attempts=15)
772
- pyautogui.click(button_yes)
771
+ button_yes = find_target_position(screenshot_path, "Yes", attempts=5)
772
+ if button_yes is not None:
773
+ pyautogui.click(button_yes)
774
+ else:
775
+ pyautogui.click(914,560)
773
776
  else:
774
777
  log_msg = f"Mensagem 'Deseja pesquisar pré-venda?' não encontrada."
775
778
  console.print(log_msg, style="bold yellow")
@@ -786,8 +789,16 @@ async def descartes(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
786
789
  pyautogui.click(button_confirma_transferencia)
787
790
  console.log("Confirmou transferencia", style="bold green")
788
791
  else:
789
- log_msg = f"Botao 'Confirma' não encontrado"
790
- console.print(log_msg, style="bold yellow")
792
+ try:
793
+ confirma = pyautogui.locateOnScreen("assets\\descartes_transferencias_images\\button_confirma.png", grayscale=True, region=[1225, 289, 1388, 362])
794
+ pyautogui.click(confirma)
795
+ except:
796
+ log_msg = f"Botao 'Confirma' não encontrado"
797
+ console.print(log_msg, style="bold yellow")
798
+ # return RpaRetornoProcessoDTO(
799
+ # sucesso=False,
800
+ # retorno=log_msg,
801
+ # status=RpaHistoricoStatusEnum.Falha)
791
802
 
792
803
  pyautogui.moveTo(1200, 300)
793
804
 
@@ -922,6 +933,4 @@ async def descartes(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
922
933
 
923
934
  return RpaRetornoProcessoDTO(
924
935
  sucesso=False, retorno=log_msg, status=RpaHistoricoStatusEnum.Falha
925
- )
926
- finally:
927
- await kill_process("EMSys")
936
+ )
@@ -65,21 +65,15 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
65
65
  )
66
66
 
67
67
  await worker_sleep(4)
68
- max_attempts = 15
69
- i = 0
70
- while i < max_attempts:
71
- try:
72
- app = Application(backend="win32").connect(class_name="TFrmLoginModulo")
73
- break
74
- except:
75
- i = i+1
76
-
77
- if i >= max_attempts:
68
+
69
+ try:
70
+ app = Application(backend="win32").connect(class_name="TFrmLoginModulo", timeout=50)
71
+ except:
78
72
  return RpaRetornoProcessoDTO(
79
73
  sucesso=False,
80
74
  retorno="Erro ao abrir o EMSys Fiscal, tela de login não encontrada",
81
75
  status=RpaHistoricoStatusEnum.Falha,
82
- )
76
+ )
83
77
 
84
78
 
85
79
  return_login = await login_emsys_fiscal(config.conConfiguracao, app, task)
@@ -673,8 +673,12 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
673
673
  )
674
674
  message_prevenda = take_target_position(screenshot_path, "Deseja")
675
675
  if message_prevenda is not None:
676
- button_yes = find_target_position(screenshot_path, "Yes", attempts=15)
677
- pyautogui.click(button_yes)
676
+ button_yes = find_target_position(screenshot_path, "Yes", attempts=5)
677
+ if button_yes is not None:
678
+ pyautogui.click(button_yes)
679
+ else:
680
+ pyautogui.click(914,560)
681
+ console.log('Clicou em "Yes" para confirmar pré-venda', style="bold green")
678
682
  else:
679
683
  log_msg = f"Mensagem 'Deseja pesquisar pré-venda?' não encontrada."
680
684
  console.print(log_msg, style="bold yellow")
@@ -690,9 +694,9 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
690
694
  # console.print(log_msg, style="bold yellow")
691
695
 
692
696
  # Clica em "Yes" para confirmar a pré-venda
693
- confirma_pre_venda = (921, 562)
694
- pyautogui.click(confirma_pre_venda)
695
- console.log('Clicou em "Yes" para confirmar pré-venda', style="bold green")
697
+ # confirma_pre_venda = (921, 562)
698
+ # pyautogui.click(confirma_pre_venda)
699
+ # console.log('Clicou em "Yes" para confirmar pré-venda', style="bold green")
696
700
 
697
701
  # Confirma pré-venda
698
702
  # Pode não precisar em descartes, mas em trânsferencias é obrigatório
@@ -705,8 +709,16 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
705
709
  pyautogui.click(button_confirma_transferencia)
706
710
  console.log("Confirmou transferencia", style="bold green")
707
711
  else:
708
- log_msg = f"Botao 'Confirma' não encontrado"
709
- console.print(log_msg, style="bold yellow")
712
+ try:
713
+ confirma = pyautogui.locateOnScreen("assets\\descartes_transferencias_images\\button_confirma.png", grayscale=True, region=[1225, 289, 1388, 362])
714
+ pyautogui.click(confirma)
715
+ except:
716
+ log_msg = f"Botao 'Confirma' não encontrado"
717
+ console.print(log_msg, style="bold yellow")
718
+ # return RpaRetornoProcessoDTO(
719
+ # sucesso=False,
720
+ # retorno=log_msg,
721
+ # status=RpaHistoricoStatusEnum.Falha)
710
722
 
711
723
  pyautogui.moveTo(1200, 300)
712
724
 
@@ -313,125 +313,103 @@ async def login_emsys_fiscal(
313
313
 
314
314
  filial_cod = task.configEntrada.get("empresa")
315
315
 
316
- # Testa se existe alguma mensagem no Emsys
317
- console.print("Testando se existe alguma mensagem no Emsys...")
318
- window_message_login_emsys = await find_element_center(
319
- "assets/emsys/window_message_login_emsys.png", (560, 487, 1121, 746), 15
320
- )
316
+ try:
317
+ console.print("\nEMSys Fiscal inciado com sucesso...", style="bold green")
318
+ app = Application().connect(class_name="TFrmLoginModulo")
319
+ main_window = app["Login"]
321
320
 
322
- # Clica no "Não mostrar novamente" se existir
323
- console.print("Clicando no 'Não mostrar novamente' se existir...")
324
- if window_message_login_emsys:
325
- pyautogui.click(window_message_login_emsys.x, window_message_login_emsys.y)
326
- pyautogui.click(
327
- window_message_login_emsys.x + 383, window_message_login_emsys.y + 29
328
- )
329
- console.print("Mensagem de login encontrada e fechada.", style="bold green")
321
+ main_window.set_focus()
330
322
 
331
- try:
332
- console.print("\nEMSys Fiscal inciado com sucesso...", style="bold green")
333
- app = Application().connect(class_name="TFrmLoginModulo")
334
- main_window = app["Login"]
323
+ edit_password = main_window.child_window(class_name="TcxCustomInnerTextEdit", found_index=0)
324
+ password = config.get("pass")
325
+ edit_password.set_edit_text(password)
335
326
 
336
- edit_password = main_window.child_window(class_name="TcxTextEdit", found_index=0)
337
- password = config.get("pass")
338
- edit_password.set_edit_text(password)
327
+ await worker_sleep(1)
328
+ edit_user = main_window.child_window(class_name="TcxCustomInnerTextEdit", found_index=1)
329
+ user = config.get("user")
330
+ edit_user.set_edit_text(user)
339
331
 
340
- await worker_sleep(1)
341
- edit_user = main_window.child_window(class_name="TcxTextEdit", found_index="1")
342
- user = config.get("user")
343
- edit_user.set_edit_text(user)
332
+ await worker_sleep(2)
333
+ pyautogui.press("enter")
344
334
 
345
- await worker_sleep(2)
346
- pyautogui.press("enter")
335
+ # Seleciona a filial do emsys
336
+ console.print("Seleciona a filial do emsys...")
337
+ selecao_filial = await find_element_center(
338
+ "assets/emsys/selecao_filial.png", (480, 590, 820, 740), 15
339
+ )
347
340
 
348
- # Seleciona a filial do emsys
349
- console.print("Seleciona a filial do emsys...")
350
- selecao_filial = await find_element_center(
351
- "assets/emsys/selecao_filial.png", (480, 590, 820, 740), 15
341
+ console.print(f"Selecao filial via imagem: {selecao_filial}")
342
+ if selecao_filial == None:
343
+ screenshot_path = take_screenshot()
344
+ selecao_filial = find_target_position(
345
+ screenshot_path, "Grupo", 0, -50, attempts=15
346
+ )
347
+ console.print(
348
+ f"Selecao filial localização de texto: {selecao_filial}"
352
349
  )
353
-
354
- console.print(f"Selecao filial via imagem: {selecao_filial}")
355
350
  if selecao_filial == None:
356
- screenshot_path = take_screenshot()
357
- selecao_filial = find_target_position(
358
- screenshot_path, "Grupo", 0, -50, attempts=15
359
- )
360
- console.print(
361
- f"Selecao filial localização de texto: {selecao_filial}"
362
- )
363
- if selecao_filial == None:
364
- selecao_filial = (700, 639)
365
- console.print(f"Selecao filial posição fixa: {selecao_filial}")
351
+ selecao_filial = (700, 639)
352
+ console.print(f"Selecao filial posição fixa: {selecao_filial}")
366
353
 
367
- pyautogui.click(selecao_filial)
368
- console.print(
369
- f"Escrevendo [{filial_cod}] no campo filial..."
370
- )
371
-
372
- pyautogui.write(
373
- task.configEntrada.get("Código da Filial")
374
- )
354
+ pyautogui.click(selecao_filial)
355
+ console.print(
356
+ f"Escrevendo [{filial_cod}] no campo filial..."
357
+ )
375
358
 
376
- else:
377
- console.print(
378
- f"Escrevendo [{filial_cod}] no campo filial..."
379
- )
380
- type_text_into_field(
381
- task.configEntrada.get("Código da Filial"),
382
- app["Seleção de Empresas"]["Edit"],
383
- True,
384
- "50",
385
- )
386
- pyautogui.press("enter")
359
+ pyautogui.write(
360
+ task.configEntrada.get("Código da Filial")
361
+ )
387
362
 
388
- await worker_sleep(5)
363
+ else:
389
364
  console.print(
390
- f"Verificando a presença de Warning..."
365
+ f"Escrevendo [{filial_cod}] no campo filial..."
366
+ )
367
+ type_text_into_field(
368
+ task.configEntrada.get("Código da Filial"),
369
+ app["Seleção de Empresas"]["Edit"],
370
+ True,
371
+ "50",
372
+ )
373
+ pyautogui.press("enter")
374
+
375
+ await worker_sleep(5)
376
+ console.print(
377
+ f"Verificando a presença de Warning..."
378
+ )
379
+ warning_pop_up = await is_window_open("Warning")
380
+ if warning_pop_up["IsOpened"] == True:
381
+ return RpaRetornoProcessoDTO(
382
+ sucesso=False,
383
+ retorno=f"Erro: Não foi possível acessar a filial {filial_cod}, esta com o CNPJ bloqueado, por favor verificar",
384
+ status=RpaHistoricoStatusEnum.Falha,
391
385
  )
392
- warning_pop_up = await is_window_open("Warning")
393
- if warning_pop_up["IsOpened"] == True:
394
- return RpaRetornoProcessoDTO(
395
- sucesso=False,
396
- retorno=f"Erro: Não foi possível acessar a filial {filial_cod}, esta com o CNPJ bloqueado, por favor verificar",
397
- status=RpaHistoricoStatusEnum.Falha,
398
- )
399
-
400
- max_attempts = 10
401
- i = 0
402
- while i < max_attempts:
403
- console.print("Aguardando o EMSys Fiscal...\n")
404
- emsys_opened= await is_window_open_by_class("TFrmPrincipalFiscal", "TFrmPrincipalFiscal")
405
- if emsys_opened["IsOpened"] == True:
406
- console.print("Login realizado com sucesso.", style="bold green")
407
- return RpaRetornoProcessoDTO(
408
- sucesso=True,
409
- retorno="Logou com sucesso no emsys!",
410
- status=RpaHistoricoStatusEnum.Sucesso,
411
- )
412
- else:
413
- i = i+1
414
- await worker_sleep(1)
415
386
 
416
- if i >= max_attempts:
387
+ max_attempts = 10
388
+ i = 0
389
+ while i < max_attempts:
390
+ console.print("Aguardando o EMSys Fiscal...\n")
391
+ emsys_opened= await is_window_open_by_class("TFrmPrincipalFiscal", "TFrmPrincipalFiscal")
392
+ if emsys_opened["IsOpened"] == True:
393
+ console.print("Login realizado com sucesso.", style="bold green")
417
394
  return RpaRetornoProcessoDTO(
418
- sucesso=False,
419
- retorno="Erro ao abrir o EMSys Fiscal, tela de login não encontrada",
420
- status=RpaHistoricoStatusEnum.Falha,
395
+ sucesso=True,
396
+ retorno="Logou com sucesso no emsys!",
397
+ status=RpaHistoricoStatusEnum.Sucesso,
421
398
  )
422
-
423
-
424
- except Exception as e:
425
- log_msg = f"Erro ao realizar login no EMSys Fiscal. Resolução atual: {screen_width}x{screen_height}, erro: {e}..."
426
- console.print(log_msg, style="bold red")
399
+ else:
400
+ i = i+1
401
+ await worker_sleep(1)
402
+
403
+ if i >= max_attempts:
427
404
  return RpaRetornoProcessoDTO(
428
- sucesso=False, retorno=log_msg, status=RpaHistoricoStatusEnum.Falha
405
+ sucesso=False,
406
+ retorno="Erro ao abrir o EMSys Fiscal, tela de login não encontrada",
407
+ status=RpaHistoricoStatusEnum.Falha,
429
408
  )
430
409
 
431
- else:
432
- screen_width, screen_height = pyautogui.size()
433
- log_msg = f"A tela de login não foi encontrada. Resolução atual: {screen_width}x{screen_height}."
434
- logger.info(log_msg)
410
+
411
+ except Exception as e:
412
+ log_msg = f"Erro ao realizar login no EMSys Fiscal, erro: {e}..."
435
413
  console.print(log_msg, style="bold red")
436
414
  return RpaRetornoProcessoDTO(
437
415
  sucesso=False, retorno=log_msg, status=RpaHistoricoStatusEnum.Falha
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.336
3
+ Version: 0.4.338
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
@@ -30,7 +30,7 @@ worker_automate_hub/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
30
30
  worker_automate_hub/tasks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  worker_automate_hub/tasks/jobs/coleta_dje_process.py,sha256=rf4fW-FaHUl1MS7b03z4cwI3zHfNw8FWxvjvNY3Xn20,28773
32
32
  worker_automate_hub/tasks/jobs/conexao_rdp.py,sha256=0-oLMupu6zucZ9kVshLjG94i0W9v4pbcgYHvI6uipGc,10376
33
- worker_automate_hub/tasks/jobs/descartes.py,sha256=IHIyFVbqoDKpCucPwqInsTfbS0ccUpySTNWxbLI3b6E,38667
33
+ worker_automate_hub/tasks/jobs/descartes.py,sha256=hwSPY0HWFyKMl0RvLKi8h24D2klhPkQcLHW-_GGDtng,39149
34
34
  worker_automate_hub/tasks/jobs/ecac_estadual_go.py,sha256=aPckQRlRozFS_OK3C9wNdMCmqO6AM4djwqY2uSSaPmo,20687
35
35
  worker_automate_hub/tasks/jobs/ecac_estadual_main.py,sha256=FFpAdtZLO4uelWZooCVpm4JePv_iDt5nwVKrk1ipZJQ,1599
36
36
  worker_automate_hub/tasks/jobs/ecac_estadual_mt.py,sha256=4fe5Ri--lNIlRBSusbjyYtFKwYpu1P4Y2EYgHgQsrqE,24985
@@ -54,8 +54,8 @@ worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py,sha256=Y-mKYcgX1kwcy_s
54
54
  worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py,sha256=QBGm6eS5JghgNWNqZlk1g2a2iV8LnBLiOTBBL3Giet0,4181
55
55
  worker_automate_hub/tasks/jobs/login_emsys.py,sha256=IoGCIvO4UwmuxOZEn3cvYJlKyhsWvtHvbFk8vwjTroQ,5620
56
56
  worker_automate_hub/tasks/jobs/playground.py,sha256=bdnXv3C7WLQUxt4edGZDfAbRJJ2-q4zuIQaK3GLnaUc,1765
57
- worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=aWPiAVzG4UiOIfrjGzky-dcyU-ovJwbV2PHdJwAT40w,19699
58
- worker_automate_hub/tasks/jobs/transferencias.py,sha256=Ot9u76ngO3EXdYDJXhsfNmoy_WTcDAJr8JN5BLzjZDo,35235
57
+ worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=7HxF-bHoBXtLmJFAWoG556e9NlmjyvbkI6zdlYdynNg,19548
58
+ worker_automate_hub/tasks/jobs/transferencias.py,sha256=ldry9J7s_8S_IUEfH5zEWja-_BWe3kK7EI19TOALzv4,35868
59
59
  worker_automate_hub/tasks/task_definitions.py,sha256=2Jp1H4_qJZqqGyaP6MA87KLt4QNrtWBYWbXu-2gymFo,4459
60
60
  worker_automate_hub/tasks/task_executor.py,sha256=QqVNRljSlSbSXzTwKLezMjCLej6AixuBcDAhDrqmAkU,8435
61
61
  worker_automate_hub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -64,10 +64,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
64
64
  worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
65
65
  worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
66
66
  worker_automate_hub/utils/updater.py,sha256=0LR6Xpe3HZk-xu-trH7vKRhP5FXp0nhp1qxtygE2Jps,7280
67
- worker_automate_hub/utils/util.py,sha256=s3t51co6jUdPR-IZJVtGeivw8wfs97dLBfr3C35sjc0,118424
67
+ worker_automate_hub/utils/util.py,sha256=v2N2Sr5dtW_k4GObh0FB5cKv64hRs-rTjKLeyMsKcdU,116963
68
68
  worker_automate_hub/utils/utils_nfe_entrada.py,sha256=4--3HDyWddT8vw2mBNY_-9IscvAQYBygwPIMiKvAG-w,27583
69
69
  worker_automate_hub/worker.py,sha256=vkl_x7gSo6nQlhSBLwRkGx6LEONnYptfBaGxOy1ZLsE,4634
70
- worker_automate_hub-0.4.336.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
- worker_automate_hub-0.4.336.dist-info/METADATA,sha256=asGQER2i8WZZOa5isY4jKQO5S60uVUC8WXX3yOiaWy0,2884
72
- worker_automate_hub-0.4.336.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
- worker_automate_hub-0.4.336.dist-info/RECORD,,
70
+ worker_automate_hub-0.4.338.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
+ worker_automate_hub-0.4.338.dist-info/METADATA,sha256=A0p_VeEOGrnVNUcqigt-TBHir3eQnktdyEVsR6r9esw,2884
72
+ worker_automate_hub-0.4.338.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
+ worker_automate_hub-0.4.338.dist-info/RECORD,,