worker-automate-hub 0.4.404__py3-none-any.whl → 0.4.406__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_33.py +1 -1
- worker_automate_hub/tasks/jobs/entrada_de_notas_9.py +65 -1
- worker_automate_hub/tasks/jobs/sped_fiscal.py +2 -2
- worker_automate_hub/utils/util.py +17 -16
- {worker_automate_hub-0.4.404.dist-info → worker_automate_hub-0.4.406.dist-info}/METADATA +1 -1
- {worker_automate_hub-0.4.404.dist-info → worker_automate_hub-0.4.406.dist-info}/RECORD +8 -8
- {worker_automate_hub-0.4.404.dist-info → worker_automate_hub-0.4.406.dist-info}/WHEEL +0 -0
- {worker_automate_hub-0.4.404.dist-info → worker_automate_hub-0.4.406.dist-info}/entry_points.txt +0 -0
@@ -323,7 +323,7 @@ async def entrada_de_notas_33(task: RpaProcessoEntradaDTO) -> RpaRetornoProcesso
|
|
323
323
|
status=RpaHistoricoStatusEnum.Falha,
|
324
324
|
)
|
325
325
|
|
326
|
-
await worker_sleep(
|
326
|
+
await worker_sleep(10)
|
327
327
|
|
328
328
|
console.print(
|
329
329
|
"Verificando a existencia de POP-UP de Itens não localizados ou NCM ...\n"
|
@@ -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
|
)
|
@@ -382,7 +382,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
382
382
|
)
|
383
383
|
|
384
384
|
|
385
|
-
await worker_sleep(
|
385
|
+
await worker_sleep(12)
|
386
386
|
console.print(f"Verificando sem possui o pop-up de Registro de Entrada... \n")
|
387
387
|
registro_entrada_pop_up_title = await is_window_open("Registro de Entrada")
|
388
388
|
if registro_entrada_pop_up_title["IsOpened"] == True:
|
@@ -402,7 +402,7 @@ async def sped_fiscal(task: RpaProcessoEntradaDTO) -> RpaRetornoProcessoDTO:
|
|
402
402
|
)
|
403
403
|
|
404
404
|
await worker_sleep(5)
|
405
|
-
max_attempts =
|
405
|
+
max_attempts = 45
|
406
406
|
i = 0
|
407
407
|
|
408
408
|
while i < max_attempts:
|
@@ -2407,25 +2407,26 @@ async def error_before_persist_record() -> RpaRetornoProcessoDTO:
|
|
2407
2407
|
|
2408
2408
|
# TODO: Melhorar o retorno
|
2409
2409
|
async def itens_not_found_supplier(xml: str):
|
2410
|
-
|
2411
|
-
|
2412
|
-
|
2410
|
+
try:
|
2411
|
+
username = getpass.getuser()
|
2412
|
+
console.print("Verificando se existe tela de multiplas referencias.\n")
|
2413
|
+
await worker_sleep(10)
|
2413
2414
|
|
2414
|
-
|
2415
|
-
|
2416
|
-
|
2415
|
+
itens_fornecedor = await is_window_open_by_class(
|
2416
|
+
"TFrmSelecionaItensFornecedor", "TFrmSelecionaItensFornecedor"
|
2417
|
+
)
|
2417
2418
|
|
2418
|
-
|
2419
|
-
|
2420
|
-
|
2421
|
-
|
2422
|
-
|
2423
|
-
|
2424
|
-
|
2419
|
+
if itens_fornecedor["IsOpened"] == True:
|
2420
|
+
console.print("Tela de multiplas referencias existe.\n")
|
2421
|
+
return {
|
2422
|
+
"sucesso": True,
|
2423
|
+
"retorno": f"Tela de Itens fornecedor - Multiplas referencias",
|
2424
|
+
"window": "MultiplasRef",
|
2425
|
+
}
|
2426
|
+
|
2427
|
+
console.print("Iteragindo com a tela de itens não localizados // NCM ...\n")
|
2425
2428
|
|
2426
|
-
|
2427
|
-
try:
|
2428
|
-
app = Application().connect(class_name="TFrmAguarde")
|
2429
|
+
app = Application().connect(class_name="TFrmAguarde", timeout=60)
|
2429
2430
|
|
2430
2431
|
max_attempts = 60
|
2431
2432
|
i = 0
|
@@ -41,20 +41,20 @@ worker_automate_hub/tasks/jobs/entrada_de_notas_15.py,sha256=5Rqz_kf-399nEA3s1_6
|
|
41
41
|
worker_automate_hub/tasks/jobs/entrada_de_notas_16.py,sha256=t13fW63d52OwIUHaJrHY3qxIkd1LjHE_bHkSWqVhy3I,21129
|
42
42
|
worker_automate_hub/tasks/jobs/entrada_de_notas_207.py,sha256=TfvGmH1__OGRx5oYordEJt-gpcETKA9OFhwHQD3yqs4,24928
|
43
43
|
worker_automate_hub/tasks/jobs/entrada_de_notas_32.py,sha256=0cneKY6bQU5neo3TKlGynney_CoOB_J_dctFMYf26WM,32388
|
44
|
-
worker_automate_hub/tasks/jobs/entrada_de_notas_33.py,sha256=
|
44
|
+
worker_automate_hub/tasks/jobs/entrada_de_notas_33.py,sha256=ktXc_kdMhlz9cbb7XjfMJhME29mgMFd_FnatxSZZU_s,31457
|
45
45
|
worker_automate_hub/tasks/jobs/entrada_de_notas_34.py,sha256=iaSmtWTWlazHDtGp22yTV5J5rHDhUCbEaCAnpU7UWyM,31808
|
46
46
|
worker_automate_hub/tasks/jobs/entrada_de_notas_36.py,sha256=vFkDcgJ9uxrMMLYdeONCMxh6_evnhgF1Sun5HEHAWa4,22716
|
47
47
|
worker_automate_hub/tasks/jobs/entrada_de_notas_39.py,sha256=YMXbcQ-IXimJzH8npsGO3525aBrjSSsiiD-TlLdlURo,32664
|
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
|
-
worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=
|
57
|
+
worker_automate_hub/tasks/jobs/sped_fiscal.py,sha256=J6jfssiQTe1EWHIXnr9r73Y02NU17uWu8Ue2qnMkEfo,26244
|
58
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
|
@@ -64,10 +64,10 @@ worker_automate_hub/utils/get_creds_gworkspace.py,sha256=ZJ0IIEjM4IXIV9rwfbOZ1V1
|
|
64
64
|
worker_automate_hub/utils/logger.py,sha256=FYV9fg0_RAYJF_ZOCJEbqQAiCXlXk2gMpvUU1rzT_xs,671
|
65
65
|
worker_automate_hub/utils/toast.py,sha256=xPHc5r5uOxB_cZlCzm13Kt2qSKLLFZALncU6Qg3Ft68,1162
|
66
66
|
worker_automate_hub/utils/updater.py,sha256=en2FCGhI8aZ-JNP3LQm64NJDc4awCNW7UhbVlwDl49Y,7972
|
67
|
-
worker_automate_hub/utils/util.py,sha256=
|
67
|
+
worker_automate_hub/utils/util.py,sha256=PA5ZTg9ukfZpHXcGYwbSIf_ma42quFn3bRUJzXA_Zkw,119622
|
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.406.dist-info/entry_points.txt,sha256=sddyhjx57I08RY8X7UxcTpdoOsWULAWNKN9Xr6pp_Kw,54
|
71
|
+
worker_automate_hub-0.4.406.dist-info/METADATA,sha256=PfwORNpz3zibcWwAbfIDMkuAOSdQwHdACMU0paA0FdY,2895
|
72
|
+
worker_automate_hub-0.4.406.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
73
|
+
worker_automate_hub-0.4.406.dist-info/RECORD,,
|
File without changes
|
{worker_automate_hub-0.4.404.dist-info → worker_automate_hub-0.4.406.dist-info}/entry_points.txt
RENAMED
File without changes
|