worker-automate-hub 0.4.401__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.
@@ -536,4 +536,4 @@ async def entrada_de_notas_16(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
536
536
  sucesso=False,
537
537
  retorno=observacao,
538
538
  status=RpaHistoricoStatusEnum.Falha,
539
- )
539
+ )
@@ -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)
@@ -172,7 +172,7 @@ class EMSys:
172
172
  console.log(f"item name: {item_value}")
173
173
 
174
174
  # Verifica se o item é 'isqueiro'
175
- if "isqueiro" or "acendedor" in item_value.lower():
175
+ if "isqueiro" in item_value.lower() or "acendedor" in item_value.lower():
176
176
  try:
177
177
  console.print(f"Trabalhando com os itens, alterando o código de tributação dos ISQUEIROS/ACENDEDORES para manual \n")
178
178
  console.print("Item encontrado: ISQUEIRO/ACENDEDORES. Processando...\n")
@@ -188,12 +188,23 @@ class EMSys:
188
188
  console.print(
189
189
  "Item não é isqueiro. Continuando para o próximo...\n"
190
190
  )
191
+ #Seleciona o IPI 0%
192
+ ipi_combobox = main_window.child_window(
193
+ class_name="TDBIComboBox", found_index=4
194
+ )
195
+ ipi_combobox.select("IPI 0%")
196
+
197
+ # Click Alterar
198
+ await worker_sleep(1)
199
+ pyautogui.click(1180, 776)
200
+ await worker_sleep(1)
201
+
191
202
  # Fecha a janela de alteração de item
192
- try:
193
- pyautogui.hotkey('esc')
194
- console.print("Apertando [ESC]", style="bold blue")
195
- except Exception as e:
196
- console.print(f"Erro ao cancelar edição de item: {e}", style="bold red")
203
+ # try:
204
+ # pyautogui.hotkey('esc')
205
+ # console.print("Apertando [ESC]", style="bold blue")
206
+ # except Exception as e:
207
+ # console.print(f"Erro ao cancelar edição de item: {e}", style="bold red")
197
208
  await worker_sleep(3)
198
209
 
199
210
  index_item_atual += 1
@@ -201,7 +212,8 @@ class EMSys:
201
212
  await worker_sleep(1)
202
213
  pyautogui.click(1083, 682)
203
214
 
204
- pyautogui.click(586, 328)
215
+
216
+ pyautogui.click(619, 377)
205
217
 
206
218
  except Exception as e:
207
219
  return {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: worker-automate-hub
3
- Version: 0.4.401
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
@@ -38,13 +38,13 @@ worker_automate_hub/tasks/jobs/ecac_estadual_sc.py,sha256=ZTjc4rS8J7VfWHPFLkJBcS
38
38
  worker_automate_hub/tasks/jobs/ecac_estadual_sp.py,sha256=iS6za_nGCzBRVCXYYuUTIyMWJznHp8l6BPahqwzc_5c,29102
39
39
  worker_automate_hub/tasks/jobs/ecac_federal.py,sha256=ORQbA4DCfyHJqjfvOCenc97QHvBCBlA3oMSzl59K6vg,55316
40
40
  worker_automate_hub/tasks/jobs/entrada_de_notas_15.py,sha256=5Rqz_kf-399nEA3s1_69MGOAn6Mk0GbdAP_0EFzAcYw,16570
41
- worker_automate_hub/tasks/jobs/entrada_de_notas_16.py,sha256=X6qeMEC1aH-0YKCe7aAEMmnstwhr89tkOVNnF1UBCVs,21131
41
+ worker_automate_hub/tasks/jobs/entrada_de_notas_16.py,sha256=t13fW63d52OwIUHaJrHY3qxIkd1LjHE_bHkSWqVhy3I,21129
42
42
  worker_automate_hub/tasks/jobs/entrada_de_notas_207.py,sha256=TfvGmH1__OGRx5oYordEJt-gpcETKA9OFhwHQD3yqs4,24928
43
43
  worker_automate_hub/tasks/jobs/entrada_de_notas_32.py,sha256=0cneKY6bQU5neo3TKlGynney_CoOB_J_dctFMYf26WM,32388
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
@@ -65,9 +65,9 @@ worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1
65
65
  worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
66
66
  worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
67
67
  worker_automate_hub/utils/util.py,sha256=YCbgMMBwhp9LD6NUmE5S2K6S12TNEpGJm25FqfsIKPE,119544
68
- worker_automate_hub/utils/utils_nfe_entrada.py,sha256=F5d1CF7O-epPKKXcf3eFGzQEZCT5cgfWHmXdqens3WQ,27900
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.401.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
71
- worker_automate_hub-0.4.401.dist-info/METADATA,sha256=X53Rk7u3_TwlrsE-dpRD29t1ZRd5-QeWwwbsNEyxVtk,2895
72
- worker_automate_hub-0.4.401.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
73
- worker_automate_hub-0.4.401.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,,