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

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,,