worker-automate-hub 0.4.337__py3-none-any.whl → 0.4.339__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -103,22 +103,27 @@ async def descartes(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
103
103
  await worker_sleep(7)
104
104
 
105
105
  # Preenche data de validade
106
- console.print("Preenchendo a data de validade...\n")
107
- screenshot_path = take_screenshot()
108
- target_pos = (
109
- 961,
110
- 331,
111
- ) # find_target_position(screenshot_path, "Validade", 10, 0, 15)
112
- if target_pos == None:
113
- return RpaRetornoProcessoDTO(
114
- sucesso=False,
115
- retorno="Não foi possivel encontrar o campo de validade",
116
- status=RpaHistoricoStatusEnum.Falha,
117
- )
106
+ console.print("Preenchendo a data de validade...", style="bold green")
107
+
108
+ pre_venda = app["TFrmPreVenda"]
109
+ app = Application().connect(class_name="TFrmPreVenda")
110
+ validade_field = pre_venda.child_window(class_name="TDBIEditDate", found_index=0)
111
+ validade_field.set_text(f'{datetime.now().strftime("%d/%m/%Y")}')
112
+ # screenshot_path = take_screenshot()
113
+ # target_pos = (
114
+ # 961,
115
+ # 321,
116
+ # ) # find_target_position(screenshot_path, "Validade", 10, 0, 15)
117
+ # if target_pos == None:
118
+ # return RpaRetornoProcessoDTO(
119
+ # sucesso=False,
120
+ # retorno="Não foi possivel encontrar o campo de validade",
121
+ # status=RpaHistoricoStatusEnum.Falha,
122
+ # )
118
123
 
119
- pyautogui.click(target_pos)
120
- pyautogui.write(f'{datetime.now().strftime("%d/%m/%Y")}', interval=0.1)
121
- pyautogui.press("tab")
124
+ # pyautogui.click(target_pos)
125
+ # pyautogui.write(f'{datetime.now().strftime("%d/%m/%Y")}', interval=0.1)
126
+ # pyautogui.press("tab")
122
127
  console.print(
123
128
  f"\nValidade Digitada: '{datetime.now().strftime("%d/%m/%Y")}'\n",
124
129
  style="bold green",
@@ -127,17 +132,20 @@ async def descartes(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
127
132
 
128
133
  # Condição da Pré-Venda
129
134
  console.print("Selecionando a Condição da Pré-Venda\n")
130
- condicao_field = find_target_position(screenshot_path, "Condição", 10, 0, 15)
131
- if condicao_field == None:
132
- condicao_field = (1054, 330)
133
-
134
- pyautogui.click(condicao_field)
135
- await worker_sleep(1)
136
- pyautogui.write("A")
137
- await worker_sleep(1)
138
- pyautogui.press("down")
139
- pyautogui.press("enter")
140
- await worker_sleep(1)
135
+ condicao_field = pre_venda.child_window(class_name="TDBIComboBox", found_index=2)
136
+ condicao_field.select("A VISTA")
137
+
138
+ # condicao_field = find_target_position(screenshot_path, "Condição", 10, 0, 15)
139
+ # if condicao_field == None:
140
+ # condicao_field = (1054, 330)
141
+
142
+ # pyautogui.click(condicao_field)
143
+ # await worker_sleep(1)
144
+ # pyautogui.write("A")
145
+ # await worker_sleep(1)
146
+ # pyautogui.press("down")
147
+ # pyautogui.press("enter")
148
+ # await worker_sleep(1)
141
149
 
142
150
  # Preenche o campo do cliente com o número da filial
143
151
  console.print("Preenchendo o campo do cliente com o número da filial...\n")
@@ -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)
@@ -107,22 +107,12 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
107
107
  # return {"sucesso": False, "retorno": f"Não foi possivel encontrar o campo de validade"}
108
108
 
109
109
  # Condição da Pré-Venda
110
- screenshot_path = take_screenshot()
111
- condicao_field = find_target_position(screenshot_path, "Condição", 10, 0, 15)
112
- if condicao_field == None:
113
- return RpaRetornoProcessoDTO(
114
- sucesso=False,
115
- retorno="Não foi possivel encontrar o campo de condição",
116
- status=RpaHistoricoStatusEnum.Falha,
117
- )
118
-
119
- pyautogui.click(condicao_field)
120
- await worker_sleep(1)
121
- pyautogui.write("T")
122
- await worker_sleep(1)
123
- pyautogui.press("down")
124
- pyautogui.press("enter")
125
- await worker_sleep(1)
110
+ console.print("Selecionando a Condição da Pré-Venda\n")
111
+ app = Application().connect(class_name="TFrmPreVenda")
112
+ pre_venda = app["TFrmPreVenda"]
113
+ condicao_field = pre_venda.child_window(class_name="TDBIComboBox", found_index=2)
114
+ condicao_field.select("TRANSFERENCIA")
115
+
126
116
 
127
117
  # Preenche o campo do cliente com o número da filial
128
118
  cliente_field_position = await find_element_center(
@@ -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.337
3
+ Version: 0.4.339
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=hwSPY0HWFyKMl0RvLKi8h24D2klhPkQcLHW-_GGDtng,39149
33
+ worker_automate_hub/tasks/jobs/descartes.py,sha256=cdzWujAZLUnc2y_h-ztGYdMz8EhR41V7D5xpTgQvc7w,39631
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=ldry9J7s_8S_IUEfH5zEWja-_BWe3kK7EI19TOALzv4,35868
57
+ worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=7HxF-bHoBXtLmJFAWoG556e9NlmjyvbkI6zdlYdynNg,19548
58
+ worker_automate_hub/tasks/jobs/transferencias.py,sha256=_2MWBy-jUNW5yDS0eCKE1EeFdd2K72yX0EZtd9iJQrk,35565
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.337.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
- worker_automate_hub-0.4.337.dist-info/METADATA,sha256=dPu_uucr9B00DhepooB6Zrh8OgTIwZW5GH_HfqyTyJc,2884
72
- worker_automate_hub-0.4.337.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
- worker_automate_hub-0.4.337.dist-info/RECORD,,
70
+ worker_automate_hub-0.4.339.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
+ worker_automate_hub-0.4.339.dist-info/METADATA,sha256=L29JSbIgFRllmqR8zZjr1sxV3iO3jhbTRGuY5-rTG0A,2884
72
+ worker_automate_hub-0.4.339.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
+ worker_automate_hub-0.4.339.dist-info/RECORD,,