worker-automate-hub 0.5.330__tar.gz → 0.5.332__tar.gz

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 (90) hide show
  1. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/PKG-INFO +1 -1
  2. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/pyproject.toml +1 -1
  3. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/devolucao_prazo_a_faturar.py +253 -185
  4. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/README.md +0 -0
  5. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/__init__.py +0 -0
  6. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/__init__.py +0 -0
  7. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/ahead_service.py +0 -0
  8. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/client.py +0 -0
  9. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/datalake_service.py +0 -0
  10. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/helpers/__init__.py +0 -0
  11. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/helpers/api_helpers.py +0 -0
  12. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/rdp_service.py +0 -0
  13. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/rpa_fila_service.py +0 -0
  14. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/rpa_historico_service.py +0 -0
  15. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/api/webhook_service.py +0 -0
  16. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/cli.py +0 -0
  17. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/config/__init__.py +0 -0
  18. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/config/settings.py +0 -0
  19. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/config.py +0 -0
  20. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/core/so_manipulation.py +0 -0
  21. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/__init__.py +0 -0
  22. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/deprecation.py +0 -0
  23. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/rate_limit.py +0 -0
  24. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/repeat.py +0 -0
  25. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/retry.py +0 -0
  26. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/singleton.py +0 -0
  27. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/decorators/timeit.py +0 -0
  28. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/__init__.py +0 -0
  29. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dao/__init__.py +0 -0
  30. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dao/rpa_configuracao.py +0 -0
  31. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dao/rpa_fila.py +0 -0
  32. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dao/rpa_historico.py +0 -0
  33. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dao/rpa_processo.py +0 -0
  34. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dao/rpa_robo.py +0 -0
  35. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dto/__init__.py +0 -0
  36. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dto/rpa_historico_request_dto.py +0 -0
  37. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dto/rpa_processo_entrada_dto.py +0 -0
  38. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dto/rpa_processo_rdp_dto.py +0 -0
  39. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dto/rpa_sap_dto.py +0 -0
  40. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/models/dto/rpa_sistema_dto.py +0 -0
  41. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/__init__.py +0 -0
  42. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/__init__.py +0 -0
  43. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/coleta_dje_process.py +0 -0
  44. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/conexao_rdp.py +0 -0
  45. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/cte_manual.py +0 -0
  46. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/descartes.py +0 -0
  47. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/despesas_cte.py +0 -0
  48. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/devolucao_ctf.py +0 -0
  49. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/ecac_estadual_go.py +0 -0
  50. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/ecac_estadual_main.py +0 -0
  51. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/ecac_estadual_mt.py +0 -0
  52. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/ecac_estadual_sc.py +0 -0
  53. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/ecac_estadual_sp.py +0 -0
  54. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/ecac_federal.py +0 -0
  55. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_15.py +0 -0
  56. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_16.py +0 -0
  57. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_207.py +0 -0
  58. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_32.py +0 -0
  59. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_33.py +0 -0
  60. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_34.py +0 -0
  61. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_36.py +0 -0
  62. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_39.py +0 -0
  63. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_500.py +0 -0
  64. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_505.py +0 -0
  65. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py +0 -0
  66. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +0 -0
  67. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/exemplo_processo.py +0 -0
  68. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/fechar_conexao_rdp.py +0 -0
  69. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/fidc_exportacao_docs_portal_b2b.py +0 -0
  70. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py +0 -0
  71. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py +0 -0
  72. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/fidc_retorno_cobranca.py +0 -0
  73. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/integracao_contabil.py +0 -0
  74. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/login_emsys.py +0 -0
  75. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/login_emsys_versao_especifica.py +0 -0
  76. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/notas_faturamento_sap.py +0 -0
  77. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/playground.py +0 -0
  78. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/sped_fiscal.py +0 -0
  79. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/jobs/transferencias.py +0 -0
  80. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/task_definitions.py +0 -0
  81. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/tasks/task_executor.py +0 -0
  82. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/__init__.py +0 -0
  83. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/env.py +0 -0
  84. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/get_creds_gworkspace.py +0 -0
  85. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/logger.py +0 -0
  86. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/toast.py +0 -0
  87. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/updater.py +0 -0
  88. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/util.py +0 -0
  89. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/utils/utils_nfe_entrada.py +0 -0
  90. {worker_automate_hub-0.5.330 → worker_automate_hub-0.5.332}/worker_automate_hub/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: worker-automate-hub
3
- Version: 0.5.330
3
+ Version: 0.5.332
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "worker-automate-hub"
3
- version = "0.5.330"
3
+ version = "0.5.332"
4
4
  description = "Worker Automate HUB é uma aplicação para automatizar rotinas de RPA nos ambientes Argenta."
5
5
  authors = ["Joel Paim"]
6
6
  readme = "README.md"
@@ -3315,7 +3315,7 @@ async def devolucao_prazo_a_faturar(task: RpaProcessoEntradaDTO) -> RpaRetornoPr
3315
3315
  tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
3316
3316
  )
3317
3317
 
3318
-
3318
+
3319
3319
  #VERIFICANDO SE POSSUI POP UP WARNING
3320
3320
  console.print("Verificando a presença de Warning... \n")
3321
3321
  warning_boo = False
@@ -3604,57 +3604,43 @@ async def devolucao_prazo_a_faturar(task: RpaProcessoEntradaDTO) -> RpaRetornoPr
3604
3604
  else:
3605
3605
  console.print("Não possui warning para alterar tributação... \n")
3606
3606
 
3607
- try:
3608
- #Clcica no OK para seguir a transmissão da pré-venda
3609
- console.print("Clicando em ok para fatura pré-venda... \n")
3610
- app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=60)
3611
- main_window = app["TFrmDadosFaturamentoPreVenda"]
3612
- main_window.set_focus()
3613
- btn_ok = main_window.child_window(class_name="TBitBtn", found_index=1)
3614
- btn_ok.click()
3615
- except:
3616
- console.print("Clicando em OK no except... \n")
3617
- btn_ok = main_window.child_window(title="&Ok")
3618
- btn_ok.click()
3607
+ # try:
3608
+ # #Clcica no OK para seguir a transmissão da pré-venda
3609
+ # app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=60)
3610
+ # main_window = app["TFrmDadosFaturamentoPreVenda"]
3611
+ # main_window.set_focus()
3612
+ # btn_ok = main_window.child_window(class_name="TBitBtn", found_index=1)
3613
+ # btn_ok.click()
3614
+ # except:
3615
+ # btn_ok = main_window.child_window(title="&Ok")
3616
+ # btn_ok.click()
3617
+ # await worker_sleep(5)
3619
3618
 
3620
- await worker_sleep(5)
3621
-
3622
- try:
3623
- console.print("Clicando em sim para faturar pre-venda... \n")
3624
- app = Application().connect(class_name="TMessageForm", timeout=10, title="Confirm")
3625
- main_window = app["TMessageForm"]
3626
- main_window.set_focus()
3627
- main_window.chiwld_window(title="&Yes").click()
3628
- except:
3629
- ...
3630
-
3631
- #Lucas Fim
3632
- #ADICIONANDO MENSAGEM
3633
-
3619
+ #Lucas Fim
3620
+ #ADICIONANDO MENSAGEM
3621
+ await worker_sleep(5)
3634
3622
  try:
3635
- console.print("Identificando tela - 'TFrmDadosFaturamentoPreVenda' 1 ")
3623
+ console.print("Identificando - TFrmDadosFaturamentoPreVenda 1")
3636
3624
  app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=10)
3637
3625
  main_window = app["Confirm"]
3638
3626
  main_window.set_focus()
3639
3627
  except:
3640
- console.print("Identificando tela - 'TMessageForm' 1 ")
3641
- app = Application().connect(class_name="TMessageForm", timeout=10)
3628
+ console.print("Identificando - TMessageForm 1")
3629
+ app = Application().connect(class_name="TMessageForm", timeout=10, title='Confirm')
3642
3630
  main_window = app["TMessageForm"]
3643
3631
  main_window.set_focus()
3644
-
3645
- console.print("Clicando em sim para faturar pre-venda... \n")
3646
- btn_yes = main_window.child_window(class_name="TButton", found_index=1)
3632
+
3633
+ btn_yes = main_window.child_window(class_name="TButton", title="&Yes")
3647
3634
  btn_yes.click()
3648
3635
 
3649
3636
  await worker_sleep(5)
3650
3637
 
3651
3638
  try:
3652
- console.print("Identificando tela - 'TFrmDadosFaturamentoPreVenda' 2 ")
3639
+ console.print('Identificando - TFrmDadosFaturamentoPreVenda 2')
3653
3640
  app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=10)
3654
3641
  main_window = app["TMessageForm"]
3655
3642
  except Exception as ex:
3656
- console.print(f'{ex}')
3657
- console.print("Identificando tela - 'TMessageForm' 2 ")
3643
+ console.print(f'{ex} - TMessageForm 2')
3658
3644
  app = Application().connect(class_name="TMessageForm", timeout=10)
3659
3645
  main_window = app["TMessageForm"]
3660
3646
 
@@ -3824,33 +3810,113 @@ async def devolucao_prazo_a_faturar(task: RpaProcessoEntradaDTO) -> RpaRetornoPr
3824
3810
  )
3825
3811
  except:
3826
3812
  console.print("Janela TFrmProcessamentoNFe2 ja fechada")
3813
+
3827
3814
 
3828
- try:
3829
- await worker_sleep(10)
3830
- app = Application().connect(class_name="TFrmGerenciadorNFe2", timeout=10)
3831
- window_gerenciador = app["TFrmGerenciadorNFe2"]
3832
- window_gerenciador.set_focus()
3833
- window_gerenciador.close()
3834
- except:
3835
- console.print("Janela TFrmGerenciadorNFe2 ja fechada")
3815
+ console.print("Verificando se possui pop-up imprimir boleta")
3816
+ boleta_screen = await is_window_open("Confirm")
3817
+ if boleta_screen["IsOpened"] == True:
3818
+ console.print("Janela aberta, fechando")
3819
+ try:
3820
+ console.print("Confirm")
3821
+ app = Application().connect(title="Confirm", timeout=10)
3822
+ main_window = app["Confirm"]
3823
+ main_window.set_focus()
3824
+ except:
3825
+ console.print("Identificando - TMessageForm 1")
3826
+ app = Application().connect(class_name="TMessageForm", timeout=10, title='Confirm')
3827
+ main_window = app["TMessageForm"]
3828
+ main_window.set_focus()
3829
+
3830
+ btn_no = main_window.child_window(class_name="TButton", title="&No")
3831
+ btn_no.click()
3836
3832
 
3837
3833
 
3834
+ await worker_sleep(7)
3835
+ erro_screen = await is_window_open_by_class("TFrmDadosFaturamentoPreVenda","Confirm")
3836
+ if erro_screen["IsOpened"] == True:
3837
+ console.print("Janela aberta, fechando")
3838
+ try:
3839
+ console.print("Identificando - TFrmDadosFaturamentoPreVenda 1")
3840
+ app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=10)
3841
+ main_window = app["Confirm"]
3842
+ main_window.set_focus()
3843
+ except:
3844
+ console.print("Identificando - TMessageForm 1")
3845
+ app = Application().connect(class_name="TMessageForm", timeout=10, title='Confirm')
3846
+ main_window = app["TMessageForm"]
3847
+ main_window.set_focus()
3848
+
3849
+ btn_no = main_window.child_window(class_name="TButton", title="&No")
3850
+ btn_no.click()
3851
+
3852
+
3853
+ await worker_sleep(10)
3854
+ console.print("Verificando se a tela de Mensagem esta aberta")
3838
3855
  erro_screen = await is_window_open_by_class("TMemo","TMemo")
3839
3856
  if erro_screen["IsOpened"] == True:
3857
+ console.print("Janela aberta, fechando")
3840
3858
  app = Application().connect(class_name="TMemo", timeout=10)
3841
3859
  main_window = app["TMemo"]
3842
3860
  main_window.set_focus()
3843
- await worker_sleep(2)
3861
+ await worker_sleep(5)
3844
3862
  main_window.close()
3863
+
3845
3864
 
3865
+ console.print("Verificando se a tela de Faturamento Pre venda esta aberta")
3866
+ close_dados_faturamento = await is_window_open_by_class("TFrmDadosFaturamentoPreVenda","TFrmDadosFaturamentoPreVenda")
3867
+ if close_dados_faturamento["IsOpened"] == True:
3868
+ console.print("Janela aberta, fechando")
3869
+ try:
3870
+ app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=60)
3871
+ main_window = app["TFrmDadosFaturamentoPreVenda"]
3872
+ main_window.set_focus()
3873
+ btn_cancelar = main_window.child_window(class_name="TBitBtn", found_index=0)
3874
+ btn_cancelar.click()
3875
+ except:
3876
+ btn_cancelar = main_window.child_window(title="&Cancela")
3877
+ btn_cancelar.click()
3846
3878
 
3879
+
3880
+ await worker_sleep(10)
3881
+ console.print("Verificando se a tela de Faturamento Pre venda esta aberta")
3847
3882
  close_dados_faturamento = await is_window_open_by_class("TFrmDadosFaturamentoPreVenda","TFrmDadosFaturamentoPreVenda")
3848
3883
  if close_dados_faturamento["IsOpened"] == True:
3849
- app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=10)
3850
- main_window = app["TFrmDadosFaturamentoPreVenda"]
3851
- main_window.set_focus()
3884
+ console.print("Janela aberta, fechando")
3885
+ try:
3886
+ app = Application().connect(class_name="TFrmDadosFaturamentoPreVenda", timeout=180)
3887
+ main_window = app["TFrmDadosFaturamentoPreVenda"]
3888
+ main_window.set_focus()
3889
+ await worker_sleep(2)
3890
+ main_window.close()
3891
+ except Exception as e:
3892
+ console.print(f"Erro ao fechar a janela de dados faturamento pre venda {e}")
3893
+
3894
+
3895
+ await worker_sleep(5)
3896
+ console.print("Verificando se a tela de Gerenciador esta aberta")
3897
+ window_gerenciador_screen = await is_window_open_by_class("TFrmGerenciadorNFe2","TFrmGerenciadorNFe2")
3898
+ if window_gerenciador_screen["IsOpened"] == True:
3899
+ app = Application().connect(class_name="TFrmGerenciadorNFe2", timeout=10)
3900
+ window_gerenciador = app["TFrmGerenciadorNFe2"]
3901
+ window_gerenciador.set_focus()
3852
3902
  await worker_sleep(2)
3853
- main_window.close()
3903
+ window_gerenciador.close()
3904
+ else:
3905
+ console.print("Janela TFrmGerenciadorNFe2 ja fechada")
3906
+
3907
+
3908
+ await worker_sleep(10)
3909
+ console.print("Verificando se a tela de Pre venda esta aberta")
3910
+ window_gerenciador_screen = await is_window_open_by_class("TFrmPreVenda","TFrmPreVenda")
3911
+ if window_gerenciador_screen["IsOpened"] == True:
3912
+ app = Application().connect(class_name="TFrmPreVenda", timeout=10)
3913
+ window_gerenciador = app["TFrmPreVenda"]
3914
+ window_gerenciador.set_focus()
3915
+ await worker_sleep(2)
3916
+ window_gerenciador.close()
3917
+ else:
3918
+ console.print("Janela TFrmPreVenda ja fechada")
3919
+
3854
3920
 
3855
3921
  except Exception as e:
3856
3922
  retorno = f"Não foi possivel concluir o processo de pré venda {e} \nEtapas Executadas:\n{steps}"
@@ -3873,169 +3939,171 @@ async def devolucao_prazo_a_faturar(task: RpaProcessoEntradaDTO) -> RpaRetornoPr
3873
3939
 
3874
3940
 
3875
3941
  #GERAR RELATORIO FINAL
3876
- await worker_sleep(2)
3877
- console.print(f"\nPesquisa: 'Relatório Boletim Caixa",style="bold green")
3878
- type_text_into_field("Rel. Boletim Caixa", app["TFrmMenuPrincipal"]["Edit"], True, "50")
3879
- pyautogui.press("enter")
3880
- await worker_sleep(2)
3881
- pyautogui.press("enter")
3882
- await worker_sleep(5)
3883
-
3884
- boletim_caixa_opened = await is_window_open_by_class("TFrmRelBoletimCaixa", "TFrmRelBoletimCaixa")
3885
- if boletim_caixa_opened["IsOpened"] == True:
3886
- console.print(f"\nRelatório Boletim Caixa esta aberta",style="bold green")
3887
- else:
3942
+ if nota.get("clienteFIDC").lower() == 'não':
3943
+ await worker_sleep(2)
3888
3944
  console.print(f"\nPesquisa: 'Relatório Boletim Caixa",style="bold green")
3889
3945
  type_text_into_field("Rel. Boletim Caixa", app["TFrmMenuPrincipal"]["Edit"], True, "50")
3890
3946
  pyautogui.press("enter")
3891
3947
  await worker_sleep(2)
3892
- pyautogui.press("tab")
3893
- await worker_sleep(1)
3894
- pyautogui.press("tab")
3895
- await worker_sleep(1)
3896
3948
  pyautogui.press("enter")
3897
3949
  await worker_sleep(5)
3898
3950
 
3951
+ boletim_caixa_opened = await is_window_open_by_class("TFrmRelBoletimCaixa", "TFrmRelBoletimCaixa")
3952
+ if boletim_caixa_opened["IsOpened"] == True:
3953
+ console.print(f"\nRelatório Boletim Caixa esta aberta",style="bold green")
3954
+ else:
3955
+ console.print(f"\nPesquisa: 'Relatório Boletim Caixa",style="bold green")
3956
+ type_text_into_field("Rel. Boletim Caixa", app["TFrmMenuPrincipal"]["Edit"], True, "50")
3957
+ pyautogui.press("enter")
3958
+ await worker_sleep(2)
3959
+ pyautogui.press("tab")
3960
+ await worker_sleep(1)
3961
+ pyautogui.press("tab")
3962
+ await worker_sleep(1)
3963
+ pyautogui.press("enter")
3964
+ await worker_sleep(5)
3899
3965
 
3900
3966
 
3901
- try:
3902
- app = Application().connect(class_name="TFrmRelBoletimCaixa", timeout=60)
3903
- main_window = app["TFrmRelBoletimCaixa"]
3904
- except Exception as e:
3905
- retorno = f"Não foi possivel abrir a tela de Rel. Boletim Caixa \nEtapas Executadas:\n{steps}"
3906
- return RpaRetornoProcessoDTO(
3907
- sucesso=False,
3908
- retorno=retorno,
3909
- status=RpaHistoricoStatusEnum.Falha,
3910
- tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
3911
- )
3912
-
3913
-
3914
-
3915
3967
 
3916
- console.print(f"\nNavegando entre os elementos do Rel Boletim Caixa ",style="bold green")
3917
- try:
3918
- tgroup_box = main_window.child_window(class_name="TGroupBox", found_index=0)
3968
+ try:
3969
+ app = Application().connect(class_name="TFrmRelBoletimCaixa", timeout=60)
3970
+ main_window = app["TFrmRelBoletimCaixa"]
3971
+ except Exception as e:
3972
+ retorno = f"Não foi possivel abrir a tela de Rel. Boletim Caixa \nEtapas Executadas:\n{steps}"
3973
+ return RpaRetornoProcessoDTO(
3974
+ sucesso=False,
3975
+ retorno=retorno,
3976
+ status=RpaHistoricoStatusEnum.Falha,
3977
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
3978
+ )
3919
3979
 
3920
- dt_inicio = tgroup_box.child_window(class_name="TDBIEditDate", found_index=0)
3921
- dt_inicio.set_edit_text(data_hoje)
3922
- dt_final = main_window.child_window(class_name="TDBIEditDate", found_index=1)
3923
- dt_final.set_edit_text(data_hoje)
3924
-
3925
- #SELECIONANDO A ESPECIE
3926
- select_especie = main_window.child_window(class_name="TDBIComboBox", found_index=0)
3927
- select_especie.click()
3928
- set_combobox("||List", "13 - DEVOLUCAO DE VENDA")
3929
- send_keys("%g")
3930
- except Exception as e:
3931
- retorno = f"Não foi possivel filtar Devolução de Venda na tela de Rel. Boletim Caixa \nEtapas Executadas:\n{steps}"
3932
- return RpaRetornoProcessoDTO(
3933
- sucesso=False,
3934
- retorno=retorno,
3935
- status=RpaHistoricoStatusEnum.Falha,
3936
- tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
3937
- )
3938
-
3939
- #CLICANDO NO ICONE DE IMPRIMIR
3940
- await worker_sleep(10)
3941
- screen_width, screen_height = pyautogui.size()
3942
- x = 10
3943
- y = screen_height - 280 - (96 * 2) / .254
3944
- pyautogui.click(x,y)
3945
3980
 
3946
-
3947
- #INTERAGINDO COM A TELA DE PRINT
3948
- try:
3949
- console.print("Interagindo com a tela 'PRINT'...\n")
3950
- app = Application().connect(class_name="TppPrintDialog", timeout=20)
3951
- main_window = app["TppPrintDialog"]
3952
- tpanel_btn_ok = main_window.child_window(class_name="TPanel", found_index=1)
3953
- btn_ok_print_screen = tpanel_btn_ok.child_window(class_name="TButton", found_index=1)
3954
- btn_ok_print_screen.click()
3955
- await worker_sleep(5)
3956
-
3957
3981
 
3958
- #INSERINDO O DIRETORIO E SALVANDO O ARQUIVO
3959
- app = Application().connect(title="Salvar Saída de Impressão como")
3960
- main_window = app["Dialog"]
3961
- console.print("Tela 'Salvar' encontrada!")
3962
3982
 
3963
- console.print("Interagindo com a tela 'Salvar'...\n")
3964
- username = getpass.getuser()
3965
- path_to_txt = f"C:\\Users\\{username}\\Downloads\\CAIXA 13 DEVOLUCAO {numero_cupom_fiscal}"
3983
+ console.print(f"\nNavegando entre os elementos do Rel Boletim Caixa ",style="bold green")
3984
+ try:
3985
+ tgroup_box = main_window.child_window(class_name="TGroupBox", found_index=0)
3986
+
3987
+ dt_inicio = tgroup_box.child_window(class_name="TDBIEditDate", found_index=0)
3988
+ dt_inicio.set_edit_text(data_hoje)
3989
+ dt_final = main_window.child_window(class_name="TDBIEditDate", found_index=1)
3990
+ dt_final.set_edit_text(data_hoje)
3991
+
3992
+ #SELECIONANDO A ESPECIE
3993
+ select_especie = main_window.child_window(class_name="TDBIComboBox", found_index=0)
3994
+ select_especie.click()
3995
+ set_combobox("||List", "13 - DEVOLUCAO DE VENDA")
3996
+ send_keys("%g")
3997
+ except Exception as e:
3998
+ retorno = f"Não foi possivel filtar Devolução de Venda na tela de Rel. Boletim Caixa \nEtapas Executadas:\n{steps}"
3999
+ return RpaRetornoProcessoDTO(
4000
+ sucesso=False,
4001
+ retorno=retorno,
4002
+ status=RpaHistoricoStatusEnum.Falha,
4003
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
4004
+ )
3966
4005
 
3967
- main_window.type_keys("%n")
3968
- pyautogui.write(path_to_txt)
3969
- await worker_sleep(1)
3970
- main_window.type_keys("%l")
3971
- console.print("Arquivo salvo com sucesso...\n")
4006
+ #CLICANDO NO ICONE DE IMPRIMIR
3972
4007
  await worker_sleep(10)
3973
- except Exception as e:
3974
- retorno = f"Não foi possivel salvar o relatorio referente ao Boletim Caixa, erro {e}, \nEtapas Executadas:\n{steps}"
3975
- return RpaRetornoProcessoDTO(
3976
- sucesso=False,
3977
- retorno=retorno,
3978
- status=RpaHistoricoStatusEnum.Falha,
3979
- tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
3980
- )
3981
-
3982
- txt = ""
3983
- with open(f"{path_to_txt}.pdf", "rb") as f:
3984
- reader = PdfReader(f)
3985
- for p in reader.pages:
3986
- txt += p.extract_text()
3987
-
3988
- console.print(f"Texto extraido {txt}...\n")
3989
- v = re.findall(r'\b\d{1,3},\d{2}\b(?!\s*\d+\.\d+\.\d+)',txt)
3990
-
3991
- ultimo_valor = v[-1]
3992
- penultimo_valor = v[-2]
4008
+ screen_width, screen_height = pyautogui.size()
4009
+ x = 10
4010
+ y = screen_height - 280 - (96 * 2) / .254
4011
+ pyautogui.click(x,y)
3993
4012
 
3994
- if ultimo_valor == penultimo_valor:
3995
- console.print("Valores no relatorio corretamente gerados...\n")
3996
- with open(f"{path_to_txt}.pdf", 'rb') as file:
3997
- file_bytes = io.BytesIO(file.read())
3998
-
3999
- timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
4000
- desArquivo = f"CAIXA 13 DEVOLUCAO {numero_cupom_fiscal}.pdf"
4013
+
4014
+ #INTERAGINDO COM A TELA DE PRINT
4001
4015
  try:
4002
- await send_file(historico_id, desArquivo, "pdf", file_bytes, file_extension="pdf")
4003
- os.remove(f"{path_to_txt}.pdf")
4004
- retorno = f"Processo de devolução executado com sucesso \nEtapas Executadas:\n{steps}"
4016
+ console.print("Interagindo com a tela 'PRINT'...\n")
4017
+ app = Application().connect(class_name="TppPrintDialog", timeout=20)
4018
+ main_window = app["TppPrintDialog"]
4019
+ tpanel_btn_ok = main_window.child_window(class_name="TPanel", found_index=1)
4020
+ btn_ok_print_screen = tpanel_btn_ok.child_window(class_name="TButton", found_index=1)
4021
+ btn_ok_print_screen.click()
4022
+ await worker_sleep(5)
4023
+
4024
+
4025
+ #INSERINDO O DIRETORIO E SALVANDO O ARQUIVO
4026
+ app = Application().connect(title="Salvar Saída de Impressão como")
4027
+ main_window = app["Dialog"]
4028
+ console.print("Tela 'Salvar' encontrada!")
4005
4029
 
4006
- try:
4007
- url_retorno = nota.get("urlRetorno")
4008
- identificador = nota.get("identificador")
4030
+ console.print("Interagindo com a tela 'Salvar'...\n")
4031
+ username = getpass.getuser()
4032
+ path_to_txt = f"C:\\Users\\{username}\\Downloads\\CAIXA 13 DEVOLUCAO {numero_cupom_fiscal}"
4009
4033
 
4010
- if url_retorno and identificador:
4011
- await post_partner(url_retorno, identificador, numero_nota_fiscal, valor_nota_fiscal)
4012
- else:
4013
- console.print("Não foi possivel obter o valor de urlRetorno/identificador")
4014
- except:
4015
- console.print(f"Erro ao obter os dados ou enviar a requisição: {e}")
4016
-
4034
+ main_window.type_keys("%n")
4035
+ pyautogui.write(path_to_txt)
4036
+ await worker_sleep(1)
4037
+ main_window.type_keys("%l")
4038
+ console.print("Arquivo salvo com sucesso...\n")
4039
+ await worker_sleep(10)
4040
+ except Exception as e:
4041
+ retorno = f"Não foi possivel salvar o relatorio referente ao Boletim Caixa, erro {e}, \nEtapas Executadas:\n{steps}"
4017
4042
  return RpaRetornoProcessoDTO(
4018
- sucesso=True,
4043
+ sucesso=False,
4019
4044
  retorno=retorno,
4020
- status=RpaHistoricoStatusEnum.Sucesso)
4021
- except Exception as e:
4022
- result = f"Arquivo CAIXA 13 DEVOLUÇÃO gerado com sucesso, porém gerou erro ao realizar o envio para o backoffice {e} - Arquivo ainda salvo na dispositivo utilizado no diretório {path_to_txt} !"
4023
- console.print(result, style="bold red")
4045
+ status=RpaHistoricoStatusEnum.Falha,
4046
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
4047
+ )
4048
+
4049
+ txt = ""
4050
+ with open(f"{path_to_txt}.pdf", "rb") as f:
4051
+ reader = PdfReader(f)
4052
+ for p in reader.pages:
4053
+ txt += p.extract_text()
4054
+
4055
+ console.print(f"Texto extraido {txt}...\n")
4056
+ v = re.findall(r'\b\d{1,3},\d{2}\b(?!\s*\d+\.\d+\.\d+)',txt)
4057
+
4058
+ ultimo_valor = v[-1]
4059
+ penultimo_valor = v[-2]
4060
+
4061
+ if ultimo_valor == penultimo_valor:
4062
+ console.print("Valores no relatorio corretamente gerados...\n")
4063
+ with open(f"{path_to_txt}.pdf", 'rb') as file:
4064
+ file_bytes = io.BytesIO(file.read())
4065
+
4066
+ timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
4067
+ desArquivo = f"CAIXA 13 DEVOLUCAO {numero_cupom_fiscal}.pdf"
4068
+ try:
4069
+ await send_file(historico_id, desArquivo, "pdf", file_bytes, file_extension="pdf")
4070
+ os.remove(f"{path_to_txt}.pdf")
4071
+ retorno = f"Processo de devolução executado com sucesso \nEtapas Executadas:\n{steps}"
4072
+
4073
+ try:
4074
+ url_retorno = nota.get("urlRetorno")
4075
+ identificador = nota.get("identificador")
4076
+
4077
+ if url_retorno and identificador:
4078
+ await post_partner(url_retorno, identificador, numero_nota_fiscal, valor_nota_fiscal)
4079
+ else:
4080
+ console.print("Não foi possivel obter o valor de urlRetorno/identificador")
4081
+ except:
4082
+ console.print(f"Erro ao obter os dados ou enviar a requisição: {e}")
4083
+
4084
+ return RpaRetornoProcessoDTO(
4085
+ sucesso=True,
4086
+ retorno=retorno,
4087
+ status=RpaHistoricoStatusEnum.Sucesso)
4088
+ except Exception as e:
4089
+ result = f"Arquivo CAIXA 13 DEVOLUÇÃO gerado com sucesso, porém gerou erro ao realizar o envio para o backoffice {e} - Arquivo ainda salvo na dispositivo utilizado no diretório {path_to_txt} !"
4090
+ console.print(result, style="bold red")
4091
+ return RpaRetornoProcessoDTO(
4092
+ sucesso=False,
4093
+ retorno=result,
4094
+ status=RpaHistoricoStatusEnum.Falha,
4095
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
4096
+ )
4097
+ else:
4098
+ os.remove(f"{path_to_txt}.pdf")
4024
4099
  return RpaRetornoProcessoDTO(
4025
4100
  sucesso=False,
4026
- retorno=result,
4101
+ 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}",
4027
4102
  status=RpaHistoricoStatusEnum.Falha,
4028
- tags=[RpaTagDTO(descricao=RpaTagEnum.Tecnico)]
4103
+ tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
4029
4104
  )
4030
4105
  else:
4031
- os.remove(f"{path_to_txt}.pdf")
4032
- return RpaRetornoProcessoDTO(
4033
- sucesso=False,
4034
- 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}",
4035
- status=RpaHistoricoStatusEnum.Falha,
4036
- tags=[RpaTagDTO(descricao=RpaTagEnum.Negocio)]
4037
- )
4038
-
4106
+ console.print("Cliente FIDC não é necessario gerar relatorio final, encerrando processo.", style="bold red")
4039
4107
  except Exception as ex:
4040
4108
  retorno = f"Erro Processo Devolução Prazo a Faturar: {str(ex)} \nEtapas Executadas:\n{steps}"
4041
4109
  logger.error(retorno)