Browse Source

Scaffold of relatorio sessao plenaria

pull/202/head
Edward Ribeiro 9 years ago
parent
commit
ea54237d2b
  1. 5
      relatorios/urls.py
  2. 235
      relatorios/views.py
  3. 2
      sessao/views.py

5
relatorios/urls.py

@ -4,7 +4,8 @@ from .views import (relatorio_documento_administrativo, relatorio_materia,
relatorio_ordem_dia, relatorio_processo,
relatorio_protocolo, relatorio_espelho,
relatorio_etiqueta_protocolo,
relatorio_pauta_sessao)
relatorio_pauta_sessao,
relatorio_sessao_plenaria)
urlpatterns = [
url(r'^relatorios/materia$', relatorio_materia, name='relatorio_materia'),
@ -17,6 +18,8 @@ urlpatterns = [
name='relatorio_documento_administrativo'),
url(r'^relatorios/espelho$', relatorio_espelho,
name='relatorio_espelho'),
url(r'^relatorios/sessao_plenaria$',
relatorio_sessao_plenaria, name='relatorio_sessao_plenaria'),
url(r'^relatorios/protocolo$',
relatorio_protocolo, name='relatorio_protocolo'),
url(r'^relatorios/etiqueta_protocolo$',

235
relatorios/views.py

@ -539,6 +539,241 @@ def get_espelho(mats):
materias.append(dic)
return materias
def get_sessao_plenaria(sessao):
pass
# if context.REQUEST['data']!='':
# dat_inicio_sessao = context.REQUEST['data']
# pauta = [] # lista contendo a pauta da ordem do dia a ser impressa
# data = context.pysc.data_converter_pysc(dat_inicio_sessao) # converte data para formato yyyy/mm/dd
# codigo = context.REQUEST['cod_sessao_plen']
# # seleciona as matérias que compõem a pauta na data escolhida
# for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, cod_sessao_plen=codigo, ind_excluido=0):
# inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria
# # seleciona o tipo da sessao plenaria
# tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0]
# inf_basicas_dic["num_sessao_plen"] = sessao.num_sessao_plen
# inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
# inf_basicas_dic["num_legislatura"] = sessao.num_legislatura
# inf_basicas_dic["num_sessao_leg"] = sessao.num_sessao_leg
# inf_basicas_dic["dat_inicio_sessao"] = sessao.dat_inicio_sessao
# inf_basicas_dic["hr_inicio_sessao"] = sessao.hr_inicio_sessao
# inf_basicas_dic["dat_fim_sessao"] = sessao.dat_fim_sessao
# inf_basicas_dic["hr_fim_sessao"] = sessao.hr_fim_sessao
# # Lista da composicao da mesa diretora
# lst_mesa = []
# for composicao in context.zsql.composicao_mesa_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=composicao.cod_parlamentar,ind_excluido=0):
# for cargo in context.zsql.cargo_mesa_obter_zsql(cod_cargo=composicao.cod_cargo, ind_excluido=0):
# dic_mesa = {}
# dic_mesa['nom_parlamentar'] = parlamentar.nom_parlamentar
# dic_mesa['sgl_partido'] = parlamentar.sgl_partido
# dic_mesa['des_cargo'] = cargo.des_cargo
# lst_mesa.append(dic_mesa)
# # Lista de presença na sessão
# lst_presenca_sessao = []
# for presenca in context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca.cod_parlamentar,ind_excluido=0):
# dic_presenca = {}
# dic_presenca["nom_parlamentar"] = parlamentar.nom_parlamentar
# dic_presenca['sgl_partido'] = parlamentar.sgl_partido
# lst_presenca_sessao.append(dic_presenca)
# # Exibe os Expedientes
# lst_expedientes = []
# dic_expedientes = None
# for tip_expediente in context.zsql.tipo_expediente_obter_zsql():
# for expediente in context.zsql.expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,cod_expediente=tip_expediente.cod_expediente, ind_excluido=0):
# dic_expedientes = {}
# dic_expedientes["nom_expediente"] = tip_expediente.nom_expediente
# dic_expedientes["txt_expediente"] = expediente.txt_expediente
# if dic_expedientes:
# lst_expedientes.append(dic_expedientes)
# # Lista das matérias do Expediente, incluindo o resultado das votacoes
# lst_expediente_materia=[]
# for expediente_materia in context.zsql.votacao_expediente_materia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# # seleciona os detalhes de uma matéria
# materia = context.zsql.materia_obter_zsql(cod_materia=expediente_materia.cod_materia)[0]
# dic_expediente_materia = {}
# dic_expediente_materia["num_ordem"] = expediente_materia.num_ordem
# dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
# dic_expediente_materia["des_numeracao"]=""
# numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia)
# if len(numeracao):
# numeracao = numeracao[0]
# dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
# tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
# dic_expediente_materia["des_turno"]=""
# if len(tram):
# tram_turno = tram[0]
# if tram_turno.sgl_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"), ("F", "Final")]:
# if tram_turno.sgl_turno == turno[0]:
# dic_expediente_materia["des_turno"] = turno[1]
# dic_expediente_materia["txt_ementa"] = materia.txt_ementa
# dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
# dic_expediente_materia["nom_autor"] = ""
# autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)
# if len(autoria) > 0: # se existe autor
# autoria = autoria[0]
# autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
# if len(autor) > 0:
# autor = autor[0]
# try:
# if autor.des_tipo_autor == "Parlamentar":
# parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
# dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
# elif autor.des_tipo_autor == "Comissao":
# comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
# dic_expediente_materia["nom_autor"] = comissao.nom_comissao
# elif autor.nom_autor != "":
# dic_expediente_materia["nom_autor"] = autor.nom_autor
# else:
# dic_expediente_materia["nom_autor"] = autor.des_tipo_autor
# except:
# dic_expediente_materia["nom_autor"] = "NC-em"
# dic_expediente_materia["votacao_observacao"]=""
# if expediente_materia.tip_resultado_votacao:
# resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
# for i in resultado:
# dic_expediente_materia["nom_resultado"] = i.nom_resultado
# if expediente_materia.votacao_observacao:
# dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao
# else:
# dic_expediente_materia["nom_resultado"] = "Matéria não votada"
# dic_expediente_materia["votacao_observacao"] = "Vazio"
# lst_expediente_materia.append(dic_expediente_materia)
# # Lista dos oradores do Expediente
# lst_oradores_expediente = []
# for orador_expediente in context.zsql.oradores_expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador_expediente.cod_parlamentar,ind_excluido=0):
# dic_oradores_expediente = {}
# dic_oradores_expediente["num_ordem"] = orador_expediente.num_ordem
# dic_oradores_expediente["nom_parlamentar"] = parlamentar.nom_parlamentar
# dic_oradores_expediente['sgl_partido'] = parlamentar.sgl_partido
# lst_oradores_expediente.append(dic_oradores_expediente)
# # Lista presença na ordem do dia
# lst_presenca_ordem_dia = []
# for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar,ind_excluido=0):
# dic_presenca_ordem_dia = {}
# dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar
# dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido
# lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)
# # Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
# lst_votacao=[]
# for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# # seleciona os detalhes de uma matéria
# materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
# dic_votacao = {}
# dic_votacao["num_ordem"] = votacao.num_ordem
# dic_votacao["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
# dic_votacao["des_numeracao"]=""
# numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia)
# if len(numeracao):
# numeracao = numeracao[0]
# dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
# dic_votacao["des_turno"]=""
# tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1)
# if len(tramitacao):
# tramitacao = tramitacao[0]
# tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
# if len(tram):
# tram_turno = tram[0]
# if tram_turno.sgl_turno != "":
# for turno in [("P","Primeiro"), ("S","Segundo"), ("U","Único"), ("L","Suplementar"), ("F","Final"), ("A","Votação Única em Regime de Urgência"), ("B","1ª Votação"), ("C","2ª e 3ª Votações")]:
# if tram_turno.sgl_turno == turno[0]:
# dic_votacao["des_turno"] = turno[1]
# dic_votacao["txt_ementa"] = materia.txt_ementa
# dic_votacao["ordem_observacao"] = votacao.ordem_observacao
# dic_votacao["nom_autor"] = ""
# autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)
# if len(autoria) > 0: # se existe autor
# autoria = autoria[0]
# autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
# if len(autor) > 0:
# autor = autor[0]
# try:
# if autor.des_tipo_autor == "Parlamentar":
# parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
# dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
# elif autor.des_tipo_autor == "Comissao":
# comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
# dic_votacao["nom_autor"] = comissao.nom_comissao
# elif autor.nom_autor != "":
# dic_votacao["nom_autor"] = autor.nom_autor
# else:
# dic_votacao["nom_autor"] = autor.des_tipo_autor
# except:
# dic_votacao["nom_autor"] = "NC-od"
# dic_votacao["votacao_observacao"]=""
# if votacao.tip_resultado_votacao:
# resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
# for i in resultado:
# dic_votacao["nom_resultado"] = i.nom_resultado
# if votacao.votacao_observacao:
# dic_votacao["votacao_observacao"] = votacao.votacao_observacao
# else:
# dic_votacao["nom_resultado"] = "Matéria não votada"
# dic_votacao["votacao_observacao"] = "Vazio"
# lst_votacao.append(dic_votacao)
# # Lista dos oradores nas Explicações Pessoais
# lst_oradores = []
# for orador in context.zsql.oradores_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
# for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador.cod_parlamentar,ind_excluido=0):
# dic_oradores = {}
# dic_oradores["num_ordem"] = orador.num_ordem
# dic_oradores["nom_parlamentar"] = parlamentar.nom_parlamentar
# dic_oradores['sgl_partido'] = parlamentar.sgl_partido
# lst_oradores.append(dic_oradores)
def relatorio_sessao_plenaria(request):
'''
pdf_sessao_plenaria_gerar.py
'''
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="relatorio_protocolo.pdf"'
casa = CasaLegislativa.objects.first()
cabecalho = get_cabecalho(casa)
rodape = get_rodape(casa)
imagem = get_imagem(casa)
# protocolos = Protocolo.objects.all()[:50]
sessao_data = get_sessao_plenaria(sessao)
pdf = pdf_sessao_plenaria_gerar.principal(None,
imagem,
None,
sessao_data,
cabecalho,
rodape)
response.write(pdf)
return response
def get_protocolos(prots):

2
sessao/views.py

@ -2094,6 +2094,8 @@ class VotacaoExpedienteView(FormMixin, sessao_crud.CrudDetailView):
expediente.save()
return self.form_valid(form)
# import ipdb; ipdb.set_trace()
if form.is_valid():
materia_id = kwargs['oid']
expediente_id = kwargs['mid']

Loading…
Cancel
Save