Browse Source

fix #2402

pull/2406/head
Cesar Carvalho 7 years ago
parent
commit
f390106fe9
  1. 12
      sapl/relatorios/templates/pdf_pauta_sessao_gerar.py
  2. 10
      sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
  3. 105
      sapl/relatorios/views.py
  4. 2
      sapl/sessao/views.py

12
sapl/relatorios/templates/pdf_pauta_sessao_gerar.py

@ -124,10 +124,10 @@ def expediente_materia(lst_expediente_materia):
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> - ' + \ tmp += '<tr><td><para style="P3"><b>' + str(expediente_materia['num_ordem']) + '</b> - ' + \
expediente_materia["tipo_materia"] + ' No. ' + \ expediente_materia["tipo_materia"] + ' No. ' + \
expediente_materia['id_materia'] + '</para>\n' + '<para style="P3"><b>Autor: </b>' + \ expediente_materia['id_materia'] + '</para>\n' + '<para style="P3"><b>' + expediente_materia['num_autores'] + ': </b>' + \
expediente_materia['nom_autor'] + '</para></td>\n' expediente_materia['nom_autor'] + '</para></td>\n'
txt_ementa = expediente_materia['txt_ementa'].replace('&', '&amp;') txt_ementa = expediente_materia['txt_ementa'].replace('&', '&amp;')
tmp += '<td><para style="P4">' + txt_ementa + '</para></td>\n' tmp += '<td><para style="P4">' + txt_ementa + '</para>' + '<para style="P4">' + expediente_materia['ordem_observacao'] + '</para></td>\n'
tmp += '<td><para style="P3">' + \ tmp += '<td><para style="P3">' + \
str(expediente_materia['des_situacao']) + '</para></td></tr>\n' str(expediente_materia['des_situacao']) + '</para></td></tr>\n'
@ -151,10 +151,10 @@ def votacao(lst_votacao):
votacao["tipo_materia"] + ' No. ' + \ votacao["tipo_materia"] + ' No. ' + \
str(votacao['id_materia']) + '</para>\n' + '<para style="P3"><b>Processo: </b>' + \ str(votacao['id_materia']) + '</para>\n' + '<para style="P3"><b>Processo: </b>' + \
str(votacao['des_numeracao']) + '</para>\n' + '<para style="P3"><b>Turno: </b>' + \ str(votacao['des_numeracao']) + '</para>\n' + '<para style="P3"><b>Turno: </b>' + \
str(votacao['des_turno']) + '</para>\n' + '<para style="P3"><b>Autor: </b>' + \ str(votacao['des_turno']) + '</para>\n' + '<para style="P3"><b>'+votacao['num_autores']+': </b>' + \
str(votacao['nom_autor']) + '</para></td>\n' str(votacao['nom_autor']) + '</para></td>\n'
tmp += '<td><para style="P4">' + \ txt_ementa = votacao['txt_ementa'].replace('&', '&amp;')
str(votacao['txt_ementa']) + '</para></td>\n' tmp += '<td><para style="P4">' + txt_ementa + '</para>' + '<para style="P4">' + votacao['ordem_observacao'] + '</para></td>\n'
tmp += '<td><para style="P3">' + \ tmp += '<td><para style="P3">' + \
str(votacao['des_situacao']) + '</para></td></tr>\n' str(votacao['des_situacao']) + '</para></td></tr>\n'
@ -162,7 +162,7 @@ def votacao(lst_votacao):
return tmp return tmp
def principal(cabecalho_dic, rodape_dic, sessao, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao): def principal(rodape_dic, imagem, inf_basicas_dic, lst_expediente_materia, lst_votacao):
""" """
""" """

10
sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py

@ -189,8 +189,8 @@ def expediente_materia(lst_expediente_materia):
tmp += '<blockTable style="repeater" repeatRows="1">\n' tmp += '<blockTable style="repeater" repeatRows="1">\n'
tmp += '<tr><td >Matéria</td><td>Ementa</td><td>Resultado da Votação</td></tr>\n' tmp += '<tr><td >Matéria</td><td>Ementa</td><td>Resultado da Votaçã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>Turno: </b>' + str(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>Turno: </b>' + expediente_materia[
'des_turno']) + '</para>\n' + '<para style="P3"><b>'+ expediente_materia['num_autores'] + ': </b>' + str(expediente_materia['nom_autor']) + '</para></td>\n' 'des_turno'] + '</para>\n' + '<para style="P3"><b>'+ expediente_materia['num_autores'] + ': </b>' + str(expediente_materia['nom_autor']) + '</para></td>\n'
txt_ementa = expediente_materia['txt_ementa'].replace('&', '&amp;') txt_ementa = expediente_materia['txt_ementa'].replace('&', '&amp;')
tmp += '<td><para style="P4">' + txt_ementa + '</para>' + '<para style="P4">' + expediente_materia['ordem_observacao'] + '</para></td>\n' tmp += '<td><para style="P4">' + txt_ementa + '</para>' + '<para style="P4">' + expediente_materia['ordem_observacao'] + '</para></td>\n'
tmp += '<td><para style="P3"><b>' + \ tmp += '<td><para style="P3"><b>' + \
@ -252,8 +252,8 @@ def votacao(lst_votacao):
tmp += '<blockTable style="repeater" repeatRows="1">\n' tmp += '<blockTable style="repeater" repeatRows="1">\n'
tmp += '<tr><td >Matéria</td><td>Ementa</td><td>Resultado da Votação</td></tr>\n' tmp += '<tr><td >Matéria</td><td>Ementa</td><td>Resultado da Votaçã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>Turno:</b> ' + str(votacao[ tmp += '<tr><td><para style="P3"><b>' + str(votacao['num_ordem']) + '</b> - ' + votacao['id_materia'] + '</para>\n' + '<para style="P3"><b>Turno:</b> ' + votacao[
'des_turno']) + '</para>\n' + '<para style="P3"><b>'+ votacao['num_autores'] +': </b>' + str(votacao['nom_autor']) + '</para></td>\n' 'des_turno'] + '</para>\n' + '<para style="P3"><b>'+ votacao['num_autores'] +': </b>' + str(votacao['nom_autor']) + '</para></td>\n'
txt_ementa = votacao['txt_ementa'].replace('&', '&amp;') txt_ementa = votacao['txt_ementa'].replace('&', '&amp;')
tmp += '<td><para style="P4">' + txt_ementa + '</para>' + '<para style="P4">' + votacao['ordem_observacao'] + '</para></td>\n' tmp += '<td><para style="P4">' + txt_ementa + '</para>' + '<para style="P4">' + votacao['ordem_observacao'] + '</para></td>\n'
tmp += '<td><para style="P3"><b>' + \ tmp += '<td><para style="P3"><b>' + \
@ -303,7 +303,7 @@ def ocorrencias(lst_ocorrencias):
return tmp return tmp
def principal(cabecalho_dic, rodape_dic, imagem, sessao, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores, lst_ocorrencias): def principal(rodape_dic, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores, lst_ocorrencias):
""" """
""" """
arquivoPdf = str(int(time.time() * 100)) + ".pdf" arquivoPdf = str(int(time.time() * 100)) + ".pdf"

105
sapl/relatorios/views.py

@ -20,7 +20,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao,
OrdemDia, PresencaOrdemDia, SessaoPlenaria, OrdemDia, PresencaOrdemDia, SessaoPlenaria,
SessaoPlenariaPresenca, OcorrenciaSessao) SessaoPlenariaPresenca, OcorrenciaSessao)
from sapl.settings import STATIC_ROOT from sapl.settings import STATIC_ROOT
from sapl.utils import LISTA_DE_UFS, ExtraiTag, TrocaTag, filiacao_data from sapl.utils import LISTA_DE_UFS, TrocaTag, filiacao_data
from .templates import (pdf_capa_processo_gerar, from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar, pdf_espelho_gerar, pdf_documento_administrativo_gerar, pdf_espelho_gerar,
@ -317,7 +317,7 @@ def relatorio_ordem_dia(request):
return response return response
def relatorio_documento_administrativo(request): def relatorio_documento_administrativo():
''' '''
pdf_documento_administrativo_gerar.py pdf_documento_administrativo_gerar.py
''' '''
@ -383,7 +383,7 @@ def get_documento_administrativo(docs):
return documentos return documentos
def relatorio_espelho(request): def relatorio_espelho():
''' '''
pdf_espelho_gerar.py pdf_espelho_gerar.py
''' '''
@ -588,19 +588,19 @@ def get_sessao_plenaria(sessao, casa):
str(numeracao.numero_materia) + '/' + str( str(numeracao.numero_materia) + '/' + str(
numeracao.ano_materia)) numeracao.ano_materia))
turno, _ = get_turno(dic_expediente_materia, materia, sessao.data_inicio) turno, _ = get_turno(materia)
dic_expediente_materia["des_turno"] = turno dic_expediente_materia["des_turno"] = turno
dic_expediente_materia["txt_ementa"] = str(materia.ementa) dic_expediente_materia["txt_ementa"] = str(materia.ementa)
dic_expediente_materia["ordem_observacao"] = expediente_materia.observacao dic_expediente_materia["ordem_observacao"] = expediente_materia.observacao
dic_expediente_materia["nom_resultado"] = '' dic_expediente_materia["nom_resultado"] = ''
dic_expediente_materia["nom_autor"] = '' dic_expediente_materia["nom_autor"] = ''
autoria = expediente_materia.materia.autoria_set.all() autoria = materia.autoria_set.all()
dic_expediente_materia['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor'
if autoria: if autoria:
dic_expediente_materia['num_autores'] = 'Autor ' if len(autoria) == 1 else 'Autores'
for a in autoria: for a in autoria:
if a.autor.nome:
dic_expediente_materia['nom_autor'] += a.autor.nome + ', ' dic_expediente_materia['nom_autor'] += a.autor.nome + ', '
dic_expediente_materia['nom_autor'] = dic_expediente_materia['nom_autor'][:-2] dic_expediente_materia['nom_autor'] = dic_expediente_materia['nom_autor'][:-2]
else: else:
@ -678,7 +678,7 @@ def get_sessao_plenaria(sessao, casa):
'/' + '/' +
str(numeracao.ano_materia)) str(numeracao.ano_materia))
turno, _ = get_turno(dic_votacao, materia, sessao.data_inicio) turno, _ = get_turno(materia)
dic_votacao["des_turno"] = turno dic_votacao["des_turno"] = turno
@ -688,9 +688,10 @@ def get_sessao_plenaria(sessao, casa):
dic_votacao["nom_autor"] = '' dic_votacao["nom_autor"] = ''
autoria = materia.autoria_set.all() autoria = materia.autoria_set.all()
dic_votacao['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor'
if autoria: if autoria:
dic_votacao['num_autores'] = 'Autor ' if len(autoria) == 1 else 'Autores'
for a in autoria: for a in autoria:
if a.autor.nome:
dic_votacao['nom_autor'] += a.autor.nome + ', ' dic_votacao['nom_autor'] += a.autor.nome + ', '
dic_votacao['nom_autor'] = dic_votacao['nom_autor'][:-2] dic_votacao['nom_autor'] = dic_votacao['nom_autor'][:-2]
else: else:
@ -759,20 +760,19 @@ def get_sessao_plenaria(sessao, casa):
lst_ocorrencias) lst_ocorrencias)
def get_turno(dic, materia, sessao_data_inicio): def get_turno(materia):
descricao_turno = ' ' descricao_turno = ''
descricao_tramitacao = ' ' descricao_tramitacao = ''
tramitacao = None
if tramitacao is None:
tramitacao = materia.tramitacao_set.last() tramitacao = materia.tramitacao_set.last()
if tramitacao is not None: if tramitacao:
if tramitacao.turno:
for t in Tramitacao.TURNO_CHOICES: for t in Tramitacao.TURNO_CHOICES:
if t[0] == tramitacao.turno: if t[0] == tramitacao.turno:
descricao_turno = t[1] descricao_turno = str(t[1])
break break
descricao_tramitacao = tramitacao.status.descricao if tramitacao.status else 'Não informada' descricao_tramitacao = tramitacao.status.descricao if tramitacao.status else 'Não informada'
return (descricao_turno, descricao_tramitacao) return descricao_turno, descricao_tramitacao
def relatorio_sessao_plenaria(request, pk): def relatorio_sessao_plenaria(request, pk):
@ -790,7 +790,6 @@ def relatorio_sessao_plenaria(request, pk):
if not casa: if not casa:
raise Http404 raise Http404
cabecalho = get_cabecalho(casa)
rodape = get_rodape(casa) rodape = get_rodape(casa)
imagem = get_imagem(casa) imagem = get_imagem(casa)
@ -820,10 +819,8 @@ def relatorio_sessao_plenaria(request, pk):
lst_expedientes[idx]['txt_expediente'] = txt_expedientes lst_expedientes[idx]['txt_expediente'] = txt_expedientes
pdf = pdf_sessao_plenaria_gerar.principal( pdf = pdf_sessao_plenaria_gerar.principal(
cabecalho,
rodape, rodape,
imagem, imagem,
None,
inf_basicas_dic, inf_basicas_dic,
lst_mesa, lst_mesa,
lst_presenca_sessao, lst_presenca_sessao,
@ -926,7 +923,7 @@ def relatorio_protocolo(request):
return response return response
def relatorio_etiqueta_protocolo(request, nro, ano): def relatorio_etiqueta_protocolo(nro, ano):
''' '''
pdf_etiqueta_protocolo_gerar.py pdf_etiqueta_protocolo_gerar.py
''' '''
@ -1019,7 +1016,6 @@ def relatorio_pauta_sessao(request, pk):
casa = CasaLegislativa.objects.first() casa = CasaLegislativa.objects.first()
cabecalho = get_cabecalho(casa)
rodape = get_rodape(casa) rodape = get_rodape(casa)
imagem = get_imagem(casa) imagem = get_imagem(casa)
@ -1027,9 +1023,7 @@ def relatorio_pauta_sessao(request, pk):
lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao( lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao(
sessao, casa) sessao, casa)
pdf = pdf_pauta_sessao_gerar.principal(cabecalho, pdf = pdf_pauta_sessao_gerar.principal(rodape,
rodape,
sessao,
imagem, imagem,
inf_basicas_dic, inf_basicas_dic,
lst_expediente_materia, lst_expediente_materia,
@ -1072,34 +1066,22 @@ def get_pauta_sessao(sessao, casa):
dic_expediente_materia["des_numeracao"] = ' ' dic_expediente_materia["des_numeracao"] = ' '
numeracao = Numeracao.objects.filter(materia=materia) numeracao = Numeracao.objects.filter(materia=materia)
if numeracao is not None: if numeracao:
numeracao = numeracao.first() numeracao = numeracao.first()
dic_expediente_materia["des_numeracao"] = str(numeracao) dic_expediente_materia["des_numeracao"] = str(numeracao)
dic_expediente_materia["nom_autor"] = ' ' dic_expediente_materia["nom_autor"] = ''
autoria = Autoria.objects.filter( autoria = materia.autoria_set.all()
materia=materia, primeiro_autor=True).first() dic_expediente_materia['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor'
if autoria:
if autoria is not None: for a in autoria:
autor = Autor.objects.filter(id=autoria.autor.id) if a.autor.nome:
dic_expediente_materia['nom_autor'] += a.autor.nome + ', '
if autor is not None: dic_expediente_materia['nom_autor'] = dic_expediente_materia['nom_autor'][:-2]
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: else:
dic_expediente_materia["nom_autor"] = str(autor.nome)
elif autoria is None:
dic_expediente_materia["nom_autor"] = 'Desconhecido' dic_expediente_materia["nom_autor"] = 'Desconhecido'
turno, tramitacao = get_turno(dic_expediente_materia, materia, sessao.data_inicio) turno, tramitacao = get_turno(materia)
dic_expediente_materia["des_turno"] = turno dic_expediente_materia["des_turno"] = turno
dic_expediente_materia["des_situacao"] = tramitacao dic_expediente_materia["des_situacao"] = tramitacao
@ -1127,30 +1109,19 @@ def get_pauta_sessao(sessao, casa):
dic_votacao["des_numeracao"] = str( dic_votacao["des_numeracao"] = str(
numeracao.numero_materia) + '/' + str(numeracao.ano_materia) numeracao.numero_materia) + '/' + str(numeracao.ano_materia)
turno, tramitacao = get_turno(dic_votacao, materia, sessao.data_inicio) turno, tramitacao = get_turno(materia)
dic_votacao["des_turno"] = turno dic_votacao["des_turno"] = turno
dic_votacao["des_situacao"] = tramitacao dic_votacao["des_situacao"] = tramitacao
dic_votacao["nom_autor"] = ' ' dic_votacao["nom_autor"] = ''
autoria = Autoria.objects.filter( autoria = materia.autoria_set.all()
materia=materia, primeiro_autor=True).first() dic_votacao['num_autores'] = 'Autores' if len(autoria) > 1 else 'Autor'
if autoria:
if autoria is not None: for a in autoria:
autor = Autor.objects.filter(id=autoria.autor.id) if a.autor.nome:
if autor is not None: dic_votacao['nom_autor'] += a.autor.nome + ', '
autor = autor.first() dic_votacao['nom_autor'] = dic_votacao['nom_autor'][:-2]
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: else:
dic_votacao["nom_autor"] = str(autor.nome)
elif autoria is None:
dic_votacao["nom_autor"] = 'Desconhecido' dic_votacao["nom_autor"] = 'Desconhecido'
lst_votacao.append(dic_votacao) lst_votacao.append(dic_votacao)

2
sapl/sessao/views.py

@ -195,7 +195,7 @@ def customize_link_materia(context, pk, has_permission, is_expediente):
'-data_tramitacao' '-data_tramitacao'
).first() ).first()
turno = ' ' turno = ' '
if tramitacao is not None: if tramitacao:
for t in Tramitacao.TURNO_CHOICES: for t in Tramitacao.TURNO_CHOICES:
if t[0] == tramitacao.turno: if t[0] == tramitacao.turno:
turno = t[1] turno = t[1]

Loading…
Cancel
Save