def OutrosBeneficios(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'OutrosBeneficios.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_ob_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_ob = df_ob_Ano_Mes_Max.Ano.max() Mes_max_ob = df_ob_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_ob) & (df['Ano'] == Ano_max_ob)][['Ano', 'Mês', 'Justificativa (a)', 'Nome Recebedor (b)', 'Cargo (c)', 'Valores (d)']] #dados filtrados #Paginação: https://pythonhosted.org/Flask-paginate/ e #https://stackoverflow.com/questions/34952501/flask-pagination-links-improperly-formatted page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano)) & (df['Nome Recebedor (b)'].str.capitalize().str.contains(request.form['Nome'])==True)][['Ano', 'Mês', 'Justificativa (a)', 'Nome Recebedor (b)', 'Cargo (c)', 'Valores (d)']] #dados filtrados return render_template('main_orcamento_ob.html',tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable"), titles = 'Outros Benefícios', form = form, pagination=pagination) return render_template('main_orcamento_ob.html',tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable"), titles = 'Outros Benefícios', form = form, pagination=pagination)
def DispensasInexigibilidade(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'DispensasInexigibilidade.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_di_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_di = df_di_Ano_Mes_Max.Ano.max() Mes_max_di = df_di_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_di) & (df['Ano'] == Ano_max_di)][['Ano', 'Mês', 'Dispensa /Inexigibilidade de Licitação (a)' , 'Preceito Legal (b)', 'Número do empenho (c) ' , 'Data do empenho (d)', 'Elemento e Subelemento da Despesa (f)', 'Valor do empenho (g)' , 'Contratado(a) (h)', 'CNPJ/CPF (i)','Nr do Contrato', 'Protocolo']] #dados filtrados page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano)) & (df['Dispensa /Inexigibilidade de Licitação (a)'].str.contains(request.form['Dispensa'])==True) & (df['Nr do Contrato'].str.contains(request.form['Contrato']) == True) & (df['CNPJ/CPF (i)'].str.contains(request.form['CNPJ_CPF']) == True) & (df['Número do empenho (c) '].str.contains(request.form['empenho']) == True)] [['Ano', 'Mês', 'Dispensa /Inexigibilidade de Licitação (a)' , 'Preceito Legal (b)', 'Número do empenho (c) ' , 'Data do empenho (d)', 'Objeto (e)', 'Elemento e Subelemento da Despesa (f)', 'Valor do empenho (g)' , 'Contratado(a) (h)', 'CNPJ/CPF (i)','Nr do Contrato', 'Protocolo' ]] #dados filtrados #return render_template('main_orcamento.html',tables=[df.to_html(classes='table table-fluid', table_id="myTable")], form = form, pagination=pagination) return render_template('main_licitacao_di.html',tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Dispensas e Inexigibilidade', form = form, pagination=pagination) return render_template('main_licitacao_di.html',tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Dispensas e Inexigibilidade', form = form, pagination=pagination)
def TA_AtasRegistroPrecos(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'TA_AtasRegistroPrecos.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) # todos os dados df_ta_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_ta = df_ta_Ano_Mes_Max.Ano.max() Mes_max_ta = df_ta_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_ta) & (df['Ano'] == Ano_max_ta)][['Mês', 'Ano', 'Nº da ARP (a)', 'Nº do Aditivo (b)', 'Objeto (c)', 'Data da Publicação (d)']] page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano)) & (df['Nº da ARP (a)'].str.contains(request.form['N'])== True)][['Mês', 'Ano', 'Nº da ARP (a)', 'Nº do Aditivo (b)', 'Objeto (c)','Data da Publicação (d)']] return render_template('main_licitacao_TA_arp.html', Ano = Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Atas de Registro de Preços (próprias e adesões) Termos Aditivos', form=form, pagination=pagination) return render_template('main_licitacao_TA_arp.html', Ano = Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Atas de Registro de Preços (próprias e adesões) Termos Aditivos', form=form, pagination=pagination)
def TA_ContratoInstrumentoCongenere(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'TA_ContratoInstrumentoCongenere.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) # todos os dados df_ta_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_ta = df_ta_Ano_Mes_Max.Ano.max() Mes_max_ta = df_ta_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_ta) & (df['Ano'] == Ano_max_ta)][['Mês', 'Ano', 'Nº do Convênio (a)', 'Nº. do Aditivo (b)', 'Tipo de Instrumento', 'Objetivo (c)', 'Convenente', 'Data de Publicação (d)', 'Valor Total (e)']] page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano)) & (df['Nº do Convênio (a)'].str.contains(request.form['N']) == True)][['Mês', 'Ano', 'Nº do Convênio (a)', 'Nº. do Aditivo (b)', 'Tipo de Instrumento', 'Objetivo (c)', 'Convenente', 'Data de Publicação (d)', 'Valor Total (e)']] return render_template('main_licitacao_TA_cic.html',tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Convênios e Instrumentos Congêneres (Termos Aditivos)', form=form, pagination=pagination) return render_template('main_licitacao_TA_cic.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Convênios e Instrumentos Congêneres (Termos Aditivos)', form=form, pagination=pagination)
def VerbasExerciciosAnterioresResol_89(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'VerbasExerciciosAnterioresResol_89.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) # todos os dados df_rcom_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_rcom = df_rcom_Ano_Mes_Max.Ano.max() Mes_max_rcom = df_rcom_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_rcom) & (df['Ano'] == Ano_max_rcom)] df = df[[ 'Ano', 'Mês', 'Matrícula', 'Nome do membro /servidor (1)', 'Cargo', 'Lotação', 'Número do processo (1)', 'Objeto do processo (2)', 'Origem do processo administrativo ou judicial (3)', 'Valor bruto (4)', 'Contribuição Previdenciária (5)', 'Imposto de renda (6)', 'Total de descontos (7)', 'Valor líquido (8)' ]] # dados filtrados page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano))][[ 'Ano', 'Mês', 'Matrícula', 'Nome do membro /servidor (1)', 'Cargo', 'Lotação', 'Número do processo (1)', 'Objeto do processo (2)', 'Origem do processo administrativo ou judicial (3)', 'Valor bruto (4)', 'Contribuição Previdenciária (5)', 'Imposto de renda (6)', 'Total de descontos (7)', 'Valor líquido (8)' ]] # dados filtrados return render_template( 'main_contracheque.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html( classes='table table-fluid', table_id="myTable2"), titles= 'Verbas Exercícios Anteriores (a partir de setembro/2019 conforme Res. 200/19 CNMP)', form=form, pagination=pagination) return render_template( 'main_contracheque.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html( classes='table table-fluid', table_id="myTable2"), titles= 'Verbas Exercícios Anteriores (a partir de setembro/2019 conforme Res. 200/19 CNMP)', form=form, pagination=pagination)
def RemuneracaoColaboradoresAdministracao(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'RemuneracaoColaboradoresAdministracao.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_rcom_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_rcom = df_rcom_Ano_Mes_Max.Ano.max() Mes_max_rcom = df_rcom_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_rcom) & (df['Ano'] == Ano_max_rcom)] df = df[[ 'Ano', 'Mês', 'Empresa Contratada (a)', 'Nº do Contrato (b)', 'Término', 'Nome completo (c) ', 'CPF (d)', 'Cargo / Atividades exercida (e)', 'Unidade Administrativa / Município (f)', 'Salário' ]] #dados filtrados #Paginação: https://pythonhosted.org/Flask-paginate/ e #https://stackoverflow.com/questions/34952501/flask-pagination-links-improperly-formatted page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano))][[ 'Ano', 'Mês', 'Empresa Contratada (a)', 'Nº do Contrato (b)', 'Término', 'Nome completo (c) ', 'CPF (d)', 'Cargo / Atividades exercida (e)', 'Unidade Administrativa / Município (f)', 'Salário' ]] #dados filtrados return render_template( 'main_contracheque_cadm.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html( classes='table table-fluid', table_id="myTable2"), titles= 'Remuneração de Colaboradores vinculados ao Departamento de Administração', form=form, pagination=pagination) return render_template( 'main_contracheque_cadm.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html( classes='table table-fluid', table_id="myTable2"), titles= 'Remuneração de Colaboradores vinculados ao Departamento de Administração', form=form, pagination=pagination)
def AtasRegistroPrecos(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'AtasRegistroPrecos.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) # todos os dados df_ta_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_ta = df_ta_Ano_Mes_Max.Ano.max() Mes_max_ta = df_ta_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos i=0 lista_ano_anterior=[] lista_ano_atual=[] while i<=Mes_max_ta: df_ano_max = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_ta)].shape lista_ano_atual.append(df_ano_max[0]) i=i+1 lista_ano_atual.remove(0) i=0 while i<=12: df_ano_ant = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_ta -1)].shape lista_ano_anterior.append(df_ano_ant[0]) i=i+1 lista_ano_anterior.append(0) lista_ano_anterior.remove(0) df = df[(df['Mês'] == Mes_max_ta) & (df['Ano'] == Ano_max_ta)][['Mês', 'Ano', 'Nº (a)', 'Situação', 'Órgão Gerenciador da Ata (b)', 'Objeto (c)', 'Data da Publicação (d)', 'Nº do Edital do Processo (e)', 'Vigência Início (f)', 'Vigência Termino (f)', 'Ítem Registrado (g)', 'Unidade de Medida (h)', 'Valor Unitário (i)', 'Quantidade (j)', 'Valor Total do Ítem (k)', 'Valor Total do Contrato (l)', 'Contratado (m)', 'CNPJ/CPF (n)', 'Sócios (o)']] page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano))][['Mês', 'Ano', 'Nº (a)', 'Situação', 'Órgão Gerenciador da Ata (b)', 'Objeto (c)', 'Data da Publicação (d)', 'Nº do Edital do Processo (e)', 'Vigência Início (f)', 'Vigência Termino (f)', 'Ítem Registrado (g)', 'Unidade de Medida (h)', 'Valor Unitário (i)', 'Quantidade (j)', 'Valor Total do Ítem (k)', 'Valor Total do Contrato (l)', 'Contratado (m)', 'CNPJ/CPF (n)', 'Sócios (o)']] return render_template('main_licitacao_arp.html', Ano = Ano_max_ta,tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Atas de Registro de Preços Próprias e Aderidas', form=form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_licitacao_arp.html', Ano = Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Atas de Registro de Preços Próprias e Aderidas', form=form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def ContratoInstrumentoCongenere(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'ContratoInstrumentoCongenere.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) # todos os dados df_ta_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_ta = df_ta_Ano_Mes_Max.Ano.max() Mes_max_ta = df_ta_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos i=0 lista_ano_anterior=[] lista_ano_atual=[] while i<=Mes_max_ta: df_ano_max = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_ta)].shape lista_ano_atual.append(df_ano_max[0]) i=i+1 lista_ano_atual.remove(0) i=0 while i<=12: df_ano_ant = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_ta -1)].shape lista_ano_anterior.append(df_ano_ant[0]) i=i+1 lista_ano_anterior.append(0) lista_ano_anterior.remove(0) df = df[(df['Mês'] == Mes_max_ta) & (df['Ano'] == Ano_max_ta)][['Mês', 'Ano', 'Nº. do Contrato (a)', 'Tipo de Instrumento (b)', 'Objetivo (c)', 'Data de Publicação (d)', 'Nº. do Processo (e)', 'Vigência Início (l)', 'Vigência Término (l)', 'Situação (g)', 'Convenente (h)', 'CNPJ/CPF (i)', 'Representantes (j)', 'Valor do Repasse (k)', 'Contrapartida (f)', 'Prestação de Contas (m)', 'Termo Aditivo (n)']] page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano))][['Mês', 'Ano', 'Nº. do Contrato (a)', 'Tipo de Instrumento (b)', 'Objetivo (c)', 'Data de Publicação (d)', 'Nº. do Processo (e)', 'Vigência Início (l)', 'Vigência Término (l)', 'Situação (g)', 'Convenente (h)', 'CNPJ/CPF (i)', 'Representantes (j)', 'Valor do Repasse (k)', 'Contrapartida (f)', 'Prestação de Contas (m)', 'Termo Aditivo (n)']] return render_template('main_licitacao_cic.html', Ano = Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Convênios e Instrumentos Congêneres', form=form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_licitacao_cic.html', Ano = Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Convênios e Instrumentos Congêneres', form=form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def PrestadoresServico(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'PrestadoresServico.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) # todos os dados df_ta_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_ta = df_ta_Ano_Mes_Max.Ano.max() Mes_max_ta = df_ta_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos i=1 lista_ano_anterior=[] lista_ano_atual=[] while i<=Mes_max_ta: df_ano_max = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_ta)].shape lista_ano_atual.append(df_ano_max[0]) i=i+1 i=1 while i<=12: df_ano_ant = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_ta -1)].shape lista_ano_anterior.append(df_ano_ant[0]) i=i+1 df = df[(df['Mês'] == Mes_max_ta) & (df['Ano'] == Ano_max_ta)][['Mês', 'Ano', 'Empresa Contratada (a)', 'Nº. do Contrato (b)', 'Nome (c)', 'CPF (d)', 'Cargo/Atividade Exercida (e)', 'Unidade Administrativa (f)']] page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano)) ][['Mês', 'Ano', 'Empresa Contratada (a)', 'Nº. do Contrato (b)', 'Nome (c)', 'CPF (d)', 'Cargo/Atividade Exercida (e)', 'Unidade Administrativa (f)']] return render_template('main_licitacao_ps.html', Ano=Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Prestadores de Serviços', form=form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_licitacao_ps.html', Ano=Ano_max_ta, tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid',table_id="myTable2"), titles='Prestadores de Serviços', form=form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def Licitacoes(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'Licitacoes.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_li_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_li = df_li_Ano_Mes_Max.Ano.max() Mes_max_li = df_li_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos i=0 lista_ano_anterior=[] lista_ano_atual=[] while i<=Mes_max_li: df_ano_max = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_li)].shape lista_ano_atual.append(df_ano_max[0]) i=i+1 lista_ano_atual.remove(0) i=0 while i<=12: df_ano_ant = df[(df['Mês'] == i) & (df['Ano'] == Ano_max_li -1)].shape lista_ano_anterior.append(df_ano_ant[0]) i=i+1 lista_ano_anterior.append(0) lista_ano_anterior.remove(0) df = df[(df['Mês'] == Mes_max_li) & (df['Ano'] == Ano_max_li)][['Ano', 'Mês', 'N° do Edital (a)', 'Data do Edital (b)', 'N° do processo (c)', 'Objeto (d)', 'Tipo (e)', 'Modalidade (f)', 'Situação (g)', 'Resultado (h)']] #dados filtrados page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano))][['Ano', 'Mês', 'N° do Edital (a)', 'Data do Edital (b)', 'N° do processo (c)', 'Objeto (d)', 'Tipo (e)', 'Modalidade (f)', 'Situação (g)', 'Resultado (h)']] #dados filtrados #return render_template('main_orcamento.html',tables=[df.to_html(classes='table table-fluid', table_id="myTable")], form = form, pagination=pagination) return render_template('main_licitacao.html', Ano = Ano_max_li, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Licitações', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_licitacao.html', Ano = Ano_max_li, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Licitações', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def ReceitasProprias(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'ReceitasProprias.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_rp_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_rp = df_rp_Ano_Mes_Max.Ano.max() Mes_max_rp = df_rp_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos df_ano_max = df[(df['Mês'] == Mes_max_rp) & (df['Ano'] == Ano_max_rp) & ((df['Objeto (a)'] == 'Crédito Orçamentário Liberado') | (df['Objeto (a)'] == 'Receitas Próprias'))].sum().iloc[5:17] df_ano_ant = df[(df['Mês'] == 12) & (df['Ano'] == Ano_max_rp -1) & ((df['Objeto (a)'] == 'Crédito Orçamentário Liberado') | (df['Objeto (a)'] == 'Receitas Próprias'))].sum().iloc[5:17] # Criar uma lista com os dados anteriores lista_ano_anterior = df_ano_ant.values.tolist() lista_ano_atual = df_ano_max.values.tolist() # -------------------------------------------------------------------------------------------------------------------------# df = df[(df['Mês'] == Mes_max_rp) & (df['Ano'] == Ano_max_rp)][['Ano','Mês','Objeto (a)', 'Valores Previstos (b)', 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez', 'Total']] #dados filtrados #Paginação: https://pythonhosted.org/Flask-paginate/ e #https://stackoverflow.com/questions/34952501/flask-pagination-links-improperly-formatted page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 7 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='Qtde') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano))][['Ano','Mês','Objeto (a)', 'Valores Previstos (b)', 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez', 'Total']] #dados filtrados #return render_template('main_orcamento.html',tables=[df.to_html(classes='table table-fluid', table_id="myTable")], form = form, pagination=pagination) return render_template('main_orcamento_rpro.html', Ano= Ano_max_rp, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Receitas Próprias', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_orcamento_rpro.html', Ano = Ano_max_rp, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-striped', table_id="myTable2"), titles = 'Receitas Próprias', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def Contrato(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'Contrato.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data)# todos os dados df_co_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_co = df_co_Ano_Mes_Max.Ano.max() Mes_max_co = df_co_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_co) & (df['Ano'] == Ano_max_co)][['Mês', 'Ano','Nº (a)', 'Objeto (b)', 'Data da Publicação (c)', 'Nº do Edital (d)', 'Vigência Inicio (e)', 'Vigência Término (e )', 'Situação (f)', 'Item Fornecido (g)', 'Unidade de Medida (h)', 'Valor Unitário (i)', 'Quantidade (j)', 'Valor Total do Item (k)', 'Valor Total do Contrato (l)', 'Contratado (m)', 'CNPJ/CPF (n)', 'Sócios (o)', 'Termo Aditivo (p)']] # dados filtrados page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano)) & (df['Nº (a)'].str.contains(request.form['N']) == True) & (df['Contratado (m)'].str.contains(request.form['Contratado']) == True) & (df['CNPJ/CPF (n)'].str.contains(request.form['CNPJ_CPF']) == True) & (df['Situação (f)'].str.contains(request.form['Situacao']) == True)][['Mês', 'Ano','Nº (a)', 'Objeto (b)', 'Data da Publicação (c)', 'Nº do Edital (d)', 'Vigência Inicio (e)', 'Vigência Término (e )', 'Situação (f)', 'Item Fornecido (g)', 'Unidade de Medida (h)', 'Valor Unitário (i)', 'Quantidade (j)', 'Valor Total do Item (k)', 'Valor Total do Contrato (l)', 'Contratado (m)', 'CNPJ/CPF (n)', 'Sócios (o)', 'Termo Aditivo (p)', 'Mês', 'Ano']] # dados filtrados return render_template('main_licitacao_con.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles='Contratos', form=form, pagination=pagination) return render_template('main_licitacao_con.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles='Contratos', form=form, pagination=pagination)
def FundosSaldosReceitas(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'FundosSaldosReceitas.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_sfr_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_sfr = df_sfr_Ano_Mes_Max.Ano.max() Mes_max_sfr = df_sfr_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos df_ano_max = df[(df['Mês'] == Mes_max_sfr) & (df['Ano'] == Ano_max_sfr) & (df['Fundo (a)'] == 'Fundo de Reaparelhamento (Lei nº 5.832 de 18/03/1994; Res.nº 007/2004 de 07/12/04 e Res.nº 001/08 de 07/08/08)')].sum().iloc[4:16] df_ano_ant = df[(df['Mês'] == 12) & (df['Ano'] == Ano_max_sfr -1) & (df['Fundo (a)'] == 'Fundo de Reaparelhamento (Lei nº 5.832 de 18/03/1994; Res.nº 007/2004 de 07/12/04 e Res.nº 001/08 de 07/08/08)')].sum().iloc[4:16] # Criar uma lista com os dados anteriores lista_ano_anterior = df_ano_ant.values.tolist() lista_ano_atual = df_ano_max.values.tolist() # -------------------------------------------------------------------------------------------------------------------------# df = df[(df['Mês'] == Mes_max_sfr) & (df['Ano'] == Ano_max_sfr)][['Ano','Mês','Fundo (a)', 'Saldo do Fundo em Janeiro (b)', 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez', 'Saldo Atual (d)']] #dados filtrados #Paginação: https://pythonhosted.org/Flask-paginate/ e #https://stackoverflow.com/questions/34952501/flask-pagination-links-improperly-formatted page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano))][['Ano','Mês','Fundo (a)', 'Saldo do Fundo em Janeiro (b)', 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez', 'Saldo Atual (d)']] #dados filtrados return render_template('main_orcamento_fsr.html',Ano = Ano_max_sfr, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Fundos: Saldos e Receitas', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_orcamento_fsr.html',Ano = Ano_max_sfr, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable2"), titles = 'Fundos: Saldos e Receitas', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def DespesasCartaoCorporativo(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'DespesasCartaoCorporativo.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_dc_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_dc = df_dc_Ano_Mes_Max.Ano.max() Mes_max_dc = df_dc_Ano_Mes_Max.Mês.max() #----------Criar grafico-------------------------------------------------# # Criação de um DF com apenas informação dos meses e os dois últimos anos df_ano_max = df[(df['Ano'] == Ano_max_dc)].sum().iloc[5] df_ano_ant = df[(df['Ano'] == Ano_max_dc -1)].sum().iloc[5] # Criar uma lista com os dados anteriores lista_ano_anterior = [df_ano_ant, 0] lista_ano_atual = [0, df_ano_max] df = df[(df['Mês'] == Mes_max_dc) & (df['Ano'] == Ano_max_dc)][['Mês', 'Ano', 'Suprido (a)', 'Período de Aplicação (c)', 'Aprovação de Contas (d)', 'Data (e)', 'Nome (f)', 'CNPJ/CPF (g)', 'Motivo (h)', 'Valor Pago (i)']] #dados filtrados #Paginação: https://pythonhosted.org/Flask-paginate/ e #https://stackoverflow.com/questions/34952501/flask-pagination-links-improperly-formatted page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) #todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano']==int(ano))][['Mês', 'Ano', 'Suprido (a)', 'Período de Aplicação (c)', 'Aprovação de Contas (d)', 'Data (e)', 'Nome (f)', 'CNPJ/CPF (g)', 'Motivo (h)', 'Valor Pago (i)']] #dados filtrados #return render_template('main_orcamento.html',tables=[df.to_html(classes='table table-fluid', table_id="myTable")], form = form, pagination=pagination) return render_template('main_orcamento_dcc.html', Ano = Ano_max_dc, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable"), titles = 'Despesas com Cartão Corporativo e Suprimento de Fundos', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual) return render_template('main_orcamento_dcc.html', Ano = Ano_max_dc, tables=df[(page-1)*PER_PAGE:page*PER_PAGE].to_html(classes='table table-fluid', table_id="myTable"), titles = 'Despesas com Cartão Corporativo e Suprimento de Fundos', form = form, pagination=pagination, lista_ano_anterior=lista_ano_anterior, lista_ano_atual=lista_ano_atual)
def RemuneracaoMembroInativo(): SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) json_url = os.path.join(SITE_ROOT, 'json_files', 'ContraCheque_MembroInativo.json') json_data = json.load(open(json_url)) df = pd.DataFrame(json_data) #todos os dados df_rcom_Ano_Mes_Max = df[df['Ano'] == df.Ano.max()] Ano_max_rcom = df_rcom_Ano_Mes_Max.Ano.max() Mes_max_rcom = df_rcom_Ano_Mes_Max.Mês.max() df = df[(df['Mês'] == Mes_max_rcom) & (df['Ano'] == Ano_max_rcom)] #alterar aqui os dados que vão aparecer df = df[[ 'Matrícula', 'Nome', 'Cargo', 'Lotação', 'Remun. do Cargo Efetivo(1)', 'Outras Verbas Remuneratórias ou Legais/Judiciais (2)', 'Função de Confiança ou Cargo em Comissão (3)', 'Gratif. Natalina (4)', 'Férias (1/3 Const.) (5)', 'Abono de Permanência (6)', 'Outras Remunerações Temporárias (7)', 'Verbas Indenizatórias (8)', 'Total de Rend. Brutos (9)', 'Contr. Previdenciária (10)', 'Imposto de Renda (11)', 'Retenção p/ Teto Constitucional (12)', 'Outros Descontos', 'Total de descontos (13)', 'Rend. Líquido Total (14)' ]] #dados filtrados #Paginação: https://pythonhosted.org/Flask-paginate/ e #https://stackoverflow.com/questions/34952501/flask-pagination-links-improperly-formatted page = request.args.get(get_page_parameter(), type=int, default=1) PER_PAGE = 5 pagination = Pagination(bs_version=4, page=page, per_page=PER_PAGE, total=len(df), record_name='df') form = ConsultaAnoMes() if form.validate_on_submit(): mes = form.mes.data ano = form.ano.data df = pd.DataFrame(json_data) # todos os dados df = df[(df['Mês'] == int(mes)) & (df['Ano'] == int(ano)) & (df['Matrícula'].str.contains(request.form['Matrícula']) == True) & (df['Nome'].str.contains(request.form['Nome']) == True)] df = df[[ 'Matrícula', 'Nome', 'Cargo', 'Lotação', 'Remun. do Cargo Efetivo(1)', 'Outras Verbas Remuneratórias ou Legais/Judiciais (2)', 'Função de Confiança ou Cargo em Comissão (3)', 'Gratif. Natalina (4)', 'Férias (1/3 Const.) (5)', 'Abono de Permanência (6)', 'Outras Remunerações Temporárias (7)', 'Verbas Indenizatórias (8)', 'Total de Rend. Brutos (9)', 'Contr. Previdenciária (10)', 'Imposto de Renda (11)', 'Retenção p/ Teto Constitucional (12)', 'Outros Descontos', 'Total de descontos (13)', 'Rend. Líquido Total (14)' ]] # dados filtrados # alterar main_contracheque return render_template('main_contracheque.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html( classes='table table-fluid', table_id="myTable2"), titles='Remuneração de Membros Inativos', form=form, pagination=pagination) return render_template('main_contracheque.html', tables=df[(page - 1) * PER_PAGE:page * PER_PAGE].to_html( classes='table table-fluid', table_id="myTable2"), titles='Remuneração de Membros Inativos', form=form, pagination=pagination)