worker-automate-hub 0.5.453__py3-none-any.whl → 0.5.455__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.
@@ -7,16 +7,16 @@ from worker_automate_hub.models.dto.rpa_processo_entrada_dto import RpaProcessoE
7
7
  from worker_automate_hub.api.client import (
8
8
  get_config_by_name
9
9
  )
10
-
11
10
  from pywinauto import Application
12
11
  from rich.console import Console
13
- from worker_automate_hub.utils.util import is_window_open_by_class, kill_contabil_processes, kill_process, login_emsys_fiscal, type_text_into_field, worker_sleep, wait_window_close
12
+ from worker_automate_hub.utils.util import is_window_open_by_class, kill_contabil_processes, kill_process, login_emsys_fiscal, type_text_into_field, worker_sleep
14
13
  from worker_automate_hub.utils.utils_nfe_entrada import EMSys
15
14
  import pyperclip
16
15
  import warnings
17
16
  import asyncio
18
17
  from pytesseract import image_to_string
19
- from PIL import ImageEnhance, ImageFilter
18
+ from pywinauto import Desktop
19
+
20
20
  pyautogui.PAUSE = 0.5
21
21
  pyautogui.FAILSAFE = False
22
22
 
@@ -24,42 +24,33 @@ console = Console()
24
24
 
25
25
  emsys = EMSys()
26
26
 
27
- async def wait_aguarde_window_closed(app):
28
-
29
- app = Application().connect(class_name="TFrmAguardeSys", timeout=60)
30
-
31
- max_attempts = 60
32
- i = 0
33
-
34
- while i < max_attempts:
35
- try:
36
- main_window = app["TMessageForm"]
37
- console.print("Janela 'TMessageForm' encontrada!")
38
- break
39
- except Exception as e:
40
- console.print(f"Erro ao tentar acessar TMessageForm: {e}")
41
- janela_aguarde = await is_window_open_by_class(
42
- "TFrmAguardeSys", "TFrmAguardeSys"
43
- )
44
- if janela_aguarde["IsOpened"] == True:
45
- console.print(
46
- "Aguardando tela de aguarde desaparecer ou conectar...\n"
47
- )
48
- else:
49
- try:
50
- main_window = app["TMessageForm"]
51
- if main_window.exists():
52
- console.print("Janela 'TMessageForm' encontrada!")
53
- break
54
- except:
55
- return RpaRetornoProcessoDTO(
56
- sucesso=True,
57
- retorno="Tela de aguardar carregada - Seguindo com andamento do processo (NCM).",
58
- status=RpaHistoricoStatusEnum.Sucesso,
59
- )
27
+ async def wait_aguarde_window_closed():
28
+ sucesso = False
29
+ while not sucesso:
30
+ desktop = Desktop(backend="uia")
31
+ # Tenta localizar a janela com o título que contém "Aguarde"
32
+ window = desktop.window(title_re="Aguarde...")
33
+ # Se a janela existe, continua monitorando
34
+ if window.exists():
35
+ console.print(f"Janela 'Aguarde...' ainda aberta", style="bold yellow")
36
+ logger.info(f"Janela 'Aguarde...' ainda aberta")
37
+ await worker_sleep(5)
38
+ continue
39
+ else:
40
+ try:
41
+ desktop_second = Desktop(backend="uia")
42
+ window_aguarde = desktop_second.window(title_re="Aguarde...")
43
+ if not window_aguarde.exists():
44
+ sucesso = True
45
+ break
46
+ else:
47
+ console.print(f"Janela 'Aguarde...' ainda aberta. Seguindo para próxima tentativa", style="bold yellow")
48
+ continue
49
+ except:
50
+ console.print(f"Janela 'Aguarde...' não existe mais.", style="bold green")
51
+ await worker_sleep(5)
52
+ break
60
53
 
61
- await worker_sleep(5)
62
- i += 1
63
54
 
64
55
  def click_desconfirmar():
65
56
  cords = (675, 748)
@@ -107,6 +98,8 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
107
98
  )
108
99
  pyautogui.press("enter")
109
100
  await worker_sleep(2)
101
+ pyautogui.press("down")
102
+ await worker_sleep(2)
110
103
  pyautogui.press("enter")
111
104
  console.print(
112
105
  "\nPesquisa: 'Livros Fiscais' realizada com sucesso.",
@@ -166,8 +159,8 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
166
159
 
167
160
  # Esperando janela aguarde
168
161
  console.print("Aguardando tela de aguarde ser finalizada")
169
- await wait_aguarde_window_closed(app)
170
- await worker_sleep(3)
162
+ await wait_aguarde_window_closed()
163
+ await worker_sleep(10)
171
164
 
172
165
  console.print("Fechando possivel janela de aviso...")
173
166
  await emsys.verify_warning_and_error("Aviso", "&Ok")
@@ -184,8 +177,8 @@ async def abertura_livros_fiscais(task: RpaProcessoEntradaDTO) -> RpaRetornoProc
184
177
 
185
178
  # Esperando janela aguarde
186
179
  console.print("Aguardando tela de aguarde ser finalizada")
187
- await wait_aguarde_window_closed(app)
188
- await worker_sleep(5)
180
+ await wait_aguarde_window_closed()
181
+ await worker_sleep(10)
189
182
 
190
183
  await worker_sleep(2)
191
184
  # Clicando OK em janela de livro incluido
@@ -4050,7 +4050,27 @@ async def devolucao_ctf(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
4050
4050
  tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
4051
4051
  )
4052
4052
  else:
4053
+ console.print("Valores no relatorio não batem...\n")
4054
+ with open(f"{path_to_txt}.pdf", 'rb') as file:
4055
+ file_bytes = io.BytesIO(file.read())
4056
+
4057
+ timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
4058
+ desArquivo = f"CAIXA 13 DEVOLUCAO {numero_cupom_fiscal}.pdf"
4059
+ await send_file(historico_id, desArquivo, "pdf", file_bytes, file_extension="pdf")
4053
4060
  os.remove(f"{path_to_txt}.pdf")
4061
+ retorno = f"Processo de devolução executado com sucesso \nEtapas Executadas:\n{steps}"
4062
+
4063
+ try:
4064
+ url_retorno = nota.get("urlRetorno")
4065
+ identificador = nota.get("identificador")
4066
+
4067
+ if url_retorno and identificador:
4068
+ await post_partner(url_retorno, identificador, numero_nota_fiscal, valor_nota_fiscal)
4069
+ else:
4070
+ console.print("Não foi possivel obter o valor de urlRetorno/identificador")
4071
+ except:
4072
+ console.print(f"Erro ao obter os dados ou enviar a requisição: {e}")
4073
+
4054
4074
  return RpaRetornoProcessoDTO(
4055
4075
  sucesso=False,
4056
4076
  retorno=f"O valor de entrada {penultimo_valor} não esta batendo com o valor de saída {ultimo_valor}, por favor verificar. \nEtapas Executadas:\n{steps}",
@@ -4058,6 +4078,7 @@ async def devolucao_ctf(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
4058
4078
  tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
4059
4079
  )
4060
4080
 
4081
+
4061
4082
  except Exception as ex:
4062
4083
  retorno = f"Erro Processo Devolução Prazo a Faturar: {str(ex)} \nEtapas Executadas:\n{steps}"
4063
4084
  logger.error(retorno)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: worker-automate-hub
3
- Version: 0.5.453
3
+ Version: 0.5.455
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
@@ -36,13 +36,13 @@ worker_automate_hub/models/dto/rpa_sap_dto.py,sha256=eovdvKCtVIhRct3PL98KjsdlngL
36
36
  worker_automate_hub/models/dto/rpa_sistema_dto.py,sha256=sLkmJei8x6sl-1-IXUKDmYQuKx0sotYQREPyhQqPmRg,161
37
37
  worker_automate_hub/tasks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  worker_automate_hub/tasks/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py,sha256=5nTwcYxF4QcFkprPSkUQHmQ3aEARps0-BXxeD_JdAJA,11153
39
+ worker_automate_hub/tasks/jobs/abertura_livros_fiscais.py,sha256=waXwEI7dN3ecJV2brF1-sgiFZ5uEwgg1N46VvnWmd5w,11018
40
40
  worker_automate_hub/tasks/jobs/coleta_dje_process.py,sha256=UkLWTC5Ub2qBb0yY-8IZ0DLLOVJOfNTq_z9krx_t25Q,29476
41
41
  worker_automate_hub/tasks/jobs/conexao_rdp.py,sha256=S6QC4xhuo0pB5FjaUJZNMm1LIgEjpjifReCTBDqxH-U,11719
42
42
  worker_automate_hub/tasks/jobs/cte_manual.py,sha256=JucHpRMjMiy-QEJ0wtFnytLpN53tKXgCDI05nGLGclU,603
43
43
  worker_automate_hub/tasks/jobs/descartes.py,sha256=2zODOekSJSr7nuO9sUzT_F3YeG7N5EHuxnp05RguirE,41361
44
44
  worker_automate_hub/tasks/jobs/despesas_cte.py,sha256=TWbjBMZjYDugiqYUa_1DtCAUWOyVetoZI2SPs7AdDNc,13264
45
- worker_automate_hub/tasks/jobs/devolucao_ctf.py,sha256=sY27sUg8FMCC4SNXGlV7AFyOIo3PuhT8LXi2GcA4hBQ,237251
45
+ worker_automate_hub/tasks/jobs/devolucao_ctf.py,sha256=qfH5sYW8FH1wotAO57HzqITlzxi1Qjs6COPIDj12x3s,238299
46
46
  worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py,sha256=byIk02T4fWCVgKisf50ZAEY26d8FMTlX9S7RnQVtoEE,256763
47
47
  worker_automate_hub/tasks/jobs/ecac_estadual_go.py,sha256=dKkf22nH5gp3RErq5u0UzRsKyJ81fc6ZZ4vLtUuMwHA,21002
48
48
  worker_automate_hub/tasks/jobs/ecac_estadual_main.py,sha256=8WmKe4-MRtzHobXz2S4YBDNN8alfawkC-BBlRY-mn1g,1726
@@ -88,7 +88,7 @@ worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbV
88
88
  worker_automate_hub/utils/util.py,sha256=hbO8PAsm_WxdiLyZSrY0_JeFKynHHJE_413odoL6ZBY,187178
89
89
  worker_automate_hub/utils/utils_nfe_entrada.py,sha256=wmnpuOesmPSryZszmapa37b9YNC0E2MkeDYnbwr-0rU,33315
90
90
  worker_automate_hub/worker.py,sha256=axdrr1xLTjWEyWfcyH3OCSpPTsyzck_fL_0u1DBLjvw,6525
91
- worker_automate_hub-0.5.453.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
92
- worker_automate_hub-0.5.453.dist-info/METADATA,sha256=cWGasSghEGD0MQ2AiETrkWWwiePJnfTzdgHkx4fTue0,3012
93
- worker_automate_hub-0.5.453.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
94
- worker_automate_hub-0.5.453.dist-info/RECORD,,
91
+ worker_automate_hub-0.5.455.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
92
+ worker_automate_hub-0.5.455.dist-info/METADATA,sha256=4rS49QiL17e0FvMXiiGpySrWFxoUs579kUSPyoK_e3w,3012
93
+ worker_automate_hub-0.5.455.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
94
+ worker_automate_hub-0.5.455.dist-info/RECORD,,