worker-automate-hub 0.5.16__py3-none-any.whl → 0.5.18__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of worker-automate-hub might be problematic. Click here for more details.

Files changed (35) hide show
  1. worker_automate_hub/tasks/jobs/coleta_dje_process.py +12 -0
  2. worker_automate_hub/tasks/jobs/conexao_rdp.py +4 -4
  3. worker_automate_hub/tasks/jobs/descartes.py +21 -18
  4. worker_automate_hub/tasks/jobs/ecac_estadual_go.py +8 -6
  5. worker_automate_hub/tasks/jobs/ecac_estadual_main.py +4 -2
  6. worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +8 -6
  7. worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +5 -3
  8. worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +9 -7
  9. worker_automate_hub/tasks/jobs/ecac_federal.py +11 -8
  10. worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +14 -12
  11. worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +19 -11
  12. worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +23 -11
  13. worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +63 -32
  14. worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +56 -28
  15. worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +54 -38
  16. worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +35 -21
  17. worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +53 -28
  18. worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +40 -14
  19. worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +28 -14
  20. worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +18 -12
  21. worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +40 -13
  22. worker_automate_hub/tasks/jobs/exemplo_processo.py +3 -0
  23. worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +3 -3
  24. worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +9 -7
  25. worker_automate_hub/tasks/jobs/login_emsys.py +2 -1
  26. worker_automate_hub/tasks/jobs/playground.py +4 -0
  27. worker_automate_hub/tasks/jobs/sped_fiscal.py +24 -0
  28. worker_automate_hub/tasks/jobs/transferencias.py +28 -26
  29. worker_automate_hub/tasks/task_executor.py +3 -0
  30. worker_automate_hub/utils/util.py +148 -141
  31. worker_automate_hub/utils/utils_nfe_entrada.py +10 -0
  32. {worker_automate_hub-0.5.16.dist-info → worker_automate_hub-0.5.18.dist-info}/METADATA +1 -1
  33. {worker_automate_hub-0.5.16.dist-info → worker_automate_hub-0.5.18.dist-info}/RECORD +35 -35
  34. {worker_automate_hub-0.5.16.dist-info → worker_automate_hub-0.5.18.dist-info}/WHEEL +0 -0
  35. {worker_automate_hub-0.5.16.dist-info → worker_automate_hub-0.5.18.dist-info}/entry_points.txt +0 -0
@@ -23,6 +23,8 @@ from worker_automate_hub.api.client import (
23
23
  from worker_automate_hub.models.dto.rpa_historico_request_dto import (
24
24
  RpaHistoricoStatusEnum,
25
25
  RpaRetornoProcessoDTO,
26
+ RpaTagDTO,
27
+ RpaTagEnum,
26
28
  )
27
29
  from worker_automate_hub.models.dto.rpa_processo_entrada_dto import (
28
30
  RpaProcessoEntradaDTO,
@@ -117,6 +119,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
117
119
  sucesso=False,
118
120
  retorno=document_type.retorno,
119
121
  status=RpaHistoricoStatusEnum.Falha,
122
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
120
123
  )
121
124
 
122
125
  await worker_sleep(4)
@@ -130,6 +133,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
130
133
  sucesso=False,
131
134
  retorno=imported_nfe.retorno,
132
135
  status=RpaHistoricoStatusEnum.Falha,
136
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
133
137
  )
134
138
 
135
139
  await worker_sleep(5)
@@ -148,6 +152,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
148
152
  sucesso=False,
149
153
  retorno=warning_work.retorno,
150
154
  status=RpaHistoricoStatusEnum.Falha,
155
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
151
156
  )
152
157
 
153
158
  # VERIFICANDO A EXISTENCIA DE ERRO
@@ -187,6 +192,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
187
192
  sucesso=False,
188
193
  retorno=f"Erro mapeado, CFOP diferente de inicio com 540 ou 510, necessario ação manual ou ajuste no robo.",
189
194
  status=RpaHistoricoStatusEnum.Falha,
195
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
190
196
  )
191
197
 
192
198
  await worker_sleep(3)
@@ -214,6 +220,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
214
220
  sucesso=False,
215
221
  retorno=f"Erro ao iterar itens de almoxarifado: {e}",
216
222
  status=RpaHistoricoStatusEnum.Falha,
223
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
217
224
  )
218
225
 
219
226
  await worker_sleep(1)
@@ -229,6 +236,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
229
236
  sucesso=False,
230
237
  retorno=f"Fornecedor não mapeado para andamento no processo, forneceodr: {fornecedor}",
231
238
  status=RpaHistoricoStatusEnum.Falha,
239
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
232
240
  )
233
241
 
234
242
  tipo_despesa_work = await tipo_despesa(despesa)
@@ -239,6 +247,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
239
247
  sucesso=False,
240
248
  retorno=tipo_despesa_work.retorno,
241
249
  status=RpaHistoricoStatusEnum.Falha,
250
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
242
251
  )
243
252
 
244
253
  # INTERAGINDO COM O CHECKBOX ZERAR ICMS
@@ -250,6 +259,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
250
259
  sucesso=False,
251
260
  retorno=checkbox_zerar_icms.retorno,
252
261
  status=RpaHistoricoStatusEnum.Falha,
262
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
253
263
  )
254
264
 
255
265
  # INTERAGINDO COM O CAMPO DE CODIGO DO ICMS
@@ -261,6 +271,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
261
271
  sucesso=False,
262
272
  retorno=cod_icms_work.retorno,
263
273
  status=RpaHistoricoStatusEnum.Falha,
274
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
264
275
  )
265
276
 
266
277
  # INTERAGINDO COM O CAMPO Manter Natureza de Operação selecionada
@@ -321,24 +332,28 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
321
332
  sucesso=False,
322
333
  retorno="Número máximo de tentativas atingido, Não foi possivel finalizar os trabalhos na tela de Informações para importação da Nota Fiscal Eletrônica",
323
334
  status=RpaHistoricoStatusEnum.Falha,
335
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
324
336
  )
325
337
 
326
338
  await worker_sleep(10)
327
339
 
328
- console.print(
329
- "Verificando a existencia de POP-UP de Itens não localizados ou NCM ...\n"
330
- )
331
- itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
332
- if itens_by_supplier["IsOpened"] == True:
333
- itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
334
- if itens_by_supplier_work["window"] == "NCM" or itens_by_supplier_work["window"] == "MultiplasRef":
335
- console.log(itens_by_supplier_work["retorno"], style="bold green")
336
- else:
337
- return RpaRetornoProcessoDTO(
338
- sucesso=False,
339
- retorno=itens_by_supplier_work["retorno"],
340
- status=RpaHistoricoStatusEnum.Falha,
341
- )
340
+ try:
341
+ console.print("Verificando itens não localizados ou NCM...\n")
342
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
343
+
344
+ if itens_by_supplier["IsOpened"] == True:
345
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
346
+
347
+ if not itens_by_supplier_work.sucesso:
348
+ return itens_by_supplier_work
349
+
350
+ except Exception as error:
351
+ return RpaRetornoProcessoDTO(
352
+ sucesso=False,
353
+ retorno=f"Falha ao verificar a existência de POP-UP de itens não localizados: {error}",
354
+ status=RpaHistoricoStatusEnum.Falha,
355
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
356
+ )
342
357
 
343
358
  await worker_sleep(3)
344
359
  console.print(f"Trabalhando com itens com multiplas referencias.\n")
@@ -424,6 +439,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
424
439
  sucesso=False,
425
440
  retorno="Quantidade de tentativa atingida (3), não foi possivel capturar o item da nota com multiplas referencias para andamento no processo",
426
441
  status=RpaHistoricoStatusEnum.Falha,
442
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
427
443
  )
428
444
 
429
445
  console.print(
@@ -519,6 +535,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
519
535
  sucesso=False,
520
536
  retorno=f"Não foi possivel encontrar o item mais proximo ao item da nota com multiplas referencias {itens_nao_semelhantes}",
521
537
  status=RpaHistoricoStatusEnum.Falha,
538
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
522
539
  )
523
540
 
524
541
  # VERIFICANDO A EXISTENCIA DE ERRO
@@ -529,22 +546,26 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
529
546
  sucesso=False,
530
547
  retorno=error_work.retorno,
531
548
  status=RpaHistoricoStatusEnum.Falha,
549
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
532
550
  )
533
551
 
534
- console.print(
535
- "Verificando a existencia de POP-UP de Itens não localizados ou NCM ...\n"
536
- )
537
- itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
538
- if itens_by_supplier["IsOpened"] == True:
539
- itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
540
- if itens_by_supplier_work["window"] == "NCM":
541
- console.log(itens_by_supplier_work["retorno"], style="bold green")
542
- else:
543
- return RpaRetornoProcessoDTO(
544
- sucesso=False,
545
- retorno=f"{itens_by_supplier_work['retorno']}",
546
- status=RpaHistoricoStatusEnum.Falha,
547
- )
552
+ try:
553
+ console.print("Verificando itens não localizados ou NCM...\n")
554
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
555
+
556
+ if itens_by_supplier["IsOpened"] == True:
557
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
558
+
559
+ if not itens_by_supplier_work.sucesso:
560
+ return itens_by_supplier_work
561
+
562
+ except Exception as error:
563
+ return RpaRetornoProcessoDTO(
564
+ sucesso=False,
565
+ retorno=f"Falha ao verificar a existência de POP-UP de itens não localizados: {error}",
566
+ status=RpaHistoricoStatusEnum.Falha,
567
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
568
+ )
548
569
 
549
570
  await worker_sleep(2)
550
571
  console.print("Navegando pela Janela de Nota Fiscal de Entrada...\n")
@@ -621,6 +642,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
621
642
  sucesso=False,
622
643
  retorno=f"A soma dos pagamentos não bate com o valor da nota.",
623
644
  status=RpaHistoricoStatusEnum.Falha,
645
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
624
646
  )
625
647
  else:
626
648
  console.print(
@@ -654,6 +676,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
654
676
  sucesso=False,
655
677
  retorno=f"Número máximo de tentativas atingido. A tela para Rateio da Despesa não foi encontrada.",
656
678
  status=RpaHistoricoStatusEnum.Falha,
679
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
657
680
  )
658
681
 
659
682
  despesa_rateio_work = await rateio_despesa(filialEmpresaOrigem)
@@ -664,6 +687,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
664
687
  sucesso=False,
665
688
  retorno=despesa_rateio_work.retorno,
666
689
  status=RpaHistoricoStatusEnum.Falha,
690
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
667
691
  )
668
692
 
669
693
  # Verifica se a info 'Nota fiscal incluida' está na tela
@@ -711,12 +735,14 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
711
735
  sucesso=False,
712
736
  retorno=f"Filial: {filialEmpresaOrigem} está com o livro fechado ou encerrado, verificar com o setor fiscal",
713
737
  status=RpaHistoricoStatusEnum.Falha,
738
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
714
739
  )
715
740
  else:
716
741
  return RpaRetornoProcessoDTO(
717
742
  sucesso=False,
718
743
  retorno=f"Warning não mapeado para seguimento do robo, mensagem: {captured_text}",
719
744
  status=RpaHistoricoStatusEnum.Falha,
745
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
720
746
  )
721
747
 
722
748
  await worker_sleep(3)
@@ -739,6 +765,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
739
765
  sucesso=False,
740
766
  retorno=f"Pop-up nota incluida encontrada, porém nota não encontrada no EMSys - Reprocessar",
741
767
  status=RpaHistoricoStatusEnum.Falha,
768
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
742
769
  )
743
770
  else:
744
771
  console.print("Erro ao lançar nota", style="bold red")
@@ -746,6 +773,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
746
773
  sucesso=False,
747
774
  retorno=f"Erro ao lançar nota, erro: {nf_imported.retorno}",
748
775
  status=RpaHistoricoStatusEnum.Falha,
776
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
749
777
  )
750
778
 
751
779
  except Exception as ex:
@@ -23,6 +23,8 @@ from worker_automate_hub.api.client import (
23
23
  from worker_automate_hub.models.dto.rpa_historico_request_dto import (
24
24
  RpaHistoricoStatusEnum,
25
25
  RpaRetornoProcessoDTO,
26
+ RpaTagDTO,
27
+ RpaTagEnum,
26
28
  )
27
29
  from worker_automate_hub.models.dto.rpa_processo_entrada_dto import (
28
30
  RpaProcessoEntradaDTO,
@@ -117,6 +119,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
117
119
  sucesso=False,
118
120
  retorno=document_type.retorno,
119
121
  status=RpaHistoricoStatusEnum.Falha,
122
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
120
123
  )
121
124
 
122
125
  await worker_sleep(4)
@@ -130,6 +133,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
130
133
  sucesso=False,
131
134
  retorno=imported_nfe.retorno,
132
135
  status=RpaHistoricoStatusEnum.Falha,
136
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
133
137
  )
134
138
 
135
139
  await worker_sleep(5)
@@ -148,6 +152,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
148
152
  sucesso=False,
149
153
  retorno=warning_work.retorno,
150
154
  status=RpaHistoricoStatusEnum.Falha,
155
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
151
156
  )
152
157
 
153
158
  # VERIFICANDO A EXISTENCIA DE ERRO
@@ -187,6 +192,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
187
192
  sucesso=False,
188
193
  retorno=f"Erro mapeado, CFOP diferente de inicio com 540 ou 510, necessario ação manual ou ajuste no robo.",
189
194
  status=RpaHistoricoStatusEnum.Falha,
195
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
190
196
  )
191
197
 
192
198
  await worker_sleep(3)
@@ -214,6 +220,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
214
220
  sucesso=False,
215
221
  retorno=f"Erro ao iterar itens de almoxarifado: {e}",
216
222
  status=RpaHistoricoStatusEnum.Falha,
223
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
217
224
  )
218
225
 
219
226
  await worker_sleep(1)
@@ -229,6 +236,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
229
236
  sucesso=False,
230
237
  retorno=f"Fornecedor não mapeado para andamento no processo, forneceodr: {fornecedor}",
231
238
  status=RpaHistoricoStatusEnum.Falha,
239
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
232
240
  )
233
241
 
234
242
  tipo_despesa_work = await tipo_despesa(despesa)
@@ -239,6 +247,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
239
247
  sucesso=False,
240
248
  retorno=tipo_despesa_work.retorno,
241
249
  status=RpaHistoricoStatusEnum.Falha,
250
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
242
251
  )
243
252
 
244
253
  # INTERAGINDO COM O CHECKBOX ZERAR ICMS
@@ -249,7 +258,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
249
258
  return RpaRetornoProcessoDTO(
250
259
  sucesso=False,
251
260
  retorno=checkbox_zerar_icms.retorno,
252
- status=RpaHistoricoStatusEnum.Falha,
261
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
253
262
  )
254
263
 
255
264
  # INTERAGINDO COM O CAMPO DE CODIGO DO ICMS
@@ -260,7 +269,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
260
269
  return RpaRetornoProcessoDTO(
261
270
  sucesso=False,
262
271
  retorno=cod_icms_work.retorno,
263
- status=RpaHistoricoStatusEnum.Falha,
272
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
264
273
  )
265
274
 
266
275
  # INTERAGINDO COM O CAMPO Manter Natureza de Operação selecionada
@@ -320,25 +329,27 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
320
329
  return RpaRetornoProcessoDTO(
321
330
  sucesso=False,
322
331
  retorno="Número máximo de tentativas atingido, Não foi possivel finalizar os trabalhos na tela de Informações para importação da Nota Fiscal Eletrônica",
323
- status=RpaHistoricoStatusEnum.Falha,
332
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
324
333
  )
325
334
 
326
335
  await worker_sleep(6)
327
336
 
328
- console.print(
329
- "Verificando a existencia de POP-UP de Itens não localizados ou NCM ...\n"
330
- )
331
- itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
332
- if itens_by_supplier["IsOpened"] == True:
333
- itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
334
- if itens_by_supplier_work["window"] == "NCM" or itens_by_supplier_work["window"] == "MultiplasRef":
335
- console.log(itens_by_supplier_work["retorno"], style="bold green")
336
- else:
337
- return RpaRetornoProcessoDTO(
338
- sucesso=False,
339
- retorno=itens_by_supplier_work["retorno"],
340
- status=RpaHistoricoStatusEnum.Falha,
341
- )
337
+ try:
338
+ console.print("Verificando itens não localizados ou NCM...\n")
339
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
340
+
341
+ if itens_by_supplier["IsOpened"] == True:
342
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
343
+
344
+ if not itens_by_supplier_work.sucesso:
345
+ return itens_by_supplier_work
346
+
347
+ except Exception as error:
348
+ return RpaRetornoProcessoDTO(
349
+ sucesso=False,
350
+ retorno=f"Falha ao verificar a existência de POP-UP de itens não localizados: {error}",
351
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
352
+ )
342
353
 
343
354
  await worker_sleep(3)
344
355
  console.print(f"Trabalhando com itens com multiplas referencias.\n")
@@ -431,7 +442,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
431
442
  return RpaRetornoProcessoDTO(
432
443
  sucesso=False,
433
444
  retorno="Quantidade de tentativa atingida (3), não foi possivel capturar o item da nota com multiplas referencias para andamento no processo",
434
- status=RpaHistoricoStatusEnum.Falha,
445
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
435
446
  )
436
447
  console.print(
437
448
  f"Interagindo com os multiplos itens e detectando qual ira ser selecionado para andamento no processo... \n"
@@ -525,7 +536,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
525
536
  return RpaRetornoProcessoDTO(
526
537
  sucesso=False,
527
538
  retorno=f"Não foi possivel encontrar o item mais proximo ao item da nota com multiplas referencias {itens_nao_semelhantes}",
528
- status=RpaHistoricoStatusEnum.Falha,
539
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
529
540
  )
530
541
 
531
542
  # VERIFICANDO A EXISTENCIA DE ERRO
@@ -535,23 +546,25 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
535
546
  return RpaRetornoProcessoDTO(
536
547
  sucesso=False,
537
548
  retorno=error_work.retorno,
538
- status=RpaHistoricoStatusEnum.Falha,
549
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
539
550
  )
540
551
 
541
- console.print(
542
- "Verificando a existencia de POP-UP de Itens não localizados ou NCM ...\n"
543
- )
544
- itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
545
- if itens_by_supplier["IsOpened"] == True:
546
- itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
547
- if itens_by_supplier_work["window"] == "NCM":
548
- console.log(itens_by_supplier_work["retorno"], style="bold green")
549
- else:
550
- return RpaRetornoProcessoDTO(
551
- sucesso=False,
552
- retorno=f"{itens_by_supplier_work['retorno']}",
553
- status=RpaHistoricoStatusEnum.Falha,
554
- )
552
+ try:
553
+ console.print("Verificando itens não localizados ou NCM...\n")
554
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
555
+
556
+ if itens_by_supplier["IsOpened"] == True:
557
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
558
+
559
+ if not itens_by_supplier_work.sucesso:
560
+ return itens_by_supplier_work
561
+
562
+ except Exception as error:
563
+ return RpaRetornoProcessoDTO(
564
+ sucesso=False,
565
+ retorno=f"Falha ao verificar a existência de POP-UP de itens não localizados: {error}",
566
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
567
+ )
555
568
 
556
569
  await worker_sleep(2)
557
570
  console.print("Navegando pela Janela de Nota Fiscal de Entrada...\n")
@@ -627,7 +640,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
627
640
  return RpaRetornoProcessoDTO(
628
641
  sucesso=False,
629
642
  retorno=f"A soma dos pagamentos não bate com o valor da nota.",
630
- status=RpaHistoricoStatusEnum.Falha,
643
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)],
631
644
  )
632
645
  else:
633
646
  console.print(
@@ -660,7 +673,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
660
673
  return RpaRetornoProcessoDTO(
661
674
  sucesso=False,
662
675
  retorno=f"Número máximo de tentativas atingido. A tela para Rateio da Despesa não foi encontrada.",
663
- status=RpaHistoricoStatusEnum.Falha,
676
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
664
677
  )
665
678
 
666
679
  despesa_rateio_work = await rateio_despesa(filialEmpresaOrigem)
@@ -670,7 +683,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
670
683
  return RpaRetornoProcessoDTO(
671
684
  sucesso=False,
672
685
  retorno=despesa_rateio_work.retorno,
673
- status=RpaHistoricoStatusEnum.Falha,
686
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)],
674
687
  )
675
688
 
676
689
  # Verifica se a info 'Nota fiscal incluida' está na tela
@@ -717,13 +730,14 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
717
730
  return RpaRetornoProcessoDTO(
718
731
  sucesso=False,
719
732
  retorno=f"Filial: {filialEmpresaOrigem} está com o livro fechado ou encerrado, verificar com o setor fiscal",
720
- status=RpaHistoricoStatusEnum.Falha,
733
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)],
721
734
  )
722
735
  else:
723
736
  return RpaRetornoProcessoDTO(
724
737
  sucesso=False,
725
738
  retorno=f"Warning não mapeado para seguimento do robo, mensagem: {captured_text}",
726
739
  status=RpaHistoricoStatusEnum.Falha,
740
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
727
741
  )
728
742
 
729
743
  await worker_sleep(3)
@@ -746,6 +760,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
746
760
  sucesso=False,
747
761
  retorno=f"Pop-up nota incluida encontrada, porém nota não encontrada no EMSys - Reprocessar",
748
762
  status=RpaHistoricoStatusEnum.Falha,
763
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
749
764
  )
750
765
  else:
751
766
  console.print("Erro ao lançar nota", style="bold red")
@@ -753,6 +768,7 @@ async def entrada_de_notas_34(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
753
768
  sucesso=False,
754
769
  retorno=f"Erro ao lançar nota, erro: {nf_imported.retorno}",
755
770
  status=RpaHistoricoStatusEnum.Falha,
771
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
756
772
  )
757
773
 
758
774
  except Exception as ex:
@@ -23,6 +23,8 @@ from worker_automate_hub.api.client import (
23
23
  from worker_automate_hub.models.dto.rpa_historico_request_dto import (
24
24
  RpaHistoricoStatusEnum,
25
25
  RpaRetornoProcessoDTO,
26
+ RpaTagDTO,
27
+ RpaTagEnum,
26
28
  )
27
29
  from worker_automate_hub.models.dto.rpa_processo_entrada_dto import (
28
30
  RpaProcessoEntradaDTO,
@@ -114,6 +116,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
114
116
  sucesso=False,
115
117
  retorno=document_type.retorno,
116
118
  status=RpaHistoricoStatusEnum.Falha,
119
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
117
120
  )
118
121
 
119
122
  await worker_sleep(4)
@@ -127,6 +130,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
127
130
  sucesso=False,
128
131
  retorno=imported_nfe.retorno,
129
132
  status=RpaHistoricoStatusEnum.Falha,
133
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
130
134
  )
131
135
 
132
136
  await worker_sleep(5)
@@ -145,17 +149,15 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
145
149
  sucesso=False,
146
150
  retorno=warning_work.retorno,
147
151
  status=RpaHistoricoStatusEnum.Falha,
152
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
148
153
  )
149
154
 
150
155
  # VERIFICANDO A EXISTENCIA DE ERRO
151
156
  erro_pop_up = await is_window_open("Erro")
152
157
  if erro_pop_up["IsOpened"] == True:
153
158
  error_work = await error_after_xml_imported()
154
- return RpaRetornoProcessoDTO(
155
- sucesso=error_work.sucesso,
156
- retorno=error_work.retorno,
157
- status=error_work.status,
158
- )
159
+ if not error_work.sucesso:
160
+ return error_work
159
161
 
160
162
  app = Application().connect(
161
163
  title="Informações para importação da Nota Fiscal Eletrônica"
@@ -194,6 +196,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
194
196
  sucesso=False,
195
197
  retorno=f"Erro mapeado, CFOP diferente de inicio com 540 ou 510, necessario ação manual ou ajuste no robo.",
196
198
  status=RpaHistoricoStatusEnum.Falha,
199
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
197
200
  )
198
201
 
199
202
  # INTERAGINDO COM O CAMPO ALMOXARIFADO
@@ -219,6 +222,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
219
222
  sucesso=False,
220
223
  retorno=f"Erro ao iterar itens de almoxarifado: {e}",
221
224
  status=RpaHistoricoStatusEnum.Falha,
225
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
222
226
  )
223
227
 
224
228
  await worker_sleep(2)
@@ -265,6 +269,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
265
269
  sucesso=False,
266
270
  retorno="Número máximo de tentativas atingido, Não foi possivel finalizar os trabalhos na tela de Informações para importação da Nota Fiscal Eletrônica",
267
271
  status=RpaHistoricoStatusEnum.Falha,
272
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
268
273
  )
269
274
 
270
275
 
@@ -276,25 +281,26 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
276
281
  sucesso=False,
277
282
  retorno=waiting_for_delay.retorno,
278
283
  status=RpaHistoricoStatusEnum.Falha,
284
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
279
285
  )
280
286
 
281
- console.print(
282
- "Verificando a existencia de POP-UP de Itens não localizados ou NCM ...\n"
283
- )
284
- itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
285
- if itens_by_supplier["IsOpened"] == True:
286
- console.print(
287
- "Tela de POP-UP de Itens não localizados ou NCM encontrado ...\n"
287
+ try:
288
+ console.print("Verificando itens não localizados ou NCM...\n")
289
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
290
+
291
+ if itens_by_supplier["IsOpened"] == True:
292
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
293
+
294
+ if not itens_by_supplier_work.sucesso:
295
+ return itens_by_supplier_work
296
+
297
+ except Exception as error:
298
+ return RpaRetornoProcessoDTO(
299
+ sucesso=False,
300
+ retorno=f"Falha ao verificar a existência de POP-UP de itens não localizados: {error}",
301
+ status=RpaHistoricoStatusEnum.Falha,
302
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
288
303
  )
289
- itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
290
- if itens_by_supplier_work["window"] == "NCM" or itens_by_supplier_work["window"] == "MultiplasRef":
291
- console.log(itens_by_supplier_work["retorno"], style="bold green")
292
- else:
293
- return RpaRetornoProcessoDTO(
294
- sucesso=False,
295
- retorno=itens_by_supplier_work["retorno"],
296
- status=RpaHistoricoStatusEnum.Falha,
297
- )
298
304
 
299
305
  await worker_sleep(3)
300
306
 
@@ -306,6 +312,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
306
312
  sucesso=False,
307
313
  retorno=error_work.retorno,
308
314
  status=RpaHistoricoStatusEnum.Falha,
315
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
309
316
  )
310
317
 
311
318
  # # Trabalhando com o NOP Nota
@@ -320,6 +327,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
320
327
  # sucesso=False,
321
328
  # retorno=document_type.retorno,
322
329
  # status=RpaHistoricoStatusEnum.Falha,
330
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
323
331
  # )
324
332
 
325
333
 
@@ -409,6 +417,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
409
417
  sucesso=False,
410
418
  retorno=f"Erro ao adicionar o pagamento, valor informado {valores_informado_text}.",
411
419
  status=RpaHistoricoStatusEnum.Falha,
420
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
412
421
  )
413
422
  console.print(f"Processo de incluir pagamento realizado com sucesso... \n")
414
423
 
@@ -484,18 +493,21 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
484
493
  sucesso=False,
485
494
  retorno=f"Filial: {filialEmpresaOrigem} está com o livro fechado ou encerrado, verificar com o setor fiscal",
486
495
  status=RpaHistoricoStatusEnum.Falha,
496
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
487
497
  )
488
498
  elif 'informe o tipo de' in captured_text.lower():
489
499
  return RpaRetornoProcessoDTO(
490
500
  sucesso=False,
491
501
  retorno=f"Mensagem do Warning, Informe o tipo cobraça ",
492
502
  status=RpaHistoricoStatusEnum.Falha,
503
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
493
504
  )
494
505
  else:
495
506
  return RpaRetornoProcessoDTO(
496
507
  sucesso=False,
497
508
  retorno=f"Warning não mapeado para seguimento do robo, mensagem: {captured_text}",
498
509
  status=RpaHistoricoStatusEnum.Falha,
510
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
499
511
  )
500
512
 
501
513
 
@@ -530,6 +542,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
530
542
  sucesso=False,
531
543
  retorno=f"Pop-up nota incluida encontrada, porém nota não encontrada no EMSys - Reprocessar",
532
544
  status=RpaHistoricoStatusEnum.Falha,
545
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
533
546
  )
534
547
  else:
535
548
  console.print("Erro ao lançar nota", style="bold red")
@@ -537,6 +550,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
537
550
  sucesso=False,
538
551
  retorno=f"Erro ao lançar nota, erro: {nf_imported.retorno}",
539
552
  status=RpaHistoricoStatusEnum.Falha,
553
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
540
554
  )
541
555
 
542
556
  except Exception as ex: