worker-automate-hub 0.4.402__py3-none-any.whl → 0.4.403__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,11 @@
1
1
  import asyncio
2
+ import datetime
2
3
  import getpass
3
4
  import os
4
5
  import warnings
5
6
 
6
7
  import pyautogui
8
+ import pyperclip
7
9
  from pywinauto.keyboard import send_keys
8
10
  from PIL import Image, ImageEnhance
9
11
  import pytesseract
@@ -135,19 +137,23 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
135
137
  class_name="TDBIComboBox", found_index=1
136
138
  )
137
139
 
140
+ combo_box_tipo_documento.set_focus()
138
141
  combo_box_tipo_documento.click()
142
+
139
143
  console.print(
140
144
  "Clique select box, Tipo de documento realizado com sucesso, selecionando o tipo de documento...\n"
141
145
  )
142
146
 
143
147
  await worker_sleep(4)
144
148
 
145
- set_combobox("||List", "NFe - NOTA FISCAL ELETRONICA PROPRIA - DANFE SERIE 077")
149
+ pyautogui.write("NFe - NOTA FISCAL ELETRONICA PROPRIA - DANFE SERIE 077")
146
150
  console.print(
147
151
  "Tipo de documento 'NFe - NOTA FISCAL ELETRONICA PROPRIA - DANFE SERIE 077', selecionado com sucesso...\n"
148
152
  )
149
153
 
150
- await worker_sleep(4)
154
+ pyautogui.hotkey("enter")
155
+
156
+ await worker_sleep(10)
151
157
 
152
158
  # Clica em 'Importar-Nfe'
153
159
  imported_nfe = await import_nfe()
@@ -169,7 +175,7 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
169
175
  await worker_sleep(3)
170
176
 
171
177
  try:
172
-
178
+
173
179
  #INTERAGINDO COM A TELA DE NOTAS DE OUTRAS EMPRESAS
174
180
  app = Application().connect(class_name="TFrmImportarNotaOutraEmpresa")
175
181
  main_window = app["TFrmImportarNotaOutraEmpresa"]
@@ -401,8 +407,48 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
401
407
  retorno=f"Erro ao importar nota fiscal.",
402
408
  status=RpaHistoricoStatusEnum.Descartado,
403
409
  )
404
-
410
+
405
411
  await worker_sleep(40)
412
+
413
+ try:
414
+ app = Application().connect(title="Confirm")
415
+ except:
416
+ app = None
417
+ console.print("Tela de itens não localizados",style="bold yellow")
418
+ if app is not None:
419
+ try:
420
+ window_itens = app["Confirm"]
421
+ button_yes = window_itens.child_window(title="&Yes")
422
+ #Clicar em YES (ou sim)
423
+ button_yes.click()
424
+ #Aguarda Tela carregar
425
+ await worker_sleep(5)
426
+ #Conecta com tela de itens
427
+ app = Application().connect(title="Incluir Item Fornecedor")
428
+ window_incluir_itens = app["Incluir Item Fornecedor"]
429
+ #Garante que a tela esta em foco
430
+ window_incluir_itens.set_focus()
431
+ trys = 10
432
+ await worker_sleep(1)
433
+ error_itens = []
434
+ for i in range(trys):
435
+ pyautogui.hotkey('ctrl', 'c')
436
+ text_incluir_item_fornecedor = pyperclip.paste()
437
+ error_itens.append(text_incluir_item_fornecedor)
438
+ pyautogui.press('down', presses=1)
439
+ await worker_sleep(1)
440
+
441
+ return RpaRetornoProcessoDTO(
442
+ sucesso=False,
443
+ retorno=f"Itens nao localizados - \n{text_incluir_item_fornecedor}",
444
+ status=RpaHistoricoStatusEnum.Falha,
445
+ )
446
+ except Exception as e:
447
+ return RpaRetornoProcessoDTO(
448
+ sucesso=False,
449
+ retorno=f"Erro tratar tela 'Incluir item fornecedor', erro: {e}",
450
+ status=RpaHistoricoStatusEnum.Falha,
451
+ )
406
452
 
407
453
  await emsys.verify_warning_and_error("Information", "&No")
408
454
 
@@ -428,9 +474,8 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
428
474
  pyautogui.write(nota["valorNota"])
429
475
 
430
476
  await emsys.incluir_registro()
431
- await worker_sleep(35)
432
-
433
- await worker_sleep(5)
477
+ await worker_sleep(40)
478
+ #TODO tratar tela de CFOP da capa
434
479
  console.print(
435
480
  "Verificando a existencia de POP-UP de Itens que Ultrapassam a Variação Máxima de Custo ...\n"
436
481
  )
@@ -454,7 +499,10 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
454
499
  main_window = app["TFrmTelaSelecao"]
455
500
  send_keys("%o")
456
501
 
457
- await worker_sleep(2)
502
+ await worker_sleep(3)
503
+
504
+ await emsys.verify_warning_and_error("Aviso", "OK")
505
+
458
506
  console.print(
459
507
  "Verificando a existencia de Warning informando que a Soma dos pagamentos não bate com o valor da nota. ...\n"
460
508
  )
@@ -575,7 +623,50 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
575
623
  retorno=f"Warning não mapeado para seguimento do robo, mensagem: {captured_text}",
576
624
  status=RpaHistoricoStatusEnum.Falha,
577
625
  )
626
+
627
+ await emsys.verify_warning_and_error("Aviso", "OK")
628
+
629
+ await worker_sleep(3)
630
+
631
+ #Alterar NOP
632
+ try:
633
+ for attempt in range(2):
634
+ console.print("Alterando a NOP...\n")
635
+ pyautogui.click(618, 330)
636
+ await worker_sleep(2)
637
+ nop_value = "1152 - ENTRADAS P/ TRANSFERENCIAS DE MERCADORIA- 1.152"
638
+ console.print(f"Inserindo a informação da NOP: {nop_value} ...\n")
639
+ await worker_sleep(5)
640
+ set_combobox("||List", nop_value)
641
+ await worker_sleep(2)
642
+ pyautogui.hotkey("enter")
643
+ await worker_sleep(8)
644
+ console.print("Teste")
645
+ await emsys.verify_warning_and_error("Aviso", "OK")
646
+ await emsys.incluir_registro()
647
+ retorno = await verify_nf_incuded()
648
+ await worker_sleep(40)
649
+ if retorno:
650
+ break
578
651
 
652
+ console.print("\nVerifica se a nota ja foi lançada...")
653
+ nf_chave_acesso = int(nota.get("nfe"))
654
+ status_nf_emsys = await get_status_nf_emsys(nf_chave_acesso)
655
+ if status_nf_emsys.get("status") != "Lançada":
656
+
657
+ return RpaRetornoProcessoDTO(
658
+ sucesso=False,
659
+ retorno=f"Erro na validação de CFOP, foi encontrado mais de uma opção com a mesma informação",
660
+ status=RpaHistoricoStatusEnum.Falha,
661
+ )
662
+
663
+ except:
664
+ return RpaRetornoProcessoDTO(
665
+ sucesso=False,
666
+ retorno=f"Erro ao alterar o NOP",
667
+ status=RpaHistoricoStatusEnum.Falha,
668
+ )
669
+
579
670
  await worker_sleep(3)
580
671
  retorno = False
581
672
  try:
@@ -588,10 +679,11 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
588
679
  break
589
680
  else:
590
681
  console.print(f"Aguardando confirmação de nota incluida...\n")
591
- await worker_sleep(5)
682
+ await worker_sleep(4)
592
683
  i += 1
593
684
 
594
685
  information_pop_up = await is_window_open("Information")
686
+
595
687
  if information_pop_up["IsOpened"] == True:
596
688
  app = Application().connect(class_name="TFrmNotaFiscalEntrada")
597
689
  main_window = app["Information"]
@@ -645,6 +737,7 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
645
737
  )
646
738
  else:
647
739
  console.print(f"Aba Information não encontrada")
740
+ print("romero brito?")
648
741
  retorno = await verify_nf_incuded()
649
742
 
650
743
  except Exception as e:
@@ -655,6 +748,9 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
655
748
  status=RpaHistoricoStatusEnum.Falha,
656
749
  )
657
750
 
751
+ await emsys.verify_warning_and_error("Aviso", "OK")
752
+ await emsys.verify_warning_and_error("Aviso", "&OK")
753
+
658
754
  if retorno:
659
755
  console.print("\nNota lançada com sucesso...", style="bold green")
660
756
  await worker_sleep(6)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.402
3
+ Version: 0.4.403
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
@@ -44,7 +44,7 @@ worker_automate_hub/tasks/jobs/entrada_de_notas_32.py,sha256=0cneKY6bQU5neo3TKlG
44
44
  worker_automate_hub/tasks/jobs/entrada_de_notas_33.py,sha256=cR1a7Q61adYuCMCRxH71mxVnORvkeBbKZ8_dsnUNQ-g,31456
45
45
  worker_automate_hub/tasks/jobs/entrada_de_notas_34.py,sha256=iaSmtWTWlazHDtGp22yTV5J5rHDhUCbEaCAnpU7UWyM,31808
46
46
  worker_automate_hub/tasks/jobs/entrada_de_notas_36.py,sha256=vFkDcgJ9uxrMMLYdeONCMxh6_evnhgF1Sun5HEHAWa4,22716
47
- worker_automate_hub/tasks/jobs/entrada_de_notas_39.py,sha256=XkSEe6Y2S5Zf8Eq619dC_rPmzwKiNTRv3iYiZLokWdA,28772
47
+ worker_automate_hub/tasks/jobs/entrada_de_notas_39.py,sha256=YMXbcQ-IXimJzH8npsGO3525aBrjSSsiiD-TlLdlURo,32664
48
48
  worker_automate_hub/tasks/jobs/entrada_de_notas_500.py,sha256=ryl5AZ2617aROSVcS-N5wQIBlFQ1Bp0khUH9fP4DOzU,26542
49
49
  worker_automate_hub/tasks/jobs/entrada_de_notas_505.py,sha256=jIml8gjXPdI6_x7S9VVV8IrKZRF7_PTNOMnhNmYMDTU,14490
50
50
  worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py,sha256=8XP9G3n0PUeshbRWkWKOMnyUGRWspIolPZVqQTR3SMI,14184
@@ -67,7 +67,7 @@ worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbV
67
67
  worker_automate_hub/utils/util.py,sha256=YCbgMMBwhp9LD6NUmE5S2K6S12TNEpGJm25FqfsIKPE,119544
68
68
  worker_automate_hub/utils/utils_nfe_entrada.py,sha256=yQFyDzvXPSO-UYV1m38WLJ3AWQgZYcyUkHZdCKE1jG4,28360
69
69
  worker_automate_hub/worker.py,sha256=KDBU3L2kVobndrnN5coRZFTwVmBLKmPJjRv20sCo5Hc,4697
70
- worker_automate_hub-0.4.402.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
- worker_automate_hub-0.4.402.dist-info/METADATA,sha256=EW9ULnqpLbB3Q9JP8Ly0jsxvHzOLXdH-wmDfNXFBA2U,2895
72
- worker_automate_hub-0.4.402.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
- worker_automate_hub-0.4.402.dist-info/RECORD,,
70
+ worker_automate_hub-0.4.403.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
+ worker_automate_hub-0.4.403.dist-info/METADATA,sha256=IN1TuqG_rz_vigeyb-kIbf32zEusW-lXw_U3D7lFKwk,2895
72
+ worker_automate_hub-0.4.403.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
+ worker_automate_hub-0.4.403.dist-info/RECORD,,