import os import streamlit as st from st_pages import add_page_title, hide_pages import service.LoadService as LoadSvc import service.Mobyan.MobyanService as MobySvc import logging import util.Config as Cfg import util.MapeamentoPorMes as Map import util.WriteFiles as WrtFiles import validador.Validador as Validador import json import time import datetime add_page_title() def readFiles(folder_path='/Users/iurysilva/Downloads/lpremun/In/Excel'): filenames = os.listdir(folder_path) selected_filename = st.selectbox('Selecione o arquivo', filenames, placeholder="Escolha a planilha", index=None) return selected_filename filename = readFiles() with open('/Users/iurysilva/Downloads/lpremun/In/json/parceiros/almaviva.json', 'r') as arquivo_json: dados = json.load(arquivo_json) number = st.number_input("Insira o mês de apuração", placeholder="mês de apuração", min_value=1, max_value=12, value=dados["safra"]["mes"], step=1) logging.basicConfig() logging.getLogger('main').setLevel(logging.INFO) if st.button('Rodar remuneração'): st.write('Arquivo selecionado `%s`' % filename) if "safra" in dados: dados["safra"]["mes"] = number if "processamento" in dados: dados["processamento"]["excel"][0] = filename dados["processamento"]["hc"] = 'Controle_HC_%s_2023' %number if number <10: dados["processamento"]["base"] = '0%s_2023' %number else: dados["processamento"]["base"] = '%s_2023' %number if "safra" in dados: dados["safra"]["mes"] = number with open('/Users/iurysilva/Downloads/lpremun/In/json/parceiros/almaviva.json', 'w') as arquivo_json: json.dump(dados, arquivo_json, indent=4) time.sleep(3) with st.spinner('Rodando remuneração Almaviva'): parceiros = ['Prisma', 'Almaviva', 'Forza', 'Performa', 'Zaz', 'Ramos', 'Mobyan', 'Validador'] entrada_usuario= 'Almaviva' dict_parceiro = { "Mobyan": "04184712000240", "Prisma": "25266246000130", "Zaz": "19687535000100", "Forza": "23793299000265", "Almaviva": "08174089001781", "Performa": "31252427000100", "Ramos": "07625729000100", "Validador": "00000000000000" } if dict_parceiro[entrada_usuario]: parceiro = dict_parceiro[entrada_usuario] WrtFiles.WriteFiles().write_txt( "./Out/temporarios/controle/", "parceiro.json", str(parceiro)) config = Cfg.Config().get_config(parceiro) safra = config.get('safra') # Classe de parametrizacao dos nomes das planilhas da Safra itens_mapeamento = Map.MapeamentoPorMes().controle_hc_por_mes( str(safra.get('mes')), str(safra.get('ano'))) # Inicia o Processamento now = datetime.datetime.now() print(f"Inicio do Processamento - {now}") LoadSvc.LoadService(parceiro).inicia_processamento(itens_mapeamento["hc"]) st.success('Remuneração finalizada!') st.write('Arquivo se encontra na pagina download')