Browse Source

Add pauta_sessao report

pull/202/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
c5194a4941
  1. 258
      relatorios/templates/pdf_pauta_sessao_gerar.py
  2. 7
      relatorios/urls.py
  3. 188
      relatorios/views.py

258
relatorios/templates/pdf_pauta_sessao_gerar.py

@ -8,112 +8,102 @@ import time
from trml2pdf import parseString from trml2pdf import parseString
def cabecalho(inf_basicas_dic,imagem): def cabecalho(inf_basicas_dic, imagem):
""" """
""" """
tmp='' tmp = ''
tmp+='\t\t\t\t<image x="2.1cm" y="25.7cm" width="59" height="62" file="' + imagem + '"/>\n' tmp += '\t\t\t\t<image x="2.1cm" y="25.7cm" width="59" height="62" file="' + \
tmp+='\t\t\t\t<lines>2cm 25.4cm 19cm 25.4cm</lines>\n' imagem + '"/>\n'
tmp+='\t\t\t\t<setFont name="Helvetica-Bold" size="14"/>\n' tmp += '\t\t\t\t<lines>2cm 25.4cm 19cm 25.4cm</lines>\n'
tmp+='\t\t\t\t<drawString x="5cm" y="27.2cm">' + str(inf_basicas_dic["nom_camara"]) + '</drawString>\n' tmp += '\t\t\t\t<setFont name="Helvetica-Bold" size="14"/>\n'
tmp+='\t\t\t\t<setFont name="Helvetica" size="12"/>\n' tmp += '\t\t\t\t<drawString x="5cm" y="27.2cm">' + \
tmp+='\t\t\t\t<drawString x="5cm" y="26.6cm">Sistema de Apoio ao Processo Legislativo</drawString>\n' str(inf_basicas_dic["nom_camara"]) + '</drawString>\n'
tmp+='\t\t\t\t<setFont name="Helvetica-Bold" size="12"/>\n' tmp += '\t\t\t\t<setFont name="Helvetica" size="12"/>\n'
tmp+='\t\t\t\t<drawString x="2.2cm" y="24.6cm">Pauta da ' + str(inf_basicas_dic['num_sessao_plen']) + 'ª Reunião ' + str(inf_basicas_dic['nom_sessao']) + ' da ' + str(inf_basicas_dic['num_sessao_leg']) + 'ª Sessão Legislativa da ' + str(inf_basicas_dic['num_legislatura']) + 'ª Legislatura </drawString>\n' tmp += '\t\t\t\t<drawString x="5cm" y="26.6cm">Sistema de Apoio ao Processo Legislativo</drawString>\n'
tmp += '\t\t\t\t<setFont name="Helvetica-Bold" size="12"/>\n'
tmp += '\t\t\t\t<drawString x="2.2cm" y="24.6cm">Pauta da ' + str(inf_basicas_dic['num_sessao_plen']) + 'ª Reunião ' + str(inf_basicas_dic['nom_sessao']) + ' da ' + str(
inf_basicas_dic['num_sessao_leg']) + 'ª Sessão Legislativa da ' + str(inf_basicas_dic['num_legislatura']) + 'ª Legislatura </drawString>\n'
return tmp return tmp
def rodape(rodape_dic):
"""
"""
tmp=''
linha1 = rodape_dic['end_casa']
linha2 = ''
if rodape_dic['end_casa']!="" and rodape_dic['end_casa']!=None:
linha1 = linha1 + " - "
if rodape_dic['num_cep']!="" and rodape_dic['num_cep']!=None:
linha1 = linha1 + "CEP " + rodape_dic['num_cep']
if rodape_dic['nom_localidade']!="" and rodape_dic['nom_localidade']!=None:
linha1 = linha1 + " - " + rodape_dic['nom_localidade']
if rodape_dic['sgl_uf']!="" and rodape_dic['sgl_uf']!=None:
linha1 = linha1 + " " + rodape_dic['sgl_uf']
if rodape_dic['num_tel']!="" and rodape_dic['num_tel']!=None:
linha1 = linha1 + " Tel: "+ rodape_dic['num_tel']
if rodape_dic['end_web_casa']!="" and rodape_dic['end_web_casa']!=None:
linha1 = rodape_dic['end_web_casa']
if rodape_dic['end_email_casa']!="" and rodape_dic['end_email_casa']!=None:
linha2 = linha2 + " - E-mail: " + rodape_dic['end_email_casa']
if rodape_dic['data_emissao']!="" and rodape_dic['data_emissao']!=None:
data_emissao = rodape_dic['data_emissao']
tmp+='\t\t\t\t<lines>2cm 3.2cm 19cm 3.2cm</lines>\n'
tmp+='\t\t\t\t<setFont name="Helvetica" size="8"/>\n'
tmp+='\t\t\t\t<drawString x="2cm" y="3.3cm">' + data_emissao + '</drawString>\n'
tmp+='\t\t\t\t<drawString x="17.9cm" y="3.3cm">Página <pageNumber/></drawString>\n'
tmp+='\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + linha1 + '</drawCentredString>\n'
tmp+='\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + linha2 + '</drawCentredString>\n'
return tmp def rodape(lst_rodape):
"""Gera o codigo rml do rodape"""
tmp_data = ''
tmp_data += '\t\t\t\t<lines>2cm 3.2cm 19cm 3.2cm</lines>\n'
tmp_data += '\t\t\t\t<setFont name="Helvetica" size="8"/>\n'
tmp_data += '\t\t\t\t<drawString x="2cm" y="3.3cm">' + \
lst_rodape[2] + '</drawString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.7cm">' + \
lst_rodape[0] + '</drawCentredString>\n'
tmp_data += '\t\t\t\t<drawCentredString x="10.5cm" y="2.3cm">' + \
lst_rodape[1] + '</drawCentredString>\n'
return tmp_data
def paraStyle(): def paraStyle():
""" """
""" """
tmp='' tmp = ''
tmp+='\t<stylesheet>\n' tmp += '\t<stylesheet>\n'
tmp+='\t\t<blockTableStyle id="repeater" spaceBefore="12">\n' tmp += '\t\t<blockTableStyle id="repeater" spaceBefore="12">\n'
tmp+='\t\t\t<lineStyle kind="OUTLINE" colorName="black" thickness="0.5"/>\n' tmp += '\t\t\t<lineStyle kind="OUTLINE" colorName="black" thickness="0.5"/>\n'
tmp+='\t\t\t<lineStyle kind="GRID" colorName="gray" thickness="0.25"/>\n' tmp += '\t\t\t<lineStyle kind="GRID" colorName="gray" thickness="0.25"/>\n'
tmp+='\t\t\t<blockFont name="Helvetica-Bold" size="8" leading="8" start="0,0" stop="-1,0"/>\n' tmp += '\t\t\t<blockFont name="Helvetica-Bold" size="8" leading="8" start="0,0" stop="-1,0"/>\n'
tmp+='\t\t\t<blockBottomPadding length="1"/>\n' tmp += '\t\t\t<blockBottomPadding length="1"/>\n'
tmp+='\t\t\t<blockBackground colorName="silver" start="0,0" stop="-1,0"/>\n' tmp += '\t\t\t<blockBackground colorName="silver" start="0,0" stop="-1,0"/>\n'
tmp+='\t\t\t<lineStyle kind="LINEBELOW" colorName="black" start="0,0" stop="-1,0" thickness="0.5"/>\n' tmp += '\t\t\t<lineStyle kind="LINEBELOW" colorName="black" start="0,0" stop="-1,0" thickness="0.5"/>\n'
tmp+='\t\t\t<!--body section-->\n' tmp += '\t\t\t<!--body section-->\n'
tmp+='\t\t\t<blockFont name="Helvetica" size="8" leading="9" start="0,1" stop="-1,-1"/>\n' tmp += '\t\t\t<blockFont name="Helvetica" size="8" leading="9" start="0,1" stop="-1,-1"/>\n'
tmp+='\t\t\t<blockTopPadding length="1" start="0,1" stop="-1,-1"/>\n' tmp += '\t\t\t<blockTopPadding length="1" start="0,1" stop="-1,-1"/>\n'
tmp+='\t\t\t<blockAlignment value="LEFT" start="1,1" stop="-1,-1"/>\n' tmp += '\t\t\t<blockAlignment value="LEFT" start="1,1" stop="-1,-1"/>\n'
tmp+='\t\t\t<blockValign value="TOP"/>\n' tmp += '\t\t\t<blockValign value="TOP"/>\n'
tmp+='\t\t</blockTableStyle>\n' tmp += '\t\t</blockTableStyle>\n'
tmp+='\t\t<blockTableStyle id="votacao">\n' tmp += '\t\t<blockTableStyle id="votacao">\n'
tmp+='\t\t\t<blockFont name="Helvetica" size="8" leading="9" start="0,0" stop="-1,0"/>\n' tmp += '\t\t\t<blockFont name="Helvetica" size="8" leading="9" start="0,0" stop="-1,0"/>\n'
tmp+='\t\t\t<blockBackground colorName="silver" start="0,0" stop="3,0" />\n' tmp += '\t\t\t<blockBackground colorName="silver" start="0,0" stop="3,0" />\n'
tmp+='\t\t\t<lineStyle kind="GRID" colorName="silver" />\n' tmp += '\t\t\t<lineStyle kind="GRID" colorName="silver" />\n'
tmp+='\t\t\t<lineStyle kind="LINEBELOW" colorName="black" start="0,0" stop="-1,0" thickness="0.5"/>\n' tmp += '\t\t\t<lineStyle kind="LINEBELOW" colorName="black" start="0,0" stop="-1,0" thickness="0.5"/>\n'
tmp +='\t\t\t<blockAlignment value="LEFT"/>\n' tmp += '\t\t\t<blockAlignment value="LEFT"/>\n'
tmp+='\t\t\t<blockValign value="TOP"/>\n' tmp += '\t\t\t<blockValign value="TOP"/>\n'
tmp+='\t\t</blockTableStyle>\n' tmp += '\t\t</blockTableStyle>\n'
tmp+='\t\t<initialize>\n' tmp += '\t\t<initialize>\n'
tmp+='\t\t\t<paraStyle name="all" alignment="justify"/>\n' tmp += '\t\t\t<paraStyle name="all" alignment="justify"/>\n'
tmp+='\t\t</initialize>\n' tmp += '\t\t</initialize>\n'
tmp+='\t\t<paraStyle name="style.Title" fontName="Helvetica" fontSize="11" leading="13" alignment="RIGHT"/>\n' tmp += '\t\t<paraStyle name="style.Title" fontName="Helvetica" fontSize="11" leading="13" alignment="RIGHT"/>\n'
tmp+='\t\t<paraStyle name="P1" fontName="Helvetica-Bold" fontSize="12.0" textColor="silver" leading="14" spaceBefore="12" alignment="LEFT"/>\n' tmp += '\t\t<paraStyle name="P1" fontName="Helvetica-Bold" fontSize="12.0" textColor="silver" leading="14" spaceBefore="12" alignment="LEFT"/>\n'
tmp+='\t\t<paraStyle name="P2" fontName="Helvetica" fontSize="10.0" leading="10" alignment="JUSTIFY"/>\n' tmp += '\t\t<paraStyle name="P2" fontName="Helvetica" fontSize="10.0" leading="10" alignment="JUSTIFY"/>\n'
tmp+='\t\t<paraStyle name="P3" fontName="Helvetica" fontSize="9" leading="10" spaceAfter="3" alignment="LEFT"/>\n' tmp += '\t\t<paraStyle name="P3" fontName="Helvetica" fontSize="9" leading="10" spaceAfter="3" alignment="LEFT"/>\n'
tmp+='\t\t<paraStyle name="P4" fontName="Helvetica" fontSize="8" leading="9" spaceAfter="3" alignment="JUSTIFY"/>\n' tmp += '\t\t<paraStyle name="P4" fontName="Helvetica" fontSize="8" leading="9" spaceAfter="3" alignment="JUSTIFY"/>\n'
tmp+='\t\t<paraStyle name="texto_projeto" fontName="Helvetica" fontSize="12.0" leading="12" spaceAfter="10" alignment="JUSTIFY"/>\n' tmp += '\t\t<paraStyle name="texto_projeto" fontName="Helvetica" fontSize="12.0" leading="12" spaceAfter="10" alignment="JUSTIFY"/>\n'
tmp+='\t\t<paraStyle name="numOrdem" alignment="CENTER"/>\n' tmp += '\t\t<paraStyle name="numOrdem" alignment="CENTER"/>\n'
tmp+='\t</stylesheet>\n' tmp += '\t</stylesheet>\n'
return tmp return tmp
def inf_basicas(inf_basicas_dic): def inf_basicas(inf_basicas_dic):
""" """
""" """
tmp="" tmp = ""
nom_sessao = inf_basicas_dic['nom_sessao'] nom_sessao = inf_basicas_dic['nom_sessao']
num_sessao_plen = inf_basicas_dic["num_sessao_plen"] num_sessao_plen = inf_basicas_dic["num_sessao_plen"]
num_sessao_leg = inf_basicas_dic["num_sessao_leg"] num_sessao_leg = inf_basicas_dic["num_sessao_leg"]
num_legislatura = inf_basicas_dic["num_legislatura"] num_legislatura = inf_basicas_dic["num_legislatura"]
dat_inicio_sessao = inf_basicas_dic["dat_inicio_sessao"] dat_inicio_sessao = inf_basicas_dic["dat_inicio_sessao"]
hr_inicio_sessao = inf_basicas_dic["hr_inicio_sessao"] hr_inicio_sessao = inf_basicas_dic["hr_inicio_sessao"]
dat_fim_sessao = inf_basicas_dic["dat_fim_sessao"] dat_fim_sessao = inf_basicas_dic["dat_fim_sessao"]
hr_fim_sessao = inf_basicas_dic["hr_fim_sessao"] hr_fim_sessao = inf_basicas_dic["hr_fim_sessao"]
tmp+='\t\t<para style="P1">Informações Básicas</para>\n' tmp += '\t\t<para style="P1">Informações Básicas</para>\n'
tmp+='\t\t<para style="P2">\n' tmp += '\t\t<para style="P2">\n'
tmp+='\t\t\t<font color="white"> </font>\n' tmp += '\t\t\t<font color="white"> </font>\n'
tmp+='\t\t</para>\n' tmp += '\t\t</para>\n'
tmp+='\t\t<para style="P2" spaceAfter="5"><b>Tipo da Sessão: </b> ' + nom_sessao + '</para>\n' tmp += '\t\t<para style="P2" spaceAfter="5"><b>Tipo da Sessão: </b> ' + \
tmp+='\t\t<para style="P2" spaceAfter="5"><b>Abertura: </b> ' + dat_inicio_sessao + ' <b>- </b> ' + hr_inicio_sessao + '</para>\n' nom_sessao + '</para>\n'
tmp += '\t\t<para style="P2" spaceAfter="5"><b>Abertura: </b> ' + \
dat_inicio_sessao.strftime(
"%d/%m/%Y") + ' <b>- </b> ' + hr_inicio_sessao + '</para>\n'
return tmp return tmp
@ -122,67 +112,75 @@ def expediente_materia(lst_expediente_materia):
""" """
""" """
tmp = '' tmp = ''
tmp+='<para style="P1">Matérias do Expediente</para>\n\n' tmp += '<para style="P1">Matérias do Expediente</para>\n\n'
tmp+='\t\t<para style="P2">\n' tmp += '\t\t<para style="P2">\n'
tmp+='\t\t\t<font color="white"> </font>\n' tmp += '\t\t\t<font color="white"> </font>\n'
tmp+='\t\t</para>\n' tmp += '\t\t</para>\n'
tmp+='<blockTable style="repeater" repeatRows="1">\n' tmp += '<blockTable style="repeater" repeatRows="1">\n'
tmp+='<tr><td >Matéria</td><td>Ementa</td><td>Situação</td></tr>\n' tmp += '<tr><td >Matéria</td><td>Ementa</td><td>Situação</td></tr>\n'
for expediente_materia in lst_expediente_materia: for expediente_materia in lst_expediente_materia:
tmp+= '<tr><td><para style="P3"><b>' + str(expediente_materia['num_ordem']) + '</b> - ' + expediente_materia['id_materia'] + '</para>\n' + '<para style="P3"><b>Autor: </b>' + expediente_materia['nom_autor'] +'</para></td>\n' tmp += '<tr><td><para style="P3"><b>' + str(expediente_materia['num_ordem']) + '</b> - ' + expediente_materia[
txt_ementa = expediente_materia['txt_ementa'].replace('&','&amp;') 'id_materia'] + '</para>\n' + '<para style="P3"><b>Autor: </b>' + expediente_materia['nom_autor'] + '</para></td>\n'
tmp+='<td><para style="P4">' + txt_ementa + '</para></td>\n' txt_ementa = expediente_materia['txt_ementa'].replace('&', '&amp;')
tmp+='<td><para style="P3">' + expediente_materia['des_situacao'] + '</para></td></tr>\n' tmp += '<td><para style="P4">' + txt_ementa + '</para></td>\n'
tmp += '<td><para style="P3">' + \
tmp+='\t\t</blockTable>\n' str(expediente_materia['des_situacao']) + '</para></td></tr>\n'
tmp += '\t\t</blockTable>\n'
return tmp return tmp
def votacao(lst_votacao): def votacao(lst_votacao):
""" """
""" """
tmp = '' tmp = ''
tmp+='<para style="P1">Matérias da Ordem do Dia</para>\n\n' tmp += '<para style="P1">Matérias da Ordem do Dia</para>\n\n'
tmp+='\t\t<para style="P2">\n' tmp += '\t\t<para style="P2">\n'
tmp+='\t\t\t<font color="white"> </font>\n' tmp += '\t\t\t<font color="white"> </font>\n'
tmp+='\t\t</para>\n' tmp += '\t\t</para>\n'
tmp+='<blockTable style="repeater" repeatRows="1">\n' tmp += '<blockTable style="repeater" repeatRows="1">\n'
tmp+='<tr><td >Matéria</td><td >Ementa</td><td>Situação</td></tr>\n' tmp += '<tr><td >Matéria</td><td >Ementa</td><td>Situação</td></tr>\n'
for votacao in lst_votacao: for votacao in lst_votacao:
tmp+= '<tr><td><para style="P3"><b>' + str(votacao['num_ordem']) + '</b> - ' + votacao['id_materia'] + '</para>\n' + '<para style="P3"><b>Processo: </b>' + votacao['des_numeracao'] + '</para>\n' + '<para style="P3"><b>Turno: </b>' + votacao['des_turno'] + '</para>\n' + '<para style="P3"><b>Autor: </b>' + votacao['nom_autor'] + '</para></td>\n' tmp += '<tr><td><para style="P3"><b>' + str(votacao['num_ordem']) + '</b> - ' + votacao['id_materia'] + '</para>\n' + '<para style="P3"><b>Processo: </b>' + votacao[
tmp+='<td><para style="P4">' + votacao['txt_ementa'] + '</para></td>\n' 'des_numeracao'] + '</para>\n' + '<para style="P3"><b>Turno: </b>' + votacao['des_turno'] + '</para>\n' + '<para style="P3"><b>Autor: </b>' + votacao['nom_autor'] + '</para></td>\n'
tmp+='<td><para style="P3">' + votacao['des_situacao'] + '</para></td></tr>\n' tmp += '<td><para style="P4">' + \
votacao['txt_ementa'] + '</para></td>\n'
tmp+='\t\t</blockTable>\n' tmp += '<td><para style="P3">' + \
str(votacao['des_situacao']) + '</para></td></tr>\n'
tmp += '\t\t</blockTable>\n'
return tmp return tmp
def principal(cabecalho, rodape, sessao, imagem, inf_basicas_dic):
def principal(cabecalho_dic, rodape_dic, sessao, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao):
""" """
""" """
arquivoPdf=str(int(time.time()*100))+".pdf" arquivoPdf = str(int(time.time() * 100)) + ".pdf"
tmp='' tmp = ''
tmp+='<?xml version="1.0" encoding="utf-8" standalone="no" ?>\n' tmp += '<?xml version="1.0" encoding="utf-8" standalone="no" ?>\n'
tmp+='<!DOCTYPE document SYSTEM "rml_1_0.dtd">\n' tmp += '<!DOCTYPE document SYSTEM "rml_1_0.dtd">\n'
tmp+='<document filename="relatorio.pdf">\n' tmp += '<document filename="relatorio.pdf">\n'
tmp+='\t<template pageSize="(21cm, 29.7cm)" title="Pauta da Sessao Plenaria" author="Interlegis" allowSplitting="20">\n' tmp += '\t<template pageSize="(21cm, 29.7cm)" title="Pauta da Sessao Plenaria" author="Interlegis" allowSplitting="20">\n'
tmp+='\t\t<pageTemplate id="first">\n' tmp += '\t\t<pageTemplate id="first">\n'
tmp+='\t\t\t<pageGraphics>\n' tmp += '\t\t\t<pageGraphics>\n'
tmp+=cabecalho(inf_basicas_dic,imagem) tmp += cabecalho(inf_basicas_dic, imagem)
tmp+=rodape(rodape_dic) tmp += rodape(rodape_dic)
tmp+='\t\t\t</pageGraphics>\n' tmp += '\t\t\t</pageGraphics>\n'
tmp+='\t\t\t<frame id="first" x1="2cm" y1="4cm" width="17cm" height="20.5cm"/>\n' tmp += '\t\t\t<frame id="first" x1="2cm" y1="4cm" width="17cm" height="20.5cm"/>\n'
tmp+='\t\t</pageTemplate>\n' tmp += '\t\t</pageTemplate>\n'
tmp+='\t</template>\n' tmp += '\t</template>\n'
tmp+=paraStyle() tmp += paraStyle()
tmp+='\t<story>\n' tmp += '\t<story>\n'
tmp+=inf_basicas(inf_basicas_dic) tmp += inf_basicas(inf_basicas_dic)
tmp+=expediente_materia(lst_expediente_materia) tmp += expediente_materia(lst_expediente_materia)
tmp+=votacao(lst_votacao) tmp += votacao(lst_votacao)
tmp+='\t</story>\n' tmp += '\t</story>\n'
tmp+='</document>\n' tmp += '</document>\n'
tmp_pdf=parseString(tmp)
tmp_pdf = parseString(tmp)
return tmp_pdf return tmp_pdf
# if hasattr(context.temp_folder,arquivoPdf): # if hasattr(context.temp_folder,arquivoPdf):

7
relatorios/urls.py

@ -3,7 +3,8 @@ from django.conf.urls import url
from .views import (relatorio_documento_administrativo, relatorio_materia, from .views import (relatorio_documento_administrativo, relatorio_materia,
relatorio_ordem_dia, relatorio_processo, relatorio_ordem_dia, relatorio_processo,
relatorio_protocolo, relatorio_espelho, relatorio_protocolo, relatorio_espelho,
relatorio_etiqueta_protocolo) relatorio_etiqueta_protocolo,
relatorio_pauta_sessao)
urlpatterns = [ urlpatterns = [
url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'), url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'),
@ -19,5 +20,7 @@ urlpatterns = [
url(r'^relatorios/protocolo$', url(r'^relatorios/protocolo$',
relatorio_protocolo, name='relatorio_protocolo'), relatorio_protocolo, name='relatorio_protocolo'),
url(r'^relatorios/etiqueta_protocolo$', url(r'^relatorios/etiqueta_protocolo$',
relatorio_etiqueta_protocolo, name='relatorio_etiqueta_protocolo') relatorio_etiqueta_protocolo, name='relatorio_etiqueta_protocolo'),
url(r'^relatorios/pauta_sessao$',
relatorio_pauta_sessao, name='relatorio_pauta_sessao'),
] ]

188
relatorios/views.py

@ -8,20 +8,19 @@ from comissoes.models import Comissao
from materia.models import (Autor, Autoria, MateriaLegislativa, Numeracao, from materia.models import (Autor, Autoria, MateriaLegislativa, Numeracao,
Tramitacao, UnidadeTramitacao) Tramitacao, UnidadeTramitacao)
from django.http import HttpResponse
from parlamentares.models import Parlamentar from parlamentares.models import Parlamentar
from protocoloadm.models import (DocumentoAdministrativo, Protocolo, from protocoloadm.models import (DocumentoAdministrativo, Protocolo,
TramitacaoAdministrativo) TramitacaoAdministrativo)
from sessao.models import OrdemDia, SessaoPlenaria from sessao.models import (ExpedienteMateria, OrdemDia, SessaoPlenaria)
from .templates import (pdf_capa_processo_gerar, from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar, pdf_documento_administrativo_gerar,
pdf_espelho_gerar, pdf_espelho_gerar,
pdf_materia_gerar, pdf_materia_gerar,
pdf_protocolo_gerar, pdf_protocolo_gerar,
pdf_etiqueta_protocolo_gerar) pdf_etiqueta_protocolo_gerar,
pdf_pauta_sessao_gerar)
def get_cabecalho(casa): def get_cabecalho(casa):
@ -694,3 +693,184 @@ def get_etiqueta_protocolos(prots):
protocolos.append(dic) protocolos.append(dic)
return protocolos return protocolos
def relatorio_pauta_sessao(request):
'''
pdf__pauta_sessao_gerar.py
'''
response = HttpResponse(content_type='application/pdf')
response[
'Content-Disposition'] = 'attachment; filename="relatorio_pauta_sessao.pdf"'
casa = CasaLegislativa.objects.first()
cabecalho = get_cabecalho(casa)
rodape = get_rodape(casa)
imagem = get_imagem(casa)
sessao = SessaoPlenaria.objects.first()
lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao(
sessao, casa)
pdf = pdf_pauta_sessao_gerar.principal(cabecalho,
rodape,
sessao,
imagem,
inf_basicas_dic,
lst_expediente_materia,
lst_votacao)
response.write(pdf)
return response
def get_pauta_sessao(sessao, casa):
inf_basicas_dic = {}
inf_basicas_dic["nom_sessao"] = sessao.tipo.nome
inf_basicas_dic["num_sessao_plen"] = sessao.numero
inf_basicas_dic["num_legislatura"] = sessao.legislatura
inf_basicas_dic["num_sessao_leg"] = sessao.legislatura
inf_basicas_dic["dat_inicio_sessao"] = sessao.data_inicio
inf_basicas_dic["hr_inicio_sessao"] = sessao.hora_inicio
inf_basicas_dic["dat_fim_sessao"] = sessao.data_fim
inf_basicas_dic["hr_fim_sessao"] = sessao.hora_fim
inf_basicas_dic["nom_camara"] = casa.nome
lst_expediente_materia = []
for expediente_materia in ExpedienteMateria.objects.filter(
data_ordem=sessao.data_inicio, sessao_plenaria=sessao):
materia = MateriaLegislativa.objects.filter(
id=expediente_materia.materia.id).first()
dic_expediente_materia = {}
dic_expediente_materia["num_ordem"] = str(
expediente_materia.numero_ordem)
dic_expediente_materia["id_materia"] = str(
materia.numero) + "/" + str(materia.ano)
dic_expediente_materia["txt_ementa"] = materia.ementa
dic_expediente_materia["ordem_observacao"] = str(
expediente_materia.observacao)
dic_expediente_materia["des_numeracao"] = ' '
numeracao = Numeracao.objects.filter(materia=materia)
if numeracao is not None:
numeracao = numeracao.first()
dic_expediente_materia["des_numeracao"] = str(numeracao)
dic_expediente_materia["nom_autor"] = ' '
autoria = Autoria.objects.filter(
materia=materia, primeiro_autor=True).first()
if autoria is not None:
autor = Autor.objects.filter(id=autoria.autor.id)
if autor is not None:
autor = autor.first()
if autor.tipo == 'Parlamentar':
parlamentar = Parlamentar.objects.filter(
id=autor.parlamentar.id)
dic_expediente_materia["nom_autor"] = str(
parlamentar.nome_completo)
elif autor.tipo == 'Comissao':
comissao = Comissao.objects.filter(id=autor.comissao.id)
dic_expediente_materia["nom_autor"] = str(comissao)
else:
dic_expediente_materia["nom_autor"] = str(autor.nome)
elif autoria is None:
dic_expediente_materia["nom_autor"] = 'Desconhecido'
dic_expediente_materia["des_turno"] = ' '
dic_expediente_materia["des_situacao"] = ' '
tramitacao = Tramitacao.objects.filter(materia=materia)
if tramitacao is not None:
tramitacao = tramitacao.first()
if tramitacao.turno != '':
for turno in [("P", "Primeiro"),
("S", "Segundo"),
("U", "Único"),
("F", "Final"),
("L", "Suplementar"),
("A", "Votação Única em Regime de Urgência"),
("B", "1ª Votação"),
("C", "2ª e 3ª Votações")]:
if tramitacao.turno == turno.first():
dic_expediente_materia["des_turno"] = turno.first()
dic_expediente_materia["des_situacao"] = tramitacao.status
if dic_expediente_materia["des_situacao"] is None:
dic_expediente_materia["des_situacao"] = ' '
lst_expediente_materia.append(dic_expediente_materia)
lst_votacao = []
for votacao in OrdemDia.objects.filter(
data_ordem=sessao.data_inicio, sessao_plenaria=sessao):
materia = MateriaLegislativa.objects.filter(
id=votacao.materia.id).first()
dic_votacao = {}
dic_votacao["num_ordem"] = votacao.numero_ordem
dic_votacao["id_materia"] = str(
materia.numero) + "/" + str(materia.ano)
dic_votacao["txt_ementa"] = materia.ementa
dic_votacao["ordem_observacao"] = votacao.observacao
dic_votacao["des_numeracao"] = ' '
numeracao = Numeracao.objects.filter(materia=materia)
# if numeracao is not None:
# numeracao = numeracao.first()
# dic_votacao["des_numeracao"] = str(
# numeracao.numero) + '/' + str(numeracao.ano)
dic_votacao["nom_autor"] = ' '
autoria = Autoria.objects.filter(
materia=materia, primeiro_autor=True).first()
if autoria is not None:
autor = Autor.objects.filter(id=autoria.autor.id)
if autor is not None:
autor = autor.first()
if autor.tipo == 'Parlamentar':
parlamentar = Parlamentar.objects.filter(
id=autor.parlamentar.id)
dic_votacao["nom_autor"] = str(parlamentar.nome_completo)
elif autor.tipo == 'Comissao':
comissao = Comissao.objects.filter(
id=autor.comissao.id)
dic_votacao["nom_autor"] = str(comissao)
else:
dic_votacao["nom_autor"] = str(autor.nome)
elif autoria is None:
dic_votacao["nom_autor"] = 'Desconhecido'
dic_votacao["des_turno"] = ' '
dic_votacao["des_situacao"] = ' '
tramitacao = Tramitacao.objects.filter(materia=materia)
if tramitacao is not None:
tramitacao = tramitacao.first()
if tramitacao.turno != '':
for turno in [("P", "Primeiro"),
("S", "Segundo"),
("U", "Único"),
("L", "Suplementar"),
("A", "Votação Única em Regime de Urgência"),
("B", "1ª Votação"),
("C", "2ª e 3ª Votações")]:
if tramitacao.turno == turno.first():
dic_votacao["des_turno"] = turno.first()
dic_votacao["des_situacao"] = tramitacao.status
if dic_votacao["des_situacao"] is None:
dic_votacao["des_situacao"] = ' '
lst_votacao.append(dic_votacao)
return (lst_expediente_materia,
lst_votacao,
inf_basicas_dic)

Loading…
Cancel
Save