worker-automate-hub 0.4.443__py3-none-any.whl → 0.4.444__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -414,7 +414,7 @@ async def entrada_de_notas_16(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
414
414
  max_attempts = 60
415
415
  i = 0
416
416
 
417
- while i < max_attempts:
417
+ while i < max_attempts and retorno is not True:
418
418
  information_pop_up = await is_window_open("Information")
419
419
  if information_pop_up["IsOpened"] == True:
420
420
  break
@@ -424,60 +424,62 @@ async def entrada_de_notas_16(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
424
424
  i += 1
425
425
 
426
426
  information_pop_up = await is_window_open("Information")
427
- if information_pop_up["IsOpened"] == True:
428
- app = Application().connect(class_name="TFrmNotaFiscalEntrada")
429
- main_window = app["Information"]
430
-
431
- main_window.set_focus()
432
-
433
- console.print(f"Obtendo texto do Information...\n")
434
- console.print(f"Tirando print da janela do Information para realização do OCR...\n")
435
-
436
- window_rect = main_window.rectangle()
437
- screenshot = pyautogui.screenshot(
438
- region=(
439
- window_rect.left,
440
- window_rect.top,
441
- window_rect.width(),
442
- window_rect.height(),
427
+
428
+ if not retorno:
429
+ if information_pop_up["IsOpened"] == True:
430
+ app = Application().connect(class_name="TFrmNotaFiscalEntrada")
431
+ main_window = app["Information"]
432
+
433
+ main_window.set_focus()
434
+
435
+ console.print(f"Obtendo texto do Information...\n")
436
+ console.print(f"Tirando print da janela do Information para realização do OCR...\n")
437
+
438
+ window_rect = main_window.rectangle()
439
+ screenshot = pyautogui.screenshot(
440
+ region=(
441
+ window_rect.left,
442
+ window_rect.top,
443
+ window_rect.width(),
444
+ window_rect.height(),
445
+ )
443
446
  )
444
- )
445
- username = getpass.getuser()
446
- path_to_png = f"C:\\Users\\{username}\\Downloads\\information_popup_{nota.get("nfe")}.png"
447
- screenshot.save(path_to_png)
448
- console.print(f"Print salvo em {path_to_png}...\n")
447
+ username = getpass.getuser()
448
+ path_to_png = f"C:\\Users\\{username}\\Downloads\\information_popup_{nota.get("nfe")}.png"
449
+ screenshot.save(path_to_png)
450
+ console.print(f"Print salvo em {path_to_png}...\n")
449
451
 
450
- console.print(
451
- f"Preparando a imagem para maior resolução e assertividade no OCR...\n"
452
- )
453
- image = Image.open(path_to_png)
454
- image = image.convert("L")
455
- enhancer = ImageEnhance.Contrast(image)
456
- image = enhancer.enhance(2.0)
457
- image.save(path_to_png)
458
- console.print(f"Imagem preparada com sucesso...\n")
459
- console.print(f"Realizando OCR...\n")
460
- captured_text = pytesseract.image_to_string(Image.open(path_to_png))
461
- console.print(
462
- f"Texto Full capturado {captured_text}...\n"
463
- )
464
- os.remove(path_to_png)
465
- if 'nota fiscal inc' in captured_text.lower():
466
- console.print(f"Tentando clicar no Botão OK...\n")
467
- btn_ok = main_window.child_window(class_name="TButton")
468
-
469
- if btn_ok.exists():
470
- btn_ok.click()
471
- retorno = True
472
- else:
473
- return RpaRetornoProcessoDTO(
474
- sucesso=False,
475
- retorno=f"Pop_up Informantion não mapeado para andamento do robô, mensagem {captured_text}",
476
- status=RpaHistoricoStatusEnum.Falha,
452
+ console.print(
453
+ f"Preparando a imagem para maior resolução e assertividade no OCR...\n"
477
454
  )
478
- else:
479
- console.print(f"Aba Information não encontrada")
480
- retorno = await verify_nf_incuded()
455
+ image = Image.open(path_to_png)
456
+ image = image.convert("L")
457
+ enhancer = ImageEnhance.Contrast(image)
458
+ image = enhancer.enhance(2.0)
459
+ image.save(path_to_png)
460
+ console.print(f"Imagem preparada com sucesso...\n")
461
+ console.print(f"Realizando OCR...\n")
462
+ captured_text = pytesseract.image_to_string(Image.open(path_to_png))
463
+ console.print(
464
+ f"Texto Full capturado {captured_text}...\n"
465
+ )
466
+ os.remove(path_to_png)
467
+ if 'nota fiscal inc' in captured_text.lower():
468
+ console.print(f"Tentando clicar no Botão OK...\n")
469
+ btn_ok = main_window.child_window(class_name="TButton")
470
+
471
+ if btn_ok.exists():
472
+ btn_ok.click()
473
+ retorno = True
474
+ else:
475
+ return RpaRetornoProcessoDTO(
476
+ sucesso=False,
477
+ retorno=f"Pop_up Informantion não mapeado para andamento do robô, mensagem {captured_text}",
478
+ status=RpaHistoricoStatusEnum.Falha,
479
+ )
480
+ else:
481
+ console.print(f"Aba Information não encontrada")
482
+ retorno = await verify_nf_incuded()
481
483
 
482
484
  except Exception as e:
483
485
  console.print(f"Erro ao conectar à janela Information: {e}\n")
@@ -198,8 +198,7 @@ class EMSys:
198
198
  await worker_sleep(1)
199
199
  pyautogui.click(1180, 776)
200
200
  await worker_sleep(1)
201
- pyautogui.click(619, 377)
202
- await worker_sleep(1)
201
+ await self.click_itens_da_nota()
203
202
 
204
203
  # Fecha a janela de alteração de item
205
204
  # try:
@@ -207,7 +206,7 @@ class EMSys:
207
206
  # console.print("Apertando [ESC]", style="bold blue")
208
207
  # except Exception as e:
209
208
  # console.print(f"Erro ao cancelar edição de item: {e}", style="bold red")
210
- await worker_sleep(3)
209
+ # await worker_sleep(3)
211
210
 
212
211
  index_item_atual += 1
213
212
  console.print(f"Item aual no final da execução: {index_item_atual}")
@@ -226,7 +225,21 @@ class EMSys:
226
225
  await worker_sleep(2)
227
226
 
228
227
  async def select_tipo_cobranca(self):
229
- pyautogui.click(632, 384)
228
+ # await worker_sleep(3)
229
+ # pyautogui.click(632, 384)
230
+
231
+ console.print("Navegando pela Janela de Nota Fiscal de Entrada...\n")
232
+ app = Application().connect(class_name="TFrmNotaFiscalEntrada")
233
+ main_window = app["TFrmNotaFiscalEntrada"]
234
+
235
+ main_window.set_focus()
236
+ console.print("Acessando a aba de Pagamentos... \n")
237
+ panel_TPage = main_window.child_window(class_name="TPage", title="Formulario")
238
+ panel_TTabSheet = panel_TPage.child_window(class_name="TcxCustomInnerTreeView")
239
+ panel_TTabSheet.wait("visible")
240
+ panel_TTabSheet.click()
241
+ send_keys("{DOWN " + ("2") + "}")
242
+
230
243
  await worker_sleep(2)
231
244
  pyautogui.click(893, 549)
232
245
  await worker_sleep(5)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.443
3
+ Version: 0.4.444
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
@@ -40,7 +40,7 @@ worker_automate_hub/tasks/jobs/ecac_estadual_sc.py,sha256=ZTjc4rS8J7VfWHPFLkJBcS
40
40
  worker_automate_hub/tasks/jobs/ecac_estadual_sp.py,sha256=iS6za_nGCzBRVCXYYuUTIyMWJznHp8l6BPahqwzc_5c,29102
41
41
  worker_automate_hub/tasks/jobs/ecac_federal.py,sha256=ORQbA4DCfyHJqjfvOCenc97QHvBCBlA3oMSzl59K6vg,55316
42
42
  worker_automate_hub/tasks/jobs/entrada_de_notas_15.py,sha256=5Rqz_kf-399nEA3s1_69MGOAn6Mk0GbdAP_0EFzAcYw,16570
43
- worker_automate_hub/tasks/jobs/entrada_de_notas_16.py,sha256=qP60VQmRB-2NkMwsHMQz8K9X75w0nr084pRJcaWkpqo,19654
43
+ worker_automate_hub/tasks/jobs/entrada_de_notas_16.py,sha256=X4Hv2oWeIrD5eljIBtx_9lJWgpTV8dBx2BPTbRJbNc4,19917
44
44
  worker_automate_hub/tasks/jobs/entrada_de_notas_207.py,sha256=TfvGmH1__OGRx5oYordEJt-gpcETKA9OFhwHQD3yqs4,24928
45
45
  worker_automate_hub/tasks/jobs/entrada_de_notas_32.py,sha256=l8mAm_OIY2cg_ThdCUqlq9NYbIYJuiK6wVsarStRfG8,32487
46
46
  worker_automate_hub/tasks/jobs/entrada_de_notas_33.py,sha256=ktXc_kdMhlz9cbb7XjfMJhME29mgMFd_FnatxSZZU_s,31457
@@ -67,9 +67,9 @@ worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1
67
67
  worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
68
68
  worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
69
69
  worker_automate_hub/utils/util.py,sha256=SWpivcmtSH-4RVwjupyyE8wpRcuFlOlGq3_Z29gvUPM,121845
70
- worker_automate_hub/utils/utils_nfe_entrada.py,sha256=7ju688sD52y30taGSm5rPMGdQyByUUwveLeKV4ImEiE,28401
70
+ worker_automate_hub/utils/utils_nfe_entrada.py,sha256=p5r_L5k7gqCBvV8v6dbLFM6INKiSpGc4Gegid0_YAh4,29017
71
71
  worker_automate_hub/worker.py,sha256=tftQpX8liC-_0_bOUf1YYzXSCvloMQBvjmQ6lzfEE-c,4816
72
- worker_automate_hub-0.4.443.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
73
- worker_automate_hub-0.4.443.dist-info/METADATA,sha256=Vc3L71OWqi6g2gzJc_kitUVDWjiQEngb2Oxx0MkRgTQ,2895
74
- worker_automate_hub-0.4.443.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
75
- worker_automate_hub-0.4.443.dist-info/RECORD,,
72
+ worker_automate_hub-0.4.444.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
73
+ worker_automate_hub-0.4.444.dist-info/METADATA,sha256=Nkf-St86T0ceB92JDNaFnHeiitM5Y0U2hpgcy2xBq2A,2895
74
+ worker_automate_hub-0.4.444.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
75
+ worker_automate_hub-0.4.444.dist-info/RECORD,,