worker-automate-hub 0.4.403__py3-none-any.whl → 0.4.405__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.
Potentially problematic release.
This version of worker-automate-hub might be problematic. Click here for more details.
- worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +65 -1
- worker_automate_hub/tasks/jobs/transferencias.py +60 -18
- {worker_automate_hub-0.4.403.dist-info → worker_automate_hub-0.4.405.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.4.403.dist-info → worker_automate_hub-0.4.405.dist-info}/RECORD +6 -6
- {worker_automate_hub-0.4.403.dist-info → worker_automate_hub-0.4.405.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.4.403.dist-info → worker_automate_hub-0.4.405.dist-info}/entry_points.txt +0 -0
@@ -400,7 +400,7 @@ async def entrada_de_notas_9(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoD
|
|
400
400
|
send_keys("{LEFT 3}")
|
401
401
|
|
402
402
|
distribuiu_algo = False
|
403
|
-
|
403
|
+
distribuicao_atual = []
|
404
404
|
last_line_almoxarifado_emsys = 'x'
|
405
405
|
max_distribuicao = 0
|
406
406
|
|
@@ -448,6 +448,7 @@ async def entrada_de_notas_9(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoD
|
|
448
448
|
pyautogui.write(quantidade_combustivel)
|
449
449
|
pyautogui.press('enter')
|
450
450
|
list_tanques_distribuidos.append(second_info_distribuicao_obs)
|
451
|
+
distribuicao_atual.append(f"Valor do tipo de combustivel:{codigo_almoxarifado_emsys} nas observações é {quantidade_combustivel}")
|
451
452
|
distribuiu_algo = True
|
452
453
|
|
453
454
|
max_distribuicao = max_distribuicao + 1
|
@@ -458,7 +459,70 @@ async def entrada_de_notas_9(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoD
|
|
458
459
|
console.print(f"Index Tanque: {index_tanque}")
|
459
460
|
|
460
461
|
if distribuiu_algo:
|
462
|
+
console.print(f"Extraindo informação da Janela de Distribuir Itens para realização do OCR...\n")
|
463
|
+
|
464
|
+
main_window.set_focus()
|
465
|
+
window_rect = main_window.rectangle()
|
466
|
+
screenshot = pyautogui.screenshot(
|
467
|
+
region=(
|
468
|
+
window_rect.left,
|
469
|
+
window_rect.top,
|
470
|
+
window_rect.width(),
|
471
|
+
window_rect.height(),
|
472
|
+
)
|
473
|
+
)
|
474
|
+
username = getpass.getuser()
|
475
|
+
path_to_png = f"C:\\Users\\{username}\\Downloads\\distribuir_iten_{nota.get("nfe")}.png"
|
476
|
+
screenshot.save(path_to_png)
|
477
|
+
console.print(f"Print salvo em {path_to_png}...\n")
|
478
|
+
|
479
|
+
console.print(
|
480
|
+
f"Preparando a imagem para maior resolução e assertividade no OCR...\n"
|
481
|
+
)
|
482
|
+
image = Image.open(path_to_png)
|
483
|
+
image = image.convert("L")
|
484
|
+
enhancer = ImageEnhance.Contrast(image)
|
485
|
+
image = enhancer.enhance(2.0)
|
486
|
+
image.save(path_to_png)
|
487
|
+
console.print(f"Imagem preparada com sucesso...\n")
|
488
|
+
console.print(f"Realizando OCR...\n")
|
489
|
+
captured_text = pytesseract.image_to_string(Image.open(path_to_png))
|
490
|
+
console.print(
|
491
|
+
f"Texto Full capturado {captured_text}...\n"
|
492
|
+
)
|
493
|
+
os.remove(path_to_png)
|
494
|
+
|
495
|
+
pattern_qtd_restante = r"Quantidade restante:\s([\d,]+)"
|
496
|
+
resultado = re.search(pattern_qtd_restante, captured_text)
|
497
|
+
|
498
|
+
try:
|
499
|
+
if resultado:
|
500
|
+
quantidade_restante = int(resultado.group(1).replace(",", ""))
|
501
|
+
|
502
|
+
if quantidade_restante > 0:
|
503
|
+
return RpaRetornoProcessoDTO(
|
504
|
+
sucesso=False,
|
505
|
+
retorno=f"A distribuição informada diverge do que está na nota, {', '.join(distribuicao_atual)} e o valor da quantidade restante é de {str(quantidade_restante)}.",
|
506
|
+
status=RpaHistoricoStatusEnum.Falha,
|
507
|
+
)
|
508
|
+
else:
|
509
|
+
console.print(f"A quantidade restante é igual ou menor que 0, seguindo... \n")
|
510
|
+
else:
|
511
|
+
return RpaRetornoProcessoDTO(
|
512
|
+
sucesso=False,
|
513
|
+
retorno=f"Não foi possivel obter o resultado da quantidade restante, texto extraido: {resultado}",
|
514
|
+
status=RpaHistoricoStatusEnum.Falha,
|
515
|
+
)
|
516
|
+
except Exception as e:
|
517
|
+
return RpaRetornoProcessoDTO(
|
518
|
+
sucesso=False,
|
519
|
+
retorno=f"Erro {e}, Não foi possivel obter o resultado da quantidade restante, texto extraido: {resultado}",
|
520
|
+
status=RpaHistoricoStatusEnum.Falha,
|
521
|
+
)
|
522
|
+
|
461
523
|
console.print(f"Algum Item foi distribuido, clicando em OK para salvar")
|
524
|
+
main_window.set_focus()
|
525
|
+
await worker_sleep(1)
|
462
526
|
btn_ok = main_window.child_window(
|
463
527
|
class_name="TBitBtn", found_index=1
|
464
528
|
)
|
@@ -613,10 +613,10 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
613
613
|
app = Application().connect(title="Informação")
|
614
614
|
dialog = app.window(title="Informação")
|
615
615
|
|
616
|
-
|
617
|
-
if
|
616
|
+
btn_yes = dialog.child_window(title="OK", class_name="Button")
|
617
|
+
if btn_yes.exists():
|
618
618
|
try:
|
619
|
-
|
619
|
+
btn_yes.click()
|
620
620
|
await worker_sleep(3)
|
621
621
|
console.print(
|
622
622
|
"O botão OK de pré-venda incluída foi clicado com sucesso.",
|
@@ -632,7 +632,6 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
632
632
|
retorno=f"Falha ao clicar no botão OK de pré-venda incluída: {e}",
|
633
633
|
status=RpaHistoricoStatusEnum.Falha,
|
634
634
|
)
|
635
|
-
|
636
635
|
else:
|
637
636
|
|
638
637
|
console.print(
|
@@ -656,22 +655,66 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
656
655
|
|
657
656
|
await worker_sleep(3)
|
658
657
|
|
659
|
-
screenshot_path = take_screenshot()
|
658
|
+
# screenshot_path = take_screenshot()
|
660
659
|
# Message 'Deseja pesquisar pré-venda?'
|
661
660
|
console.print(
|
662
661
|
"Verificando a existencia da mensagem: 'Deseja pesquisar pré-venda?'...\n"
|
663
662
|
)
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
663
|
+
try:
|
664
|
+
app = Application().connect(title="Confirm")
|
665
|
+
dialog_prevenda = app.window(title="Confirm")
|
666
|
+
|
667
|
+
btn_yes = dialog_prevenda.child_window(title="&Yes", class_name="TButton")
|
668
|
+
if btn_yes.exists():
|
669
|
+
try:
|
670
|
+
btn_yes.click()
|
671
|
+
await worker_sleep(3)
|
672
|
+
console.print(
|
673
|
+
"O botão YES de pesquisa pré-venda incluída foi clicado com sucesso.",
|
674
|
+
style="green",
|
675
|
+
)
|
676
|
+
except Exception as e:
|
677
|
+
console.print(
|
678
|
+
f"Falha ao clicar no botão YES de pesquisa pré-venda incluída: {e}",
|
679
|
+
style="red",
|
680
|
+
)
|
681
|
+
return RpaRetornoProcessoDTO(
|
682
|
+
sucesso=False,
|
683
|
+
retorno=f"Falha ao clicar no botão YES de pesquisa pré-venda incluída: {e}",
|
684
|
+
status=RpaHistoricoStatusEnum.Falha,
|
685
|
+
)
|
669
686
|
else:
|
670
|
-
|
671
|
-
console.
|
672
|
-
|
673
|
-
|
674
|
-
|
687
|
+
|
688
|
+
console.print(
|
689
|
+
"O Botão OK de pré-venda incluída não foi encontrado.", style="red"
|
690
|
+
)
|
691
|
+
return RpaRetornoProcessoDTO(
|
692
|
+
sucesso=False,
|
693
|
+
retorno="O Botão YES de pesquisa pré-venda incluída não foi encontrado.",
|
694
|
+
status=RpaHistoricoStatusEnum.Falha,
|
695
|
+
)
|
696
|
+
|
697
|
+
except Exception as e:
|
698
|
+
console.print(
|
699
|
+
f"O Botão YES de pesquisa pré-venda incluída não foi encontrado: {e}", style="red"
|
700
|
+
)
|
701
|
+
return RpaRetornoProcessoDTO(
|
702
|
+
sucesso=False,
|
703
|
+
retorno=f"O Botão YES de pesquisa pré-venda incluída não foi encontrado: {e}",
|
704
|
+
status=RpaHistoricoStatusEnum.Falha,
|
705
|
+
)
|
706
|
+
|
707
|
+
# message_prevenda = take_target_position(screenshot_path, "Deseja")
|
708
|
+
# if message_prevenda is not None:
|
709
|
+
# button_yes = find_target_position(screenshot_path, "Yes", attempts=5)
|
710
|
+
# if button_yes is not None:
|
711
|
+
# pyautogui.click(button_yes)
|
712
|
+
# else:
|
713
|
+
# pyautogui.click(914,560)
|
714
|
+
# console.log('Clicou em "Yes" para confirmar pré-venda', style="bold green")
|
715
|
+
# else:
|
716
|
+
# log_msg = f"Mensagem 'Deseja pesquisar pré-venda?' não encontrada."
|
717
|
+
# console.print(log_msg, style="bold yellow")
|
675
718
|
await worker_sleep(5)
|
676
719
|
|
677
720
|
# screenshot_path = take_screenshot()
|
@@ -767,7 +810,7 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
767
810
|
pyautogui.click(pre_venda_sucesso)
|
768
811
|
console.log('Clicou em "OK" na mensagem de sucesso', style="bold green")
|
769
812
|
|
770
|
-
await worker_sleep(
|
813
|
+
await worker_sleep(10)
|
771
814
|
|
772
815
|
# Faturando Pre-venda
|
773
816
|
retorno = await faturar_pre_venda(task)
|
@@ -856,5 +899,4 @@ async def transferencias(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
856
899
|
sucesso=False,
|
857
900
|
retorno=log_msg,
|
858
901
|
status=RpaHistoricoStatusEnum.Falha,
|
859
|
-
)
|
860
|
-
|
902
|
+
)
|
@@ -48,14 +48,14 @@ worker_automate_hub/tasks/jobs/entrada_de_notas_39.py,sha256=YMXbcQ-IXimJzH8npsG
|
|
48
48
|
worker_automate_hub/tasks/jobs/entrada_de_notas_500.py,sha256=ryl5AZ2617aROSVcS-N5wQIBlFQ1Bp0khUH9fP4DOzU,26542
|
49
49
|
worker_automate_hub/tasks/jobs/entrada_de_notas_505.py,sha256=jIml8gjXPdI6_x7S9VVV8IrKZRF7_PTNOMnhNmYMDTU,14490
|
50
50
|
worker_automate_hub/tasks/jobs/entrada_de_notas_7139.py,sha256=8XP9G3n0PUeshbRWkWKOMnyUGRWspIolPZVqQTR3SMI,14184
|
51
|
-
worker_automate_hub/tasks/jobs/entrada_de_notas_9.py,sha256=
|
51
|
+
worker_automate_hub/tasks/jobs/entrada_de_notas_9.py,sha256=OPOE43iMTUg3uNf2ZxqENV_NWn-g7HXBavHHgPN7RoA,47796
|
52
52
|
worker_automate_hub/tasks/jobs/exemplo_processo.py,sha256=3-zxbb-9YHPmSA_K1Qgxp_FwSqg2QDjGBRCLxDZ8QoQ,3451
|
53
53
|
worker_automate_hub/tasks/jobs/fidc_gerar_nosso_numero.py,sha256=Y-mKYcgX1kwcy_sOHvctn7clXnY3O3fohvOs7tKPMkM,9484
|
54
54
|
worker_automate_hub/tasks/jobs/fidc_remessa_cobranca_cnab240.py,sha256=QBGm6eS5JghgNWNqZlk1g2a2iV8LnBLiOTBBL3Giet0,4181
|
55
55
|
worker_automate_hub/tasks/jobs/login_emsys.py,sha256=IoGCIvO4UwmuxOZEn3cvYJlKyhsWvtHvbFk8vwjTroQ,5620
|
56
56
|
worker_automate_hub/tasks/jobs/playground.py,sha256=bdnXv3C7WLQUxt4edGZDfAbRJJ2-q4zuIQaK3GLnaUc,1765
|
57
57
|
worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=KquAdk26kvIKqT5hkHvzKMpa1UzJphx6s7qDv9pVuH4,26243
|
58
|
-
worker_automate_hub/tasks/jobs/transferencias.py,sha256=
|
58
|
+
worker_automate_hub/tasks/jobs/transferencias.py,sha256=GM8OjjIgxu9biXYyQVnW3c-af06tdIPqy3s9QH9UXSs,38023
|
59
59
|
worker_automate_hub/tasks/task_definitions.py,sha256=2Jp1H4_qJZqqGyaP6MA87KLt4QNrtWBYWbXu-2gymFo,4459
|
60
60
|
worker_automate_hub/tasks/task_executor.py,sha256=eXFgWbcM8aMPwENvNix8KyFv7BqvIwhXUDkBSI1ul7M,8873
|
61
61
|
worker_automate_hub/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -67,7 +67,7 @@ worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbV
|
|
67
67
|
worker_automate_hub/utils/util.py,sha256=YCbgMMBwhp9LD6NUmE5S2K6S12TNEpGJm25FqfsIKPE,119544
|
68
68
|
worker_automate_hub/utils/utils_nfe_entrada.py,sha256=yQFyDzvXPSO-UYV1m38WLJ3AWQgZYcyUkHZdCKE1jG4,28360
|
69
69
|
worker_automate_hub/worker.py,sha256=KDBU3L2kVobndrnN5coRZFTwVmBLKmPJjRv20sCo5Hc,4697
|
70
|
-
worker_automate_hub-0.4.
|
71
|
-
worker_automate_hub-0.4.
|
72
|
-
worker_automate_hub-0.4.
|
73
|
-
worker_automate_hub-0.4.
|
70
|
+
worker_automate_hub-0.4.405.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
71
|
+
worker_automate_hub-0.4.405.dist-info/METADATA,sha256=JxHUFknJopcBtPIJogmyAzwxlLNoOtbmoI4kr1RZkNs,2895
|
72
|
+
worker_automate_hub-0.4.405.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
73
|
+
worker_automate_hub-0.4.405.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.4.403.dist-info → worker_automate_hub-0.4.405.dist-info}/entry_points.txt
RENAMED
File without changes
|