diff --git a/relatorios/templates/pdf_espelho_gerar.py b/relatorios/templates/pdf_espelho_gerar.py
index 7bc9cd84b..81744bcf9 100644
--- a/relatorios/templates/pdf_espelho_gerar.py
+++ b/relatorios/templates/pdf_espelho_gerar.py
@@ -1,4 +1,4 @@
-##parameters=sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro
+# parameters=sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro
"""relatorio_materia.py
External method para gerar o arquivo rml do resultado de uma pesquisa de matérias
@@ -11,55 +11,64 @@ import time
from trml2pdf import parseString
-def cabecalho(dic_cabecalho,imagem):
+def cabecalho(dic_cabecalho, imagem):
"""Gera o codigo rml do cabecalho"""
- tmp_data=''
- tmp_data+='\t\t\t\t\n'
- tmp_data+='\t\t\t\t2cm 25cm 19cm 25cm\n'
- tmp_data+='\t\t\t\t\n'
- tmp_data+='\t\t\t\t' + dic_cabecalho['nom_casa'] + '\n'
- tmp_data+='\t\t\t\t\n'
- tmp_data+='\t\t\t\t' + dic_cabecalho['nom_estado'] + '\n'
- tmp_data+='\t\t\t\t\n'
- tmp_data+='\t\t\t\tSECRETARIA\n'
- return tmp_data
+ tmp_data = ''
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\t2cm 25cm 19cm 25cm\n'
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\t' + \
+ dic_cabecalho['nom_casa'] + '\n'
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\t' + \
+ dic_cabecalho['nom_estado'] + '\n'
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\tSECRETARIA\n'
+ return tmp_data
+
def rodape(lst_rodape):
"""Gera o codigo rml do rodape"""
- tmp_data=''
- tmp_data+='\t\t\t\t2cm 3.2cm 19cm 3.2cm\n'
- tmp_data+='\t\t\t\t\n'
- tmp_data+='\t\t\t\t' + lst_rodape[2] + '\n'
- tmp_data+='\t\t\t\t' + lst_rodape[0] + '\n'
- tmp_data+='\t\t\t\t' + lst_rodape[1] + '\n'
- return tmp_data
+ tmp_data = ''
+ tmp_data += '\t\t\t\t2cm 3.2cm 19cm 3.2cm\n'
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\t' + \
+ lst_rodape[2] + '\n'
+ tmp_data += '\t\t\t\t' + \
+ lst_rodape[0] + '\n'
+ tmp_data += '\t\t\t\t' + \
+ lst_rodape[1] + '\n'
+ return tmp_data
+
def paraStyle():
"""Gera o codigo rml que define o estilo dos paragrafos"""
- tmp_data=''
- tmp_data+='\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t\n'
- tmp_data+='\t\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\n'
- return tmp_data
+ tmp_data = ''
+ tmp_data += '\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t\n'
+ tmp_data += '\t\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\n'
+ return tmp_data
+
def materias(lst_materias):
"""Gera o codigo rml do conteudo da pesquisa de materias"""
- tmp_data=''
+ tmp_data = ''
- #inicio do bloco que contem os flowables
- tmp_data+='\t\n'
+ # inicio do bloco que contem os flowables
+ tmp_data += '\t\n'
for dic in lst_materias:
- #espaco inicial
+ # espaco inicial
# tmp_data+='\t\t\n'
# tmp_data+='\t\t\t \n'
# tmp_data+='\t\t\n'
@@ -67,74 +76,78 @@ def materias(lst_materias):
# tmp_data+='\t\t\t \n'
# tmp_data+='\t\t\n'
- #condicao para a quebra de pagina
- tmp_data+='\t\t\n'
+ # condicao para a quebra de pagina
+ tmp_data += '\t\t\n'
- #materias
+ # materias
# if dic['titulo']!=None:
# tmp_data+='\t\t' + dic['titulo'] + '\n'
# tmp_data+='\t\t\n'
# tmp_data+='\t\t\t \n'
# tmp_data+='\t\t\n'
- if dic['materia']!=None:
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\tINDICAÇÃO: ' + dic['materia'] + '\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
+ if dic['materia'] != None:
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\tINDICAÇÃO: ' + \
+ dic['materia'] + '\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
- if dic['dat_apresentacao']!=None:
- tmp_data+='\t\tDATA DE ENTRADA: ' + dic['dat_apresentacao'] + '\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
-
- if dic['nom_autor']!=None:
- tmp_data+='\t\tAUTOR: ' + dic['nom_autor'] + '\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
-
- if dic['txt_ementa']!=None:
- txt_ementa = dic['txt_ementa'].replace('&','&')
- tmp_data+='\t\tEMENTA: ' + dic['txt_ementa'] + '\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
+ if dic['dat_apresentacao'] != None:
+ tmp_data += '\t\tDATA DE ENTRADA: ' + \
+ dic['dat_apresentacao'] + '\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
+
+ if dic['nom_autor'] != None:
+ tmp_data += '\t\tAUTOR: ' + \
+ dic['nom_autor'] + '\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
+
+ if dic['txt_ementa'] != None:
+ txt_ementa = dic['txt_ementa'].replace('&', '&')
+ tmp_data += '\t\tEMENTA: ' + \
+ dic['txt_ementa'] + '\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
- tmp_data+='\t\n'
- return tmp_data
+ tmp_data += '\t\n'
+ return tmp_data
-def principal(sessao,imagem,data,lst_materias,dic_cabecalho,lst_rodape,dic_filtro={}):
+def principal(sessao, imagem, data, lst_materias, dic_cabecalho, lst_rodape, dic_filtro={}):
"""Funcao pricipal que gera a estrutura global do arquivo rml"""
# if sessao:
# arquivoPdf=sessao+".pdf"
# else:
# arquivoPdf=str(int(time.time()*100))+".pdf"
- arquivoPdf=str(int(time.time()*100))+".pdf"
-
- tmp_data=''
- tmp_data+='\n'
- tmp_data+='\n'
- tmp_data+='\n'
- tmp_data+='\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t\n'
- tmp_data+=cabecalho(dic_cabecalho,imagem)
- tmp_data+=rodape(lst_rodape)
- tmp_data+='\t\t\t\n'
- tmp_data+='\t\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\n'
- tmp_data+=paraStyle()
- tmp_data+=materias(lst_materias)
- tmp_data+='\n'
- tmp_pdf = parseString(tmp_data)
+ arquivoPdf = str(int(time.time() * 100)) + ".pdf"
+
+ tmp_data = ''
+ tmp_data += '\n'
+ tmp_data += '\n'
+ tmp_data += '\n'
+ tmp_data += '\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t\n'
+ tmp_data += cabecalho(dic_cabecalho, imagem)
+ tmp_data += rodape(lst_rodape)
+ tmp_data += '\t\t\t\n'
+ tmp_data += '\t\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\n'
+ tmp_data += paraStyle()
+ tmp_data += materias(lst_materias)
+ tmp_data += '\n'
+ tmp_pdf = parseString(tmp_data)
return tmp_pdf
# try:
diff --git a/relatorios/urls.py b/relatorios/urls.py
index 15a3da226..0b69d687d 100644
--- a/relatorios/urls.py
+++ b/relatorios/urls.py
@@ -1,7 +1,7 @@
from django.conf.urls import url
from .views import (relatorio_documento_administrativo, relatorio_materia,
- relatorio_ordem_dia, relatorio_processo)
+ relatorio_ordem_dia, relatorio_processo, relatorio_espelho)
urlpatterns = [
url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'),
@@ -12,5 +12,7 @@ urlpatterns = [
url(r'^relatorios/relatorio_documento_administrativo$',
relatorio_documento_administrativo,
name='relatorio_documento_administrativo'),
+ url(r'^relatorios/espelho$', relatorio_espelho,
+ name='relatorio_espelho'),
]
diff --git a/relatorios/views.py b/relatorios/views.py
index 0bb31988a..1018cfdce 100644
--- a/relatorios/views.py
+++ b/relatorios/views.py
@@ -13,7 +13,8 @@ from protocoloadm.models import (DocumentoAdministrativo, Protocolo,
from sessao.models import OrdemDia, SessaoPlenaria
from .templates import (pdf_capa_processo_gerar,
- pdf_documento_administrativo_gerar, pdf_materia_gerar)
+ pdf_documento_administrativo_gerar, pdf_espelho_gerar,
+ pdf_materia_gerar)
def get_cabecalho(casa):
@@ -434,3 +435,94 @@ def get_documento_administrativo(docs):
documentos.append(dic)
return documentos
+
+
+def relatorio_espelho(request):
+ '''
+ pdf_espelho_gerar.py
+ '''
+
+ response = HttpResponse(content_type='application/pdf')
+ response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
+
+ casa = CasaLegislativa.objects.first()
+
+ cabecalho = get_cabecalho(casa)
+ rodape = get_rodape(casa)
+ imagem = get_imagem(casa)
+
+ mats = MateriaLegislativa.objects.all()[:50]
+ mat_pdf = get_espelho(mats)
+
+ pdf = pdf_espelho_gerar.principal(
+ None,
+ imagem,
+ None,
+ mat_pdf,
+ cabecalho,
+ rodape)
+ response.write(pdf)
+
+ return response
+
+
+def get_espelho(mats):
+ materias = []
+ for m in mats:
+ dic = {}
+ dic['titulo'] = str(m)
+ dic['materia'] = str(m.numero) + '/' + str(m.ano)
+ dic['dat_apresentacao'] = str(m.data_apresentacao)
+ dic['txt_ementa'] = m.ementa
+
+ dic['nom_autor'] = ' '
+ for autoria in Autoria.objects.filter(materia=m, primeiro_autor=True):
+ for autor in Autor.objects.filter(id=autoria.autor.id):
+ if autor.tipo == 'Parlamentar':
+ for parlamentar in Parlamentar.objects.filter(
+ id=autor.parlamentar.id):
+ dic['nom_autor'] = parlamentar.nome_completo
+ elif autor.tipo == 'Comissao':
+ for comissao in Comissao.objects.filter(
+ id=autor.comissao.id):
+ dic['nom_autor'] = str(comissao)
+ else:
+ dic['nom_autor'] = autor.nome
+
+ des_status = ''
+ txt_tramitacao = ''
+ data_ultima_acao = ''
+
+ dic['localizacao_atual'] = " "
+ for tramitacao in Tramitacao.objects.filter(materia=m):
+ if tramitacao.unidade_tramitacao_destino:
+ cod_unid_tram = tramitacao.unidade_tramitacao_destino
+ else:
+ cod_unid_tram = tramitacao.unidade_tramitacao_local
+
+ for unidade_tramitacao in UnidadeTramitacao.objects.filter(
+ id=cod_unid_tram.id):
+ if unidade_tramitacao.orgao:
+ dic['localizacao_atual'] = unidade_tramitacao.orgao
+ elif unidade_tramitacao.parlamentar:
+ dic['localizacao_atual'] = unidade_tramitacao.parlamentar
+ else:
+ dic['localizacao_atual'] = unidade_tramitacao.comissao
+
+ des_status = tramitacao.status
+ txt_tramitacao = tramitacao.texto
+ data_ultima_acao = tramitacao.data_tramitacao
+
+ dic['des_situacao'] = des_status
+ dic['ultima_acao'] = txt_tramitacao
+ dic['data_ultima_acao'] = data_ultima_acao
+
+ dic['norma_juridica_vinculada'] = 'Não há nenhuma\
+ norma jurídica vinculada'
+ # TODO
+ # for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia):
+ # dic['norma_juridica_vinculada'] = norma.des_norma + " " + \
+ # str(norma.num_norma) + "/" + str(norma.ano_norma)
+
+ materias.append(dic)
+ return materias