worker-automate-hub 0.4.346__tar.gz → 0.4.349__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/PKG-INFO +1 -1
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/pyproject.toml +1 -1
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +21 -56
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/sped_fiscal.py +45 -28
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/util.py +79 -35
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/README.md +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/ahead_service.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/client.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/helpers/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/rpa_historico_service.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/cli.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/config/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/config/settings.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/config.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/core/so_manipulation.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/deprecation.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/rate_limit.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/repeat.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/retry.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/singleton.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/timeit.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dao/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dto/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/playground.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/task_definitions.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/task_executor.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/__init__.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/env.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/logger.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/toast.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/updater.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
- {worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/worker.py +0 -0
@@ -320,7 +320,6 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
|
|
320
320
|
# VERIFICANDO A EXISTENCIA DE ERRO
|
321
321
|
erro_pop_up = await is_window_open("Erro")
|
322
322
|
if erro_pop_up["IsOpened"] == True:
|
323
|
-
console.print("Aveia")
|
324
323
|
return RpaRetornoProcessoDTO(
|
325
324
|
sucesso=False,
|
326
325
|
retorno="Nota não encontrada no EMsys",
|
@@ -341,7 +340,6 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
|
|
341
340
|
i += 1
|
342
341
|
|
343
342
|
if i >= max_attempts:
|
344
|
-
console.print("batata")
|
345
343
|
return RpaRetornoProcessoDTO(
|
346
344
|
sucesso=False,
|
347
345
|
retorno="Nota não encontrada no EMsys",
|
@@ -350,67 +348,35 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
|
|
350
348
|
|
351
349
|
await worker_sleep(10)
|
352
350
|
|
353
|
-
|
351
|
+
if nota.get("existeDespesa") != "Não":
|
352
|
+
app = Application().connect(
|
354
353
|
title="Informações para importação da Nota Fiscal Eletrônica"
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
# Configurar Tipo de Despesa com base no fornecedor e natureza
|
359
|
-
fornecedor = nota.get("nomeFornecedor", "").lower()
|
360
|
-
natureza = nota.get("natureza", "")
|
361
|
-
despesa = None
|
362
|
-
|
363
|
-
if "brs" in fornecedor and natureza == "33":
|
364
|
-
despesa = "192"
|
365
|
-
elif "ataca" in fornecedor and natureza == "32":
|
366
|
-
despesa = "15"
|
367
|
-
elif "hygia" in fornecedor and natureza == "34":
|
368
|
-
despesa = "193"
|
369
|
-
|
370
|
-
if despesa is not None:
|
354
|
+
)
|
355
|
+
main_window = app["Informações para importação da Nota Fiscal Eletrônica"]
|
371
356
|
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
)
|
357
|
+
combo_box_natureza_operacao = main_window.child_window(
|
358
|
+
class_name="TDBIComboBox", found_index=0
|
359
|
+
)
|
360
|
+
combo_box_natureza_operacao.click()
|
361
|
+
await worker_sleep(4)
|
362
|
+
set_combobox("||List", "1152-ENTRADA P/TRANSFERENCIA MERCADORIA S/EST")
|
363
|
+
await worker_sleep(3)
|
380
364
|
|
381
|
-
|
382
|
-
console.print("Configurando ICMS...\n")
|
383
|
-
cod_icms_work = await cod_icms("33")
|
384
|
-
if not cod_icms_work.sucesso:
|
385
|
-
return RpaRetornoProcessoDTO(
|
386
|
-
sucesso=False,
|
387
|
-
retorno=f"Erro ao configurar Código ICMS: {cod_icms_work.retorno}",
|
388
|
-
status=RpaHistoricoStatusEnum.Falha,
|
389
|
-
)
|
365
|
+
pyautogui.hotkey("tab")
|
390
366
|
|
391
|
-
|
392
|
-
|
367
|
+
despesa = "291"
|
368
|
+
tipo_despesa_work = await tipo_despesa(despesa)
|
369
|
+
if tipo_despesa_work.sucesso == True:
|
370
|
+
console.log(tipo_despesa_work.retorno, style="bold green")
|
371
|
+
else:
|
393
372
|
return RpaRetornoProcessoDTO(
|
394
373
|
sucesso=False,
|
395
|
-
retorno=
|
374
|
+
retorno=tipo_despesa_work.retorno,
|
396
375
|
status=RpaHistoricoStatusEnum.Falha,
|
397
376
|
)
|
398
377
|
|
399
|
-
|
400
|
-
|
401
|
-
try:
|
402
|
-
checkbox_natureza = main_window.child_window(
|
403
|
-
title="Manter Natureza de Operação selecionada", class_name="TDBICheckBox"
|
404
|
-
)
|
405
|
-
if not checkbox_natureza.get_toggle_state():
|
406
|
-
checkbox_natureza.click()
|
407
|
-
console.print("'Manter Natureza de Operação selecionada' foi marcado com sucesso.\n")
|
408
|
-
except Exception as e:
|
409
|
-
return RpaRetornoProcessoDTO(
|
410
|
-
sucesso=False,
|
411
|
-
retorno=f"Erro ao selecionar 'Manter Natureza de Operação selecionada': {e}",
|
412
|
-
status=RpaHistoricoStatusEnum.Falha,
|
413
|
-
)
|
378
|
+
pyautogui.click(709, 669)
|
379
|
+
|
414
380
|
|
415
381
|
console.print("Clicando em OK... \n")
|
416
382
|
|
@@ -423,8 +389,7 @@ async def entrada_de_notas_39(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
|
|
423
389
|
btn_ok = main_window.child_window(title="Ok")
|
424
390
|
btn_ok.click()
|
425
391
|
except:
|
426
|
-
|
427
|
-
btn_ok.click()
|
392
|
+
pyautogui.click(1093,728)
|
428
393
|
except:
|
429
394
|
console.print("Não foi possivel clicar no Botão OK... \n")
|
430
395
|
|
@@ -27,11 +27,11 @@ from worker_automate_hub.utils.logger import logger
|
|
27
27
|
from worker_automate_hub.utils.util import (
|
28
28
|
is_window_open,
|
29
29
|
is_window_open_by_class,
|
30
|
-
kill_process,
|
31
30
|
login_emsys_fiscal,
|
32
31
|
set_variable,
|
33
32
|
type_text_into_field,
|
34
33
|
worker_sleep,
|
34
|
+
kill_all_emsys,
|
35
35
|
)
|
36
36
|
|
37
37
|
pyautogui.PAUSE = 0.5
|
@@ -55,7 +55,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
55
55
|
set_variable("timeout_multiplicador", multiplicador_timeout)
|
56
56
|
|
57
57
|
# Fecha a instancia do emsys - caso esteja aberta
|
58
|
-
await
|
58
|
+
await kill_all_emsys()
|
59
59
|
|
60
60
|
app = Application(backend="win32").start("C:\\Rezende\\EMSys3\\EMSysFiscal.exe")
|
61
61
|
warnings.filterwarnings(
|
@@ -75,7 +75,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
75
75
|
status=RpaHistoricoStatusEnum.Falha,
|
76
76
|
)
|
77
77
|
|
78
|
-
|
78
|
+
|
79
79
|
return_login = await login_emsys_fiscal(config.conConfiguracao, app, task)
|
80
80
|
if return_login.sucesso == True:
|
81
81
|
type_text_into_field(
|
@@ -141,14 +141,14 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
141
141
|
console.print("Inserindo o período para geração do sped...\n")
|
142
142
|
periodo = panel_TTabSheet.child_window(class_name="TDBIEditDate", found_index=2)
|
143
143
|
periodo.set_edit_text(periodo_dt)
|
144
|
-
await worker_sleep(
|
144
|
+
await worker_sleep(2)
|
145
145
|
|
146
146
|
console.print("Selecionando a opção Gerar E115...\n")
|
147
147
|
checkbox_gerar_e115 = main_window.child_window(class_name="TDBICheckBox", found_index=8)
|
148
148
|
if not checkbox_gerar_e115.get_toggle_state() == 1:
|
149
149
|
checkbox_gerar_e115.click()
|
150
150
|
console.print("Selecionado com sucesso... \n")
|
151
|
-
await worker_sleep(
|
151
|
+
await worker_sleep(2)
|
152
152
|
|
153
153
|
|
154
154
|
console.print("Selecionando a opção Gerar valores zerados para notas de cfop 5929 e 6929...\n")
|
@@ -156,14 +156,14 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
156
156
|
if not checkbox_gerar_cfop.get_toggle_state() == 1:
|
157
157
|
checkbox_gerar_cfop.click()
|
158
158
|
console.print("Selecionado com sucesso... \n")
|
159
|
-
await worker_sleep(
|
159
|
+
await worker_sleep(2)
|
160
160
|
|
161
161
|
console.print("Selecionando a opção Gerar valores zerados para IPI...\n")
|
162
162
|
checkbox_valores_ipi = main_window.child_window(class_name="TCheckBox", found_index=1)
|
163
163
|
if not checkbox_valores_ipi.get_toggle_state() == 1:
|
164
164
|
checkbox_valores_ipi.click()
|
165
165
|
console.print("Selecionado com sucesso... \n")
|
166
|
-
await worker_sleep(
|
166
|
+
await worker_sleep(2)
|
167
167
|
|
168
168
|
|
169
169
|
console.print("Gerar valores zerados para Base ST e Icms ST...\n")
|
@@ -171,7 +171,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
171
171
|
if not checkbox_gerar_base_ct_icms_st.get_toggle_state() == 1:
|
172
172
|
checkbox_gerar_base_ct_icms_st.click()
|
173
173
|
console.print("Selecionado com sucesso... \n")
|
174
|
-
await worker_sleep(
|
174
|
+
await worker_sleep(2)
|
175
175
|
|
176
176
|
console.print("Todos os campos selecionados com sucesso, seguindo para geração do Sped Fiscal...\n")
|
177
177
|
except Exception as e:
|
@@ -214,35 +214,45 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
214
214
|
retorno=f"Não foi possivel seguir pois não foi fois possivel interagir com o botão de gerar sped na tela Gerar Sped Fiscal,Error: {e}",
|
215
215
|
status=RpaHistoricoStatusEnum.Falha,
|
216
216
|
)
|
217
|
+
|
218
|
+
console.print(f"Verificando sem possui o pop-up de Registro de Entrada... \n")
|
219
|
+
registro_entrada_pop_up_class = await is_window_open_by_class("TMsgBox")
|
220
|
+
if registro_entrada_pop_up_class == True:
|
221
|
+
console.print(f"Pop-up existe, clicando em Sim... \n")
|
222
|
+
app = Application(backend="win32").connect(class_name="TMsgBox", timeout=30)
|
223
|
+
main_window = app["TMsgBox"]
|
224
|
+
btn_sim = main_window["Sim"]
|
225
|
+
if btn_sim.exists():
|
226
|
+
try:
|
227
|
+
btn_sim.click()
|
228
|
+
await worker_sleep(3)
|
229
|
+
console.print("O botão Sim, na tela de Registro de Entrada foi clicado com sucesso.", style="green")
|
230
|
+
except:
|
231
|
+
console.print("Falha ao clicar no botão Sim na tela de Registro de Entrada", style="red")
|
232
|
+
else:
|
233
|
+
return RpaRetornoProcessoDTO(
|
234
|
+
sucesso=False,
|
235
|
+
retorno=f"Erro: Botão Sim, na tela de Registro de Entrada",
|
236
|
+
status=RpaHistoricoStatusEnum.Falha,
|
237
|
+
)
|
217
238
|
|
218
239
|
|
219
240
|
max_attempts = 75
|
220
241
|
i = 0
|
221
242
|
while i < max_attempts:
|
222
243
|
aviso_gerando_sped_full_path = "assets\\entrada_notas\\gerando_sped_fiscal.png.png"
|
223
|
-
sped_gerado_element = False
|
224
|
-
sped_gerado_ui = False
|
225
244
|
try:
|
226
245
|
aviso_gerando_sped_full_path = pyautogui.locateCenterOnScreen(aviso_gerando_sped_full_path, confidence=0.6)
|
227
246
|
if aviso_gerando_sped_full_path:
|
228
247
|
console.print(f"Gerando o arquivo Sped Fiscal...\n")
|
248
|
+
i += 1
|
249
|
+
console.print(f"Gerando o arquivo Sped Fiscal, Tentativa {i}/{max_attempts}: Aguarde mais 120 segundos...\n")
|
250
|
+
await worker_sleep(120)
|
229
251
|
else:
|
230
|
-
|
252
|
+
break
|
231
253
|
except:
|
232
254
|
console.print(f"Tela de gerando sped não encontrada, verificando via elemento para dupla confirmação...\n")
|
233
|
-
|
234
|
-
|
235
|
-
aguardar_sped = await is_window_open_by_class("TFrmAguarde", "TFrmAguarde")
|
236
|
-
if aguardar_sped["IsOpened"] == False:
|
237
|
-
sped_gerado_element = True
|
238
|
-
|
239
|
-
if sped_gerado_element and sped_gerado_ui:
|
240
|
-
console.print("Confirmação dupla: Nenhum indicador de SPED em progresso encontrado. Saindo do loop...\n")
|
241
|
-
break
|
242
|
-
else:
|
243
|
-
i += 1
|
244
|
-
console.print(f"Gerando o arquivo Sped Fiscal, Tentativa {i}/{max_attempts}: Aguarde mais 120 segundos...\n")
|
245
|
-
await worker_sleep(120)
|
255
|
+
break
|
246
256
|
|
247
257
|
|
248
258
|
# Verificando se possui pop-up de Aviso
|
@@ -316,17 +326,24 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
316
326
|
# Verifica se a info 'Arquivo do SPED gerado com sucesso' está na tela
|
317
327
|
await worker_sleep(6)
|
318
328
|
try:
|
319
|
-
max_attempts =
|
329
|
+
max_attempts = 30
|
320
330
|
i = 0
|
321
331
|
|
322
332
|
while i < max_attempts:
|
323
|
-
|
324
|
-
if
|
333
|
+
information_pop_up_class = await is_window_open_by_class("TMsgBox", "TMsgBox")
|
334
|
+
if information_pop_up_class == True:
|
325
335
|
break
|
326
336
|
else:
|
327
|
-
console.print(f"Aguardando confirmação de
|
337
|
+
console.print(f"Aguardando confirmação de sped finalizado...\n")
|
328
338
|
await worker_sleep(5)
|
329
339
|
i += 1
|
340
|
+
|
341
|
+
if i >= max_attempts:
|
342
|
+
return RpaRetornoProcessoDTO(
|
343
|
+
sucesso=False,
|
344
|
+
retorno="Não foi possivel obter o retorno de conclusão do SPED",
|
345
|
+
status=RpaHistoricoStatusEnum.Falha,
|
346
|
+
)
|
330
347
|
|
331
348
|
app = Application().connect(class_name="TMsgBox")
|
332
349
|
main_window = app["Informação"]
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/util.py
RENAMED
@@ -312,6 +312,7 @@ async def login_emsys_fiscal(
|
|
312
312
|
)
|
313
313
|
|
314
314
|
filial_cod = task.configEntrada.get("empresa")
|
315
|
+
console.print(f'Empresa a ser processada: {filial_cod}')
|
315
316
|
|
316
317
|
try:
|
317
318
|
console.print("\nEMSys Fiscal inciado com sucesso...", style="bold green")
|
@@ -339,48 +340,51 @@ async def login_emsys_fiscal(
|
|
339
340
|
|
340
341
|
|
341
342
|
await worker_sleep(2)
|
342
|
-
|
343
|
+
edit_password.type_keys("{ENTER}")
|
344
|
+
await worker_sleep(6)
|
343
345
|
|
344
|
-
# Seleciona a filial do emsys
|
345
|
-
console.print("Seleciona a filial do emsys...")
|
346
|
-
selecao_filial = await find_element_center(
|
347
|
-
"assets/emsys/selecao_filial.png", (480, 590, 820, 740), 15
|
348
|
-
)
|
349
346
|
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
347
|
+
max_attempts = 15
|
348
|
+
i = 0
|
349
|
+
while i < max_attempts:
|
350
|
+
selecionar_empresa = await is_window_open_by_class("TFrmSelecaoEmpresa", "TFrmSelecaoEmpresa")
|
351
|
+
if selecionar_empresa["IsOpened"] == True:
|
352
|
+
console.print("janela para gerar seleção da empresa foi aberta com sucesso...\n")
|
353
|
+
break
|
354
|
+
else:
|
355
|
+
warning_pop_up = await is_window_open("Warning")
|
356
|
+
information_pop = await is_window_open("Information")
|
357
|
+
if warning_pop_up["IsOpened"] == True or information_pop == True:
|
358
|
+
return RpaRetornoProcessoDTO(
|
359
|
+
sucesso=False,
|
360
|
+
retorno="Pop-up Warning/Information ao tentar realizar login",
|
361
|
+
status=RpaHistoricoStatusEnum.Falha,
|
362
|
+
)
|
363
|
+
else:
|
364
|
+
edit_password.type_keys("{ENTER}")
|
365
|
+
await worker_sleep(1)
|
366
|
+
i = i+1
|
367
|
+
|
368
|
+
if i >= max_attempts:
|
369
|
+
return RpaRetornoProcessoDTO(
|
370
|
+
sucesso=False,
|
371
|
+
retorno="Erro ao abrir a janela para seleção da empresa, tela não encontrada",
|
372
|
+
status=RpaHistoricoStatusEnum.Falha,
|
358
373
|
)
|
359
|
-
if selecao_filial == None:
|
360
|
-
selecao_filial = (700, 639)
|
361
|
-
console.print(f"Selecao filial posição fixa: {selecao_filial}")
|
362
374
|
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
375
|
+
# Seleciona a filial do emsys
|
376
|
+
console.print("Seleciona a filial do emsys...")
|
377
|
+
app = Application().connect(class_name="TFrmSelecaoEmpresa")
|
378
|
+
main_window = app["TFrmSelecaoEmpresa"]
|
379
|
+
main_window.set_focus()
|
367
380
|
|
368
|
-
|
369
|
-
|
370
|
-
)
|
381
|
+
edit_user = main_window.child_window(class_name="TEdit", found_index=0)
|
382
|
+
edit_user.set_edit_text(filial_cod)
|
371
383
|
|
372
|
-
|
373
|
-
|
374
|
-
f"Escrevendo [{filial_cod}] no campo filial..."
|
375
|
-
)
|
376
|
-
type_text_into_field(
|
377
|
-
task.configEntrada.get("Código da Filial"),
|
378
|
-
app["Seleção de Empresas"]["Edit"],
|
379
|
-
True,
|
380
|
-
"50",
|
381
|
-
)
|
382
|
-
pyautogui.press("enter")
|
384
|
+
await worker_sleep(2)
|
385
|
+
edit_password.type_keys("{ENTER}")
|
383
386
|
|
387
|
+
|
384
388
|
await worker_sleep(5)
|
385
389
|
console.print(
|
386
390
|
f"Verificando a presença de Warning..."
|
@@ -392,6 +396,29 @@ async def login_emsys_fiscal(
|
|
392
396
|
retorno=f"Erro: Não foi possível acessar a filial {filial_cod}, esta com o CNPJ bloqueado, por favor verificar",
|
393
397
|
status=RpaHistoricoStatusEnum.Falha,
|
394
398
|
)
|
399
|
+
|
400
|
+
information_pop_up = await is_window_open_by_class("TMessageForm","TMessageForm")
|
401
|
+
if information_pop_up["IsOpened"] == True:
|
402
|
+
app_information = Application().connect(
|
403
|
+
class_name="TMessageForm"
|
404
|
+
)
|
405
|
+
main_window_information = app_information["TMessageForm"]
|
406
|
+
main_window.set_focus()
|
407
|
+
await worker_sleep(2)
|
408
|
+
btn_no = main_window_information["&No"]
|
409
|
+
if btn_no.exists():
|
410
|
+
try:
|
411
|
+
btn_no.click()
|
412
|
+
await worker_sleep(3)
|
413
|
+
console.print("O botão No após selecionar a filiam na seleção de empresa foi clicado com sucesso.", style="green")
|
414
|
+
except:
|
415
|
+
console.print("Falha ao clicar no botão No após selecionar a filiam na seleção de empresa", style="red")
|
416
|
+
else:
|
417
|
+
return RpaRetornoProcessoDTO(
|
418
|
+
sucesso=False,
|
419
|
+
retorno=f"Erro: Botão No, nao existe no pop-up information após a seleção da filial da empresa",
|
420
|
+
status=RpaHistoricoStatusEnum.Falha,
|
421
|
+
)
|
395
422
|
|
396
423
|
max_attempts = 10
|
397
424
|
i = 0
|
@@ -3102,4 +3129,21 @@ async def check_nota_importada(xml_nota: str) -> RpaRetornoProcessoDTO:
|
|
3102
3129
|
sucesso=False,
|
3103
3130
|
retorno=f"Erro em obter o retorno, Nota inserida com sucesso, erro {e}",
|
3104
3131
|
status=RpaHistoricoStatusEnum.Falha,
|
3132
|
+
)
|
3133
|
+
|
3134
|
+
|
3135
|
+
async def kill_all_emsys():
|
3136
|
+
try:
|
3137
|
+
await kill_process("EMSysFiscal")
|
3138
|
+
await kill_process("EMSys")
|
3139
|
+
return RpaRetornoProcessoDTO(
|
3140
|
+
sucesso=True,
|
3141
|
+
retorno=f"EMSys encerrado com sucesso",
|
3142
|
+
status=RpaHistoricoStatusEnum.Sucesso,
|
3143
|
+
)
|
3144
|
+
except Exception as e:
|
3145
|
+
return RpaRetornoProcessoDTO(
|
3146
|
+
sucesso=False,
|
3147
|
+
retorno=f"Erro ao fechar o emsys, erro{e}",
|
3148
|
+
status=RpaHistoricoStatusEnum.Falha,
|
3105
3149
|
)
|
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/ahead_service.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/api/client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/config/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/config/settings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/repeat.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/retry.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/decorators/timeit.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/models/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/tasks/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/__init__.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/env.py
RENAMED
File without changes
|
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/logger.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/toast.py
RENAMED
File without changes
|
{worker_automate_hub-0.4.346 → worker_automate_hub-0.4.349}/worker_automate_hub/utils/updater.py
RENAMED
File without changes
|
File without changes
|
File without changes
|