worker-automate-hub 0.4.337__tar.gz → 0.4.339__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/pyproject.toml +1 -1
  3. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/descartes.py +34 -26
  4. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/sped_fiscal.py +5 -11
  5. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/transferencias.py +6 -16
  6. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/util.py +78 -100
  7. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/README.md +0 -0
  8. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/__init__.py +0 -0
  9. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/api/__init__.py +0 -0
  10. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/api/ahead_service.py +0 -0
  11. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/api/client.py +0 -0
  12. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/api/helpers/__init__.py +0 -0
  13. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  14. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  15. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/cli.py +0 -0
  16. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/config/__init__.py +0 -0
  17. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/config/settings.py +0 -0
  18. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/config.py +0 -0
  19. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/core/so_manipulation.py +0 -0
  20. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/__init__.py +0 -0
  21. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/deprecation.py +0 -0
  22. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/rate_limit.py +0 -0
  23. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/repeat.py +0 -0
  24. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/retry.py +0 -0
  25. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/singleton.py +0 -0
  26. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/decorators/timeit.py +0 -0
  27. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/__init__.py +0 -0
  28. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dao/__init__.py +0 -0
  29. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  30. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  31. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  32. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dto/__init__.py +0 -0
  33. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  34. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  35. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  36. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/__init__.py +0 -0
  37. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  38. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  39. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  40. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  41. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  42. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  43. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  44. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  45. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  46. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
  47. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  48. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  49. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  50. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  51. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  52. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  53. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
  54. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  55. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
  56. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  57. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  58. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  59. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  60. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  61. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  62. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  63. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/task_definitions.py +0 -0
  64. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/tasks/task_executor.py +0 -0
  65. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/__init__.py +0 -0
  66. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/env.py +0 -0
  67. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  68. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/logger.py +0 -0
  69. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/toast.py +0 -0
  70. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/updater.py +0 -0
  71. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  72. {worker_automate_hub-0.4.337 → worker_automate_hub-0.4.339}/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.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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "worker-automate-hub"
3
- version = "0.4.337"
3
+ version = "0.4.339"
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"
@@ -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