Browse Source

Add relatorio capa_processo

pull/202/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
7832664ce7
  1. 114
      relatorios/templates/pdf_capa_processo_gerar.py
  2. 16
      relatorios/templates/pdf_protocolo_gerar.py
  3. 3
      relatorios/urls.py
  4. 119
      relatorios/views.py

114
relatorios/templates/pdf_capa_processo_gerar.py

@ -1,4 +1,4 @@
##parameters=sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro # parameters=sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro
"""relatorio_protocolo.py """relatorio_protocolo.py
External method para gerar o arquivo rml da etiqueta de protocolo External method para gerar o arquivo rml da etiqueta de protocolo
@ -14,69 +14,78 @@ from trml2pdf import parseString
def paraStyle(): def paraStyle():
"""Gera o codigo rml que define o estilo dos paragrafos""" """Gera o codigo rml que define o estilo dos paragrafos"""
tmp_data='' tmp_data = ''
tmp_data+='\t<stylesheet>\n' tmp_data += '\t<stylesheet>\n'
tmp_data+='\t\t<blockTableStyle id="Standard_Outline">\n' tmp_data += '\t\t<blockTableStyle id="Standard_Outline">\n'
tmp_data+='\t\t\t<blockAlignment value="LEFT"/>\n' tmp_data += '\t\t\t<blockAlignment value="LEFT"/>\n'
tmp_data+='\t\t\t<blockValign value="TOP"/>\n' tmp_data += '\t\t\t<blockValign value="TOP"/>\n'
tmp_data+='\t\t</blockTableStyle>\n' tmp_data += '\t\t</blockTableStyle>\n'
tmp_data+='\t\t<initialize>\n' tmp_data += '\t\t<initialize>\n'
tmp_data+='\t\t\t<paraStyle name="all" alignment="justify"/>\n' tmp_data += '\t\t\t<paraStyle name="all" alignment="justify"/>\n'
tmp_data+='\t\t</initialize>\n' tmp_data += '\t\t</initialize>\n'
tmp_data+='\t\t<paraStyle name="P1" fontName="Helvetica" fontSize="9" leading="11" alignment="justify"/>\n' tmp_data += '\t\t<paraStyle name="P1" fontName="Helvetica" fontSize="9" leading="11" alignment="justify"/>\n'
tmp_data+='\t\t<paraStyle name="P2" fontName="Helvetica" fontSize="8" leading="9" alignment="right"/>\n' tmp_data += '\t\t<paraStyle name="P2" fontName="Helvetica" fontSize="8" leading="9" alignment="right"/>\n'
tmp_data+='\t\t<paraStyle name="P3" fontName="Helvetica" fontSize="9" leading="9" alignment="justify"/>\n' tmp_data += '\t\t<paraStyle name="P3" fontName="Helvetica" fontSize="9" leading="9" alignment="justify"/>\n'
tmp_data+='\t</stylesheet>\n' tmp_data += '\t</stylesheet>\n'
return tmp_data return tmp_data
def protocolos(lst_protocolos): def protocolos(lst_protocolos):
"""Gera o codigo rml do conteudo da pesquisa de protocolos""" """Gera o codigo rml do conteudo da pesquisa de protocolos"""
tmp_data='' tmp_data = ''
#inicio do bloco que contem os flowables # inicio do bloco que contem os flowables
tmp_data+='\t<story>\n' tmp_data += '\t<story>\n'
for dic in lst_protocolos: for dic in lst_protocolos:
#condicao para a quebra de pagina # condicao para a quebra de pagina
tmp_data+='\t\t<condPageBreak height="3cm"/>\n' tmp_data += '\t\t<condPageBreak height="3cm"/>\n'
#protocolos # protocolos
tmp_data+='\t\t<barCode code="Code128" x="5.6cm" barHeight="0.3in" barWidth="0.012in">' +dic['titulo']+ '</barCode>\n' tmp_data += '\t\t<barCode code="Code128" x="5.6cm" barHeight="0.3in" barWidth="0.012in">' + \
tmp_data+='\t\t<para style="P2"><b>Protocolo:</b> ' +dic['titulo']+ '</para>\n' dic['titulo'] + '</barCode>\n'
tmp_data+='\t\t<para style="P2">'+ dic['data']+ '</para>\n' tmp_data += '\t\t<para style="P2"><b>Protocolo:</b> ' + \
tmp_data+='\t\t<para style="P1"><b>'+dic['numeracao']+'</b></para>\n' dic['titulo'] + '</para>\n'
tmp_data+='\t\t<para style="P1"><b>'+dic['sgl_processo']+' '+dic['ident_processo']+ ' '+dic['num_processo']+ '</b></para>\n' tmp_data += '\t\t<para style="P2">' + dic['data'] + '</para>\n'
tmp_data+='\t\t<para style="P1"><b>Autor:</b> <font size="8">' +dic['nom_autor']+ '</font></para>\n' tmp_data += '\t\t<para style="P1"><b>' + \
tmp_data+='\t\t<para style="P2">\n' dic['numeracao'] + '</b></para>\n'
tmp_data+='\t\t\t<font color="white"> </font>\n' tmp_data += '\t\t<para style="P1"><b>' + \
tmp_data+='\t\t</para>\n' dic['sgl_processo'] + ' ' + dic['ident_processo'] + \
tmp_data+='\t\t<para style="P3"><b>Ementa:</b> <font size="8">' +dic['txt_assunto']+ '</font></para>\n' ' ' + dic['num_processo'] + '</b></para>\n'
tmp_data += '\t\t<para style="P1"><b>Autor:</b> <font size="8">' + \
tmp_data+='\t</story>\n' dic['nom_autor'] + '</font></para>\n'
tmp_data += '\t\t<para style="P2">\n'
tmp_data += '\t\t\t<font color="white"> </font>\n'
tmp_data += '\t\t</para>\n'
tmp_data += '\t\t<para style="P3"><b>Ementa:</b> <font size="8">' + \
dic['txt_assunto'] + '</font></para>\n'
tmp_data += '\t</story>\n'
return tmp_data return tmp_data
def principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro={}):
def principal(sessao, imagem, data, lst_protocolos, dic_cabecalho, lst_rodape, dic_filtro={}):
"""Funcao pricipal que gera a estrutura global do arquivo rml""" """Funcao pricipal que gera a estrutura global do arquivo rml"""
arquivoPdf=str(int(time.time()*100))+".pdf" arquivoPdf = str(int(time.time() * 100)) + ".pdf"
tmp_data='' tmp_data = ''
tmp_data+='<?xml version="1.0" encoding="utf-8" standalone="no" ?>\n' tmp_data += '<?xml version="1.0" encoding="utf-8" standalone="no" ?>\n'
tmp_data+='<!DOCTYPE document SYSTEM "rml_1_0.dtd">\n' tmp_data += '<!DOCTYPE document SYSTEM "rml_1_0.dtd">\n'
tmp_data+='<document filename="etiquetas.pdf">\n' tmp_data += '<document filename="etiquetas.pdf">\n'
tmp_data+='\t<template pageSize="(10cm, 6.2cm)" title="Etiquetas de Protocolo" author="Luciano De Fazio" allowSplitting="20" rightMargin="3mm" showBoundary="0">\n' tmp_data += '\t<template pageSize="(10cm, 6.2cm)" title="Etiquetas de Protocolo" author="Luciano De Fazio" allowSplitting="20" rightMargin="3mm" showBoundary="0">\n'
tmp_data+='\t\t<pageTemplate id="main">\n' tmp_data += '\t\t<pageTemplate id="main">\n'
tmp_data+='\t\t<pageGraphics>\n' tmp_data += '\t\t<pageGraphics>\n'
tmp_data+='\t\t</pageGraphics>\n' tmp_data += '\t\t</pageGraphics>\n'
tmp_data+='\t\t\t<frame id="first" x1="4mm" y1="1mm" width="94mm" height="60mm"/>\n' tmp_data += '\t\t\t<frame id="first" x1="4mm" y1="1mm" width="94mm" height="60mm"/>\n'
tmp_data+='\t\t</pageTemplate>\n' tmp_data += '\t\t</pageTemplate>\n'
tmp_data+='\t</template>\n' tmp_data += '\t</template>\n'
tmp_data+=paraStyle() tmp_data += paraStyle()
tmp_data+=protocolos(lst_protocolos) tmp_data += protocolos(lst_protocolos)
tmp_data+='</document>\n' tmp_data += '</document>\n'
tmp_pdf=parseString(tmp_data) tmp_pdf = parseString(tmp_data)
return tmp_pdf return tmp_pdf
@ -88,4 +97,5 @@ def principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_fil
# return "/temp_folder/"+arquivoPdf # return "/temp_folder/"+arquivoPdf
# return principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro) # return
# principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro)

16
relatorios/templates/pdf_protocolo_gerar.py

@ -125,12 +125,14 @@ def principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_fil
tmp_data+='</document>\n' tmp_data+='</document>\n'
tmp_pdf=parseString(tmp_data) tmp_pdf=parseString(tmp_data)
if hasattr(context.temp_folder,arquivoPdf): return tmp_pdf
context.temp_folder.manage_delObjects(ids=arquivoPdf)
context.temp_folder.manage_addFile(arquivoPdf)
arq=context.temp_folder[arquivoPdf]
arq.manage_edit(title='Arquivo PDF temporário.',filedata=tmp_pdf,content_type='application/pdf')
return "/temp_folder/"+arquivoPdf # if hasattr(context.temp_folder,arquivoPdf):
# context.temp_folder.manage_delObjects(ids=arquivoPdf)
# context.temp_folder.manage_addFile(arquivoPdf)
# arq=context.temp_folder[arquivoPdf]
# arq.manage_edit(title='Arquivo PDF temporário.',filedata=tmp_pdf,content_type='application/pdf')
return principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro) # return "/temp_folder/"+arquivoPdf
# return principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_filtro)

3
relatorios/urls.py

@ -4,5 +4,6 @@ from .views import relatorio_materia, relatorio_processo
urlpatterns = [ urlpatterns = [
url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'), url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'),
url(r'^relatorios/processo$', relatorio_processo, name='relatorio_processo'), url(r'^relatorios/cap_processo$',
relatorio_processo, name='relatorio_cap_processo'),
] ]

119
relatorios/views.py

@ -1,10 +1,13 @@
from datetime import datetime from datetime import datetime
from django.http import HttpResponse
from base.models import CasaLegislativa from base.models import CasaLegislativa
from base.views import ESTADOS from base.views import ESTADOS
from materia.models import Autoria, MateriaLegislativa, Tramitacao from comissoes.models import Comissao
from django.http import HttpResponse
from materia.models import (Autor, Autoria, MateriaLegislativa, Tramitacao,
Numeracao)
from parlamentares.models import Parlamentar
from protocoloadm.models import Protocolo, DocumentoAdministrativo
from .templates import pdf_capa_processo_gerar, pdf_materia_gerar from .templates import pdf_capa_processo_gerar, pdf_materia_gerar
@ -156,62 +159,69 @@ def relatorio_materia(request):
return response return response
def get_processos(prot): def get_capa_processo(prot):
pass protocolos = []
for p in prot:
# protocolos = [] dic = {}
dic['numero'] = str(p.numero)
# for p in prot: dic['ano'] = str(p.ano)
# dic={} dic['data'] = str(p.data) + ' - ' + str(p.hora)
# dic['titulo']=str(protocolo.cod_protocolo) dic['txt_assunto'] = p.assunto_ementa
# dic['ano']=str(protocolo.ano_protocolo) dic['txt_interessado'] = p.interessado
# dic['data']=context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' - '+protocolo.hor_protocolo dic['nom_autor'] = " "
# dic['txt_assunto']=protocolo.txt_assunto_ementa dic['titulo'] = " "
# dic['txt_interessado']=protocolo.txt_interessado
# dic['nom_autor'] = " " if p.autor is not None:
# if protocolo.cod_autor!=None: for autor in Autor.objects.filter(id=p.autor.id):
# for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): if autor.tipo == 'Parlamentar':
# if autor.des_tipo_autor=='Parlamentar': for parlamentar in Parlamentar.objects.filter(
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): id=p.autor.parlamentar.id):
# dic['nom_autor']=parlamentar.nom_completo dic['nom_autor'] = parlamentar.nome_completo or ' '
# elif autor.des_tipo_autor=='Comissao': elif autor.tipo == 'Comissao':
# for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): for comissao in Comissao.objects.filter(
# dic['nom_autor']=comissao.nom_comissao id=p.autor.comissao.id):
# else: dic['nom_autor'] = comissao.nome or ' '
# dic['nom_autor']=autor.nom_autor else:
# else: dic['nom_autor'] = autor.nome or ' '
# dic['nom_autor']=protocolo.txt_interessado else:
dic['nom_autor'] = p.interessado
# dic['natureza']='' dic['natureza'] = ''
# if protocolo.tip_processo==0: if p.tipo_processo == 0:
# dic['natureza']='Administrativo' dic['natureza'] = 'Administrativo'
# if protocolo.tip_processo==1: if p.tipo_processo == 1:
# dic['natureza']='Legislativo' dic['natureza'] = 'Legislativo'
# dic['ident_processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento dic['ident_processo'] = str(p.tipo_materia) or str(p.tipo_documento)
# dic['sgl_processo']=protocolo.sgl_tipo_materia or protocolo.sgl_tipo_documento dic['sgl_processo'] = str(p.tipo_materia) or str(p.tipo_documento)
# dic['num_materia']='' dic['num_materia'] = ''
# for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): for materia in MateriaLegislativa.objects.filter(
# dic['num_materia']=str(materia.num_ident_basica)+'/'+ str(materia.ano_ident_basica) numero_protocolo=p.numero, ano=p.ano):
dic['num_materia'] = str(materia.numero) + '/' + str(materia.ano)
# dic['num_documento']='' dic['num_documento'] = ''
# for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): for documento in DocumentoAdministrativo.objects.filter(
# dic['num_documento']=str(documento.num_documento)+'/'+ str(documento.ano_documento) numero=p.numero):
dic['num_documento'] = str(
documento.numero) + '/' + str(documento.ano)
# dic['num_processo']=dic['num_materia'] or dic['num_documento'] dic['num_processo'] = dic['num_materia'] or dic['num_documento']
# dic['numeracao']='' dic['numeracao'] = ''
# for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): for materia_num in MateriaLegislativa.objects.filter(
# for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia,ind_excluido=0): numero_protocolo=p.numero, ano=p.ano):
# dic['numeracao']='PROCESSO N&#176; ' +str(numera.num_materia)+'/'+ str(numera.ano_materia) for numera in Numeracao.objects.filter(materia=materia_num):
dic['numeracao'] = 'PROCESSO N&#176; ' + \
str(numera.numero) + '/' + str(numera.ano)
# dic['anulado']='' dic['anulado'] = ''
# if protocolo.ind_anulado==1: if p.anulado == 1:
# dic['anulado']='Nulo' dic['anulado'] = 'Nulo'
# protocolos.append(dic) protocolos.append(dic)
return protocolos
def relatorio_processo(request): def relatorio_processo(request):
@ -228,14 +238,13 @@ def relatorio_processo(request):
rodape = get_rodape(casa) rodape = get_rodape(casa)
imagem = get_imagem(casa) imagem = get_imagem(casa)
protocolos = Protocolo.objects.all()[:50]
protocolos_pdf = get_capa_processo(protocolos)
pdf = pdf_capa_processo_gerar.principal(None,
protocolos = get_processo(protocolos)
pdf = pdf_materia_gerar.principal(None,
imagem, imagem,
None, None,
protocolos, protocolos_pdf,
cabecalho, cabecalho,
rodape) rodape)

Loading…
Cancel
Save