Spaces:
Sleeping
Sleeping
import gspread | |
import pandas as pd | |
import numpy as np | |
import streamlit as st | |
import envios | |
import codigos | |
status = 'negative' | |
code = '1g9afHN6H_ThVBExwNkXlhN4AH75TVTERmGP1KB0F1PU' | |
gc = gspread.service_account(filename='chaveSheet.json') | |
sh = gc.open_by_key(code) | |
ws=sh.worksheet('FechamentoCaixa') | |
pd.set_option('display.max_colwidth', None) | |
df = pd.DataFrame(ws.get_all_records()) | |
print(df) | |
position = [] | |
def Verificar(): | |
vazios = [] | |
a = df.loc[:,('controlador','[FechamentoCaixa ] Quantos Caixas foram abertos neste dia por esta secretária?')] | |
for i in range(len(a)): | |
if a.loc[i,'[FechamentoCaixa ] Quantos Caixas foram abertos neste dia por esta secretária?'] != "": | |
position.append(i) | |
else: | |
vazios.append(i) | |
print(vazios) | |
ultimo = position[-1] #posição do ultimo elemento preenchido | |
proximo = ultimo + 1 | |
#print('proximo registro é ',proximo, ' linha -> ',linha) | |
#print("qtd",len(df)) | |
#print(len(a) <= int(proximo)) | |
if (len(vazios) == 0): | |
print('sem dado para preencher') | |
st.text('Não existe dado para preencher') | |
#elif (df.loc[int(proximo),'Nome'] != ""): | |
elif (vazios != ""): | |
st.text('Existe dado para preencher') | |
#st.header('preenchimento') | |
#numeroKeySorteado = random.sample(range(0,1000), len(df)) | |
#print(numeroKeySorteado[2]) | |
#print('Proximo = ',proximo, "Position = ",len(position)) | |
for i in vazios: | |
key = "numeroKeySorteado_{}".format(i) | |
#print(key) | |
# | |
with st.expander(df.loc[i,'Nome']): | |
one = st.text_input('[FechamentoCaixa ] Quantos Caixas foram abertos neste dia por esta secretária?',key=key+'1') | |
two = st.file_uploader('[FechamentoCaixa ] Anexe aqui o relatório de caixa do dia, quem mostra quantos caixa apenas neste dia foram abertos.',key=key+'2') | |
tree = st.selectbox('FechamentoCaixa ] Todos os caixas desta secretária tiveram prestação de contas?',key=key+'3',options=['Sim','Não']) | |
four = st.selectbox('[FechamentoCaixa ] Alguém além das secretárias abriu caixa neste dia?',key=key+'4',options=['Sim','Não']) | |
if four == 'Sim': | |
five = st.text_input('[FechamentoCaixa ] Quem abriu o caixa nesse dia?',key=key+'5') | |
else: | |
five = '' | |
six = st.selectbox('[FechamentoCaixa ] Confira no extrato da conta se o comprovante de depósito de dinheiro foi compensado devidamente. Foi?',key=key+'6',options=['Sim, foi compensado.','Não','Foi realizada uma sangria.','Não Houve entradas nesse dia.','Houve entradas, porém foi utilizado ao longo do dia.']) | |
seven = '' | |
if six == 'Sim, foi compensado.': | |
seven = st.file_uploader('[FechamentoCaixa ] Anexe aqui o print do extrato do depósito correspondente:',key=key+'7') | |
oito = '' | |
if six == 'Foi realizada uma sangria.': | |
oito = st.text_input('[FechamentoCaixa ] Qual o valor da sangria?',key=key+'8') | |
#valores = [[one,two,tree,four,five,six,seven,oito]] | |
if st.button('clicar',key=key): | |
envios.convertion(two,two.name,codigos.CodeFechamentoCaixa) | |
print('upload feito') | |
if six == 'Sim, foi compensado.': | |
envios.convertion(seven,seven.name,codigos.CodeFechamentoCaixa) | |
print('upload feito') | |
if seven != "": | |
seven = 'https://drive.google.com/drive/folders/1NaucQ1-vhkQKOY993Su8EN7ooguPpoFQIkaRxDeu772n5APURpXD1Ni2tFBTP4clixSme9DT '+seven.name | |
else: | |
seven = "" | |
#print('Mario: ',(df.loc[df['Nome'] == 'Mario']).index[0]) | |
print(i) | |
status = 'positive' | |
print('MINHA LINHA POHA MARIO',i+2) | |
linha = i+2 | |
att = 'S{}:Z{}'.format(linha,linha) | |
print(att) | |
#valores = [[one,'teste',tree]] | |
valores = [[one,'https://drive.google.com/drive/folders/1NaucQ1-vhkQKOY993Su8EN7ooguPpoFQIkaRxDeu772n5APURpXD1Ni2tFBTP4clixSme9DT '+two.name,tree,four,five,six,seven,oito]] | |
if status == 'positive': | |
preenchendo = ws.update(att,valores) | |
st.experimental_rerun() | |
# st.session_state.clic = False | |
# st.session_state.botao = True | |
def PgCartao(): | |
control = [] | |
pergunta = df.loc[:,['[FechamentoCaixa ] Qual o valor recebido em cartão por esta secretária?']] | |
for i in range(len(df)): | |
if (df.loc[i,('[FechamentoCaixa ] Qual o valor recebido em cartão por esta secretária?')] == '') and (df.loc[i,('[FechamentoCaixa ] Confira no extrato da conta se o comprovante de depósito de dinheiro foi compensado devidamente. Foi?')] != ""): | |
control.append(i) | |
print(i,df.loc[i,('Nome')]) | |
print(control) | |
if len(control) == 0: | |
st.text('Não Tem dados para preencher nessa fase') | |
elif len(control)>0: | |
for i in control: | |
key = "numeroKeySorteado_{}".format(i) | |
with st.expander(df.loc[i,'Nome']): | |
one = st.text_input('[FechamentoCaixa ] Qual o valor recebido em cartão por esta secretária?',key=key+'10') | |
two = st.text_input('[FechamentoCaixa ] Qual o valor total em cartão das duas secretárias?',key=key+'20') | |
tree = st.text_input('[FechamentoCaixa ] O valor recebido em cartão por ambas as secretárias é igual ao valor total do relatório da máquina de cartão?',key=key+'30') | |
four = st.file_uploader('[FechamentoCaixa ] Anexe aqui o print do valor em cartão do site da maquininha de cartão:',key=key+'40') | |
if st.button('Enviar dados ',key=key+'50'): | |
envios.convertion(four,four.name,codigos.CodeFechamentoCaixa) | |
print('Enviar') | |
linha = i+2 | |
coord = 'AA{}:AD{}'.format(linha,linha) | |
print(coord) | |
#valores = [[one,'teste',tree]] | |
valores = [[one,two,tree,'https://drive.google.com/drive/folders/1NaucQ1-vhkQKOY993Su8EN7ooguPpoFQIkaRxDeu772n5APURpXD1Ni2tFBTP4clixSme9DT '+four.name]] | |
preenchendo = ws.update(coord,valores) | |
st.experimental_rerun() | |
def Consultando(): | |
st.dataframe(df) | |
campo = (st.text_input('Digite o ID ',placeholder=f'Ultimo Registro N° {len(df)-1}')) | |
if st.button('Pesquisar indice'): | |
a = int(campo) | |
print(len(df)) | |
if a<(len(df)): | |
st.table(df.loc[a,:]) | |
elif a>=len(df): | |
st.text('Não temos esse registro') | |
graphic = st.selectbox('Graficos',['--------','Grafico','Kanban','al']) | |
if graphic == 'Grafico': | |
unidade = df['Unidade'].value_counts() | |
new = pd.DataFrame(unidade) | |
new.columns = ['QTD de Envio por Unidade'] | |
# unity.rename(columns={"count":"Unidade"},inplace=True) | |
st.header('Incidencia de dados por unidade') | |
st.bar_chart(new) | |
if graphic == "al": | |
print('oi') | |
brotas = df.loc[:,['Unidade','[FechamentoCaixa ] Quanto em dinheiro entrou no caixa?','[FechamentoCaixa ] Quanto foi gasto em dinheiro neste caixa?','[FechamentoCaixa ] Qual o saldo final em dinheiro no caixa?']] | |
st.table(brotas.value_counts) | |
def CaixaInit(): | |
st.header('Fechamento caixa') | |
box = st.selectbox('Selecione uma fase',['---','Consulta','Conferencia','Pagamento Cartao']) | |
if "visibility" not in st.session_state: | |
st.session_state.visibility = "visivel" | |
if 'botao' not in st.session_state: | |
st.session_state.botao = False | |
if 'conferencia' not in st.session_state: | |
st.session_state.conferencia = False | |
if 'consulta' not in st.session_state: | |
st.session_state.consulta = False | |
if box =='Consulta': | |
st.text('Vamos iniciar uma consulta ao pipeline Fechmaneto Caixa') | |
if st.button('Consultar') or (st.session_state.consulta == True | |
): | |
st.session_state.consulta = True | |
Consultando() | |
if box =='Conferencia': | |
if st.button('Verificar se há conferencia: ') or (st.session_state.conferencia == True ): | |
st.session_state.conferencia = True | |
Verificar() | |
if box =='Pagamento Cartao': | |
if st.button('Verificar se há card na fase Pagamento Cartao: ') or st.session_state.botao == True: | |
st.session_state.botao = True | |
PgCartao() | |
#st.session_state é como se fosse um contador que não é alterado pela inicialização | |
if box =='---': | |
st.markdown('<hr></hr>',unsafe_allow_html=True) | |
st.markdown('<div class="container"></div>',unsafe_allow_html=True) | |
st.markdown('<style>' + open('style.css').read() + '</style>',unsafe_allow_html=True) | |
st.header('Kanban :orange[FECHAMENTO CAIXA]') | |
col1 , col2,col3 = st.tabs(['Conferencia','Pagamento em Cartão','Concluido']) | |
with col1: | |
st.header('Conferencia') | |
#if controlado tiver preenchido e [FechamentoCaixa ] Quantos Caixas foram abertos neste dia por esta secretária? tiver vazio esta nessa fase | |
st.text('Conferencia') | |
for control in range(len(df)): | |
if (df.loc[control,'[FechamentoCaixa ] Quantos Caixas foram abertos neste dia por esta secretária?']) == "": | |
#st.text(df.loc[control,'Nome']) | |
with st.expander(df.loc[control,'Nome']): | |
st.text(df.loc[control,'Unidade']) | |
with col2: | |
st.header('Pagamento em Cartão') | |
#if [FechamentoCaixa ] Confira no extrato da conta se o comprovante de depósito de dinheiro foi compensado devidamente. Foi? tiver preenchido e [FechamentoCaixa ] Qual o valor recebido em cartão por esta secretária? tiver vazio | |
st.text('Pagamento em Cartão') | |
for control in range(len(df)): | |
if (df.loc[control,'[FechamentoCaixa ] Confira no extrato da conta se o comprovante de depósito de dinheiro foi compensado devidamente. Foi?']) != "" and (df.loc[control,'[FechamentoCaixa ] O valor recebido em cartão por ambas as secretárias é igual ao valor total do relatório da máquina de cartão?']) == "": | |
#st.text(df.loc[control,'Nome']) | |
with st.expander(df.loc[control,'Nome']): | |
st.text(df.loc[control,'Unidade']) | |
with col3: | |
#if [FechamentoCaixa ] O valor recebido em cartão por ambas as secretárias é igual ao valor total do relatório da máquina de cartão? tiver preenchido | |
st.header('Concluido') | |
st.text('Concluido') | |
for control in range(len(df)): | |
if (df.loc[control,'[FechamentoCaixa ] O valor recebido em cartão por ambas as secretárias é igual ao valor total do relatório da máquina de cartão?']) != "": | |
#st.text(df.loc[control,'Nome']) | |
with st.expander(df.loc[control,'Nome']): | |
st.text(df.loc[control,'Unidade']) | |
''' | |
st.sidebar.header('Main menu') | |
sideBarSelect = st.sidebar.selectbox('SELECIONANDO O PIPELINE',['-------------','Fechamento de Caixa','Rotina Secretaria']) | |
if sideBarSelect == '-------------': | |
#st.header('Pagina Principal ') | |
st.markdown('<h1 class="h11">Ola usuario :)</h1> <br>',unsafe_allow_html=True) | |
st.text('site ainda em desenvolvimento') | |
st.markdown('<style>' + open('style.css').read() + '</style>', unsafe_allow_html=True) | |
if sideBarSelect == 'Fechamento de Caixa': | |
CaixaInit() | |
''' |