worker-automate-hub 0.4.403__py3-none-any.whl → 0.4.405__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|