diff --git a/relatorios/templates/pdf_etiqueta_protocolo_gerar.py b/relatorios/templates/pdf_etiqueta_protocolo_gerar.py
index 6b17b06e1..cc686042b 100755
--- a/relatorios/templates/pdf_etiqueta_protocolo_gerar.py
+++ b/relatorios/templates/pdf_etiqueta_protocolo_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
External method para gerar o arquivo rml da etiqueta de protocolo
@@ -11,102 +11,116 @@ import time
from trml2pdf import parseString
-def cabecalho(inf_basicas_dic,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 25.4cm 19cm 25.4cm\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\tSistema de Apoio ao Processo Legislativo\n'
- tmp_data+='\t\t\t\t\n'
- tmp_data+='\t\t\t\tRelatório de Controle do Protocolo\n'
+ tmp_data = ''
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\t2cm 25.4cm 19cm 25.4cm\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\tSistema de Apoio ao Processo Legislativo\n'
+ tmp_data += '\t\t\t\t\n'
+ tmp_data += '\t\t\t\tRelatório de Controle do Protocolo\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\tPágina \n'
- tmp_data+='\t\t\t\t' + lst_rodape[0] + '\n'
- tmp_data+='\t\t\t\t' + lst_rodape[1] + '\n'
+ 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\tPágina \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'
+ 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 protocolos(lst_protocolos):
+
+def protocolos(lst_protocolos, dic_cabecalho):
"""Gera o codigo rml do conteudo da pesquisa de protocolos"""
- 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_protocolos:
- #condicao para a quebra de pagina
- tmp_data+='\t\t\n'
-
- #protocolos
- if dic['titulo']!=None:
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t'+dic_cabecalho['nom_casa']+'\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t\t \n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\t' +dic['titulo']+ '\n'
- tmp_data+='\t\tPROTOCOLO GERAL '+dic['titulo']+'\n'
- if dic['data']!=None:
- tmp_data+='\t\t'+dic['data']+'\n'
- tmp_data+='\t\t'+dic['natureza']+' - '+dic['ident_processo']+'\n'
-
- tmp_data+='\t\n'
+ # condicao para a quebra de pagina
+ tmp_data += '\t\t\n'
+
+ # protocolos
+ if dic['titulo'] != None:
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t' + \
+ dic_cabecalho['nom_casa'] + '\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t\t \n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\t' + \
+ dic['titulo'] + '\n'
+ tmp_data += '\t\tPROTOCOLO GERAL ' + \
+ dic['titulo'] + '\n'
+ if dic['data'] != None:
+ tmp_data += '\t\t' + \
+ dic['data'] + '\n'
+ tmp_data += '\t\t' + \
+ dic['natureza'] + ' - ' + dic['ident_processo'] + '\n'
+
+ tmp_data += '\t\n'
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"""
- 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+='\t\t\t\n'
- tmp_data+='\t\t\t\n'
- tmp_data+='\t\t\n'
- tmp_data+='\t\n'
- tmp_data+=paraStyle()
- tmp_data+=protocolos(lst_protocolos)
- 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 += '\t\t\t\n'
+ tmp_data += '\t\t\t\n'
+ tmp_data += '\t\t\n'
+ tmp_data += '\t\n'
+ tmp_data += paraStyle()
+ tmp_data += protocolos(lst_protocolos, dic_cabecalho)
+ tmp_data += '\n'
+ tmp_pdf = parseString(tmp_data)
+
return tmp_pdf
# if hasattr(context.temp_folder,arquivoPdf):
# context.temp_folder.manage_delObjects(ids=arquivoPdf)
@@ -116,4 +130,5 @@ def principal(sessao,imagem,data,lst_protocolos,dic_cabecalho,lst_rodape,dic_fil
# 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)
diff --git a/relatorios/urls.py b/relatorios/urls.py
index b40a009c8..810e071ba 100644
--- a/relatorios/urls.py
+++ b/relatorios/urls.py
@@ -2,7 +2,8 @@ from django.conf.urls import url
from .views import (relatorio_documento_administrativo, relatorio_materia,
relatorio_ordem_dia, relatorio_processo,
- relatorio_protocolo, relatorio_espelho)
+ relatorio_protocolo, relatorio_espelho,
+ relatorio_etiqueta_protocolo)
urlpatterns = [
url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'),
@@ -16,5 +17,7 @@ urlpatterns = [
url(r'^relatorios/espelho$', relatorio_espelho,
name='relatorio_espelho'),
url(r'^relatorios/protocolo$',
- relatorio_protocolo, name='relatorio_protocolo')
+ relatorio_protocolo, name='relatorio_protocolo'),
+ url(r'^relatorios/etiqueta_protocolo$',
+ relatorio_etiqueta_protocolo, name='relatorio_etiqueta_protocolo')
]
diff --git a/relatorios/views.py b/relatorios/views.py
index fe5fd310f..26a2b4eed 100644
--- a/relatorios/views.py
+++ b/relatorios/views.py
@@ -7,19 +7,21 @@ from base.views import ESTADOS
from comissoes.models import Comissao
from materia.models import (Autor, Autoria, MateriaLegislativa, Numeracao,
Tramitacao, UnidadeTramitacao)
+
from django.http import HttpResponse
-from sessao.models import OrdemDia
from parlamentares.models import Parlamentar
from protocoloadm.models import (DocumentoAdministrativo, Protocolo,
TramitacaoAdministrativo)
+
from sessao.models import OrdemDia, SessaoPlenaria
from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar,
pdf_espelho_gerar,
pdf_materia_gerar,
- pdf_protocolo_gerar)
+ pdf_protocolo_gerar,
+ pdf_etiqueta_protocolo_gerar)
def get_cabecalho(casa):
@@ -612,3 +614,83 @@ def relatorio_protocolo(request):
response.write(pdf)
return response
+
+
+def relatorio_etiqueta_protocolo(request):
+ '''
+ pdf__etiqueta_protocolo_gerar.py
+ '''
+
+ response = HttpResponse(content_type='application/pdf')
+ response[
+ 'Content-Disposition'] = 'attachment; filename="relatorio_etiqueta_protocolo.pdf"'
+
+ casa = CasaLegislativa.objects.first()
+
+ cabecalho = get_cabecalho(casa)
+ rodape = get_rodape(casa)
+ imagem = get_imagem(casa)
+
+ protocolos = Protocolo.objects.all()[:50]
+
+ protocolo_data = get_etiqueta_protocolos(protocolos)
+
+ pdf = pdf_etiqueta_protocolo_gerar.principal(None,
+ imagem,
+ None,
+ protocolo_data,
+ cabecalho,
+ rodape)
+
+ response.write(pdf)
+
+ return response
+
+
+def get_etiqueta_protocolos(prots):
+
+ protocolos = []
+ for p in prots:
+ dic = {}
+
+ dic['titulo'] = str(p.numero) + '/' + str(p.ano)
+ dic['data'] = p.data.strftime(
+ "%d/%m/%Y") + ' - Horário:' + p.hora.strftime("%H:%m")
+ dic['txt_assunto'] = p.assunto_ementa
+ dic['txt_interessado'] = p.interessado
+
+ dic['nom_autor'] = ' '
+
+ if p.autor:
+ if p.autor.parlamentar:
+ dic['nom_autor'] = p.autor.parlamentar.nome_completo
+ elif p.autor.comissao:
+ dic['nom_autor'] = p.autor.comissao.nome
+
+ dic['natureza'] = ''
+ if p.tipo_processo == 0:
+ dic['natureza'] = 'Administrativo'
+ if p.tipo_processo == 1:
+ dic['natureza'] = 'Legislativo'
+
+ dic['num_materia'] = ''
+ for materia in MateriaLegislativa.objects.filter(
+ numero_protocolo=p.numero, ano=p.ano):
+ dic['num_materia'] = str(materia)
+
+ dic['num_documento'] = ''
+ for documento in DocumentoAdministrativo.objects.filter(
+ numero_protocolo=p.numero):
+ dic['num_documento'] = str(documento)
+
+ dic['ident_processo'] = dic['num_materia'] or dic['num_documento']
+
+ dic['processo'] = (str(p.tipo_materia) or
+ str(p.tipo_documento))
+
+ dic['anulado'] = ''
+ if p.anulado:
+ dic['anulado'] = 'Nulo'
+
+ protocolos.append(dic)
+ return protocolos