worker-automate-hub 0.5.15__py3-none-any.whl → 0.5.17__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.
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 +33 -16
  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 +151 -141
  31. worker_automate_hub/utils/utils_nfe_entrada.py +10 -0
  32. {worker_automate_hub-0.5.15.dist-info → worker_automate_hub-0.5.17.dist-info}/METADATA +1 -1
  33. {worker_automate_hub-0.5.15.dist-info → worker_automate_hub-0.5.17.dist-info}/RECORD +35 -35
  34. {worker_automate_hub-0.5.15.dist-info → worker_automate_hub-0.5.17.dist-info}/WHEEL +0 -0
  35. {worker_automate_hub-0.5.15.dist-info → worker_automate_hub-0.5.17.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,6 +149,7 @@ 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
@@ -194,6 +199,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
194
199
  sucesso=False,
195
200
  retorno=f"Erro mapeado, CFOP diferente de inicio com 540 ou 510, necessario ação manual ou ajuste no robo.",
196
201
  status=RpaHistoricoStatusEnum.Falha,
202
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
197
203
  )
198
204
 
199
205
  # INTERAGINDO COM O CAMPO ALMOXARIFADO
@@ -219,6 +225,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
219
225
  sucesso=False,
220
226
  retorno=f"Erro ao iterar itens de almoxarifado: {e}",
221
227
  status=RpaHistoricoStatusEnum.Falha,
228
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
222
229
  )
223
230
 
224
231
  await worker_sleep(2)
@@ -265,6 +272,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
265
272
  sucesso=False,
266
273
  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
274
  status=RpaHistoricoStatusEnum.Falha,
275
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
268
276
  )
269
277
 
270
278
 
@@ -276,25 +284,26 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
276
284
  sucesso=False,
277
285
  retorno=waiting_for_delay.retorno,
278
286
  status=RpaHistoricoStatusEnum.Falha,
287
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
279
288
  )
280
289
 
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"
290
+ try:
291
+ console.print("Verificando itens não localizados ou NCM...\n")
292
+ itens_by_supplier = await is_window_open_by_class("TFrmAguarde", "TMessageForm")
293
+
294
+ if itens_by_supplier["IsOpened"] == True:
295
+ itens_by_supplier_work = await itens_not_found_supplier(nota.get("nfe"))
296
+
297
+ if not itens_by_supplier_work.sucesso:
298
+ return itens_by_supplier_work
299
+
300
+ except Exception as error:
301
+ return RpaRetornoProcessoDTO(
302
+ sucesso=False,
303
+ retorno=f"Falha ao verificar a existência de POP-UP de itens não localizados: {error}",
304
+ status=RpaHistoricoStatusEnum.Falha,
305
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
288
306
  )
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
307
 
299
308
  await worker_sleep(3)
300
309
 
@@ -306,6 +315,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
306
315
  sucesso=False,
307
316
  retorno=error_work.retorno,
308
317
  status=RpaHistoricoStatusEnum.Falha,
318
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
309
319
  )
310
320
 
311
321
  # # Trabalhando com o NOP Nota
@@ -320,6 +330,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
320
330
  # sucesso=False,
321
331
  # retorno=document_type.retorno,
322
332
  # status=RpaHistoricoStatusEnum.Falha,
333
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
323
334
  # )
324
335
 
325
336
 
@@ -409,6 +420,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
409
420
  sucesso=False,
410
421
  retorno=f"Erro ao adicionar o pagamento, valor informado {valores_informado_text}.",
411
422
  status=RpaHistoricoStatusEnum.Falha,
423
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
412
424
  )
413
425
  console.print(f"Processo de incluir pagamento realizado com sucesso... \n")
414
426
 
@@ -484,18 +496,21 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
484
496
  sucesso=False,
485
497
  retorno=f"Filial: {filialEmpresaOrigem} está com o livro fechado ou encerrado, verificar com o setor fiscal",
486
498
  status=RpaHistoricoStatusEnum.Falha,
499
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
487
500
  )
488
501
  elif 'informe o tipo de' in captured_text.lower():
489
502
  return RpaRetornoProcessoDTO(
490
503
  sucesso=False,
491
504
  retorno=f"Mensagem do Warning, Informe o tipo cobraça ",
492
505
  status=RpaHistoricoStatusEnum.Falha,
506
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
493
507
  )
494
508
  else:
495
509
  return RpaRetornoProcessoDTO(
496
510
  sucesso=False,
497
511
  retorno=f"Warning não mapeado para seguimento do robo, mensagem: {captured_text}",
498
512
  status=RpaHistoricoStatusEnum.Falha,
513
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
499
514
  )
500
515
 
501
516
 
@@ -530,6 +545,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
530
545
  sucesso=False,
531
546
  retorno=f"Pop-up nota incluida encontrada, porém nota não encontrada no EMSys - Reprocessar",
532
547
  status=RpaHistoricoStatusEnum.Falha,
548
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
533
549
  )
534
550
  else:
535
551
  console.print("Erro ao lançar nota", style="bold red")
@@ -537,6 +553,7 @@ async def entrada_de_notas_36(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
537
553
  sucesso=False,
538
554
  retorno=f"Erro ao lançar nota, erro: {nf_imported.retorno}",
539
555
  status=RpaHistoricoStatusEnum.Falha,
556
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
540
557
  )
541
558
 
542
559
  except Exception as ex: