mirror of https://github.com/interlegis/sapl.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1111 lines
44 KiB
1111 lines
44 KiB
from datetime import datetime
|
|
|
|
from django.http import HttpResponse
|
|
|
|
from base.models import CasaLegislativa
|
|
from base.views import ESTADOS
|
|
from comissoes.models import Comissao
|
|
from materia.models import (Autor, Autoria, MateriaLegislativa, Numeracao,
|
|
Tramitacao, UnidadeTramitacao)
|
|
|
|
from parlamentares.models import Parlamentar
|
|
from protocoloadm.models import (DocumentoAdministrativo, Protocolo,
|
|
TramitacaoAdministrativo)
|
|
|
|
from sessao.models import (ExpedienteMateria, OrdemDia, SessaoPlenaria)
|
|
|
|
from .templates import (pdf_capa_processo_gerar,
|
|
pdf_documento_administrativo_gerar,
|
|
pdf_espelho_gerar,
|
|
pdf_materia_gerar,
|
|
pdf_protocolo_gerar,
|
|
pdf_etiqueta_protocolo_gerar,
|
|
pdf_pauta_sessao_gerar)
|
|
|
|
|
|
def get_cabecalho(casa):
|
|
|
|
cabecalho = {}
|
|
cabecalho["nom_casa"] = casa.nome
|
|
cabecalho["nom_estado"] = "Estado de " + ESTADOS[casa.uf.upper()]
|
|
return cabecalho
|
|
|
|
|
|
def get_imagem(casa):
|
|
|
|
if casa.logotipo:
|
|
return casa.logotipo.path
|
|
else:
|
|
# TODO: recuperar de uma variavel de sistema
|
|
return 'static/img/brasao_transp.gif'
|
|
|
|
|
|
def get_rodape(casa):
|
|
|
|
if len(casa.cep) == 8:
|
|
cep = casa.cep[:4] + "-" + casa.cep[5:]
|
|
else:
|
|
cep = ""
|
|
|
|
linha1 = casa.endereco
|
|
|
|
if cep:
|
|
if casa.endereco:
|
|
linha1 = linha1 + " - "
|
|
linha1 = linha1 + "CEP " + cep
|
|
|
|
# substituindo nom_localidade por municipio e sgl_uf por uf
|
|
if casa.municipio:
|
|
linha1 = linha1 + " - " + casa.municipio + " " + casa.uf
|
|
|
|
if casa.telefone:
|
|
linha1 = linha1 + " Tel.: " + casa.telefone
|
|
|
|
if casa.endereco_web:
|
|
linha2 = casa.endereco_web
|
|
else:
|
|
linha2 = ""
|
|
|
|
if casa.email:
|
|
if casa.endereco_web:
|
|
linha2 = linha2 + " - "
|
|
linha2 = linha2 + "E-mail: " + casa.email
|
|
|
|
data_emissao = datetime.today().strftime("%d/%m/%Y")
|
|
|
|
return [linha1, linha2, data_emissao]
|
|
|
|
|
|
def get_materias(mats):
|
|
|
|
materias = []
|
|
for materia in mats:
|
|
dic = {}
|
|
dic['titulo'] = materia.tipo.sigla + " " + materia.tipo.descricao \
|
|
+ " " + str(materia.numero) + "/" + str(materia.ano)
|
|
dic['txt_ementa'] = materia.ementa
|
|
|
|
autores = Autoria.objects.filter(materia=materia)
|
|
dic['nom_autor'] = " "
|
|
for autoria in autores:
|
|
if autoria.autor.parlamentar:
|
|
dic['nom_autor'] = autoria.autor.parlamentar.nome_completo
|
|
elif autoria.autor.comissao:
|
|
dic['nom_autor'] = autoria.autor.comissao.nome
|
|
|
|
des_status = ''
|
|
txt_tramitacao = ''
|
|
|
|
dic['localizacao_atual'] = " "
|
|
|
|
tramitacoes = Tramitacao.objects.filter(
|
|
unidade_tramitacao_destino__isnull=True).order_by(
|
|
'data_tramitacao')
|
|
|
|
for tramitacao in tramitacoes:
|
|
des_status = tramitacao.status.descricao
|
|
txt_tramitacao = tramitacao.texto
|
|
|
|
# for tramitacao in context.zsql
|
|
# .tramitacao_obter_zsql(cod_materia
|
|
# =materia.cod_materia,ind_ult_tramitacao=1):
|
|
# if tramitacao.cod_unid_tram_dest:
|
|
# cod_unid_tram = tramitacao.cod_unid_tram_dest
|
|
# else:
|
|
# cod_unid_tram = tramitacao.cod_unid_tram_local
|
|
# for unidade_tramitacao in
|
|
# context.zsql
|
|
# .unidade_tramitacao_obter_zsql(
|
|
# cod_unid_tramitacao = cod_unid_tram):
|
|
# if unidade_tramitacao.cod_orgao:
|
|
# dic['localizacao_atual']=unidade_tramitacao.nom_orgao
|
|
# else:
|
|
# dic['localizacao_atual']=unidade_tramitacao.nom_comissao
|
|
# des_status=tramitacao.des_status
|
|
# txt_tramitacao=tramitacao.txt_tramitacao
|
|
|
|
dic['des_situacao'] = des_status
|
|
dic['ultima_acao'] = txt_tramitacao
|
|
|
|
dic['norma_vinculada'] = " "
|
|
# for norma_vinculada in context.zsql
|
|
# .materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia):
|
|
# dic['norma_vinculada']=
|
|
# norma_vinculada.des_norma+" "
|
|
# +str(norma_vinculada.num_norma)+"/"+str(norma_vinculada.ano_norma)
|
|
|
|
materias.append(dic)
|
|
|
|
return materias
|
|
|
|
|
|
def relatorio_materia(request):
|
|
'''
|
|
pdf_materia_gerar.py
|
|
'''
|
|
|
|
response = HttpResponse(content_type='application/pdf')
|
|
response[
|
|
'Content-Disposition'] = 'attachment; filename="relatorio_materia.pdf"'
|
|
|
|
casa = CasaLegislativa.objects.first()
|
|
|
|
cabecalho = get_cabecalho(casa)
|
|
rodape = get_rodape(casa)
|
|
imagem = get_imagem(casa)
|
|
|
|
# TODO pesquisar baseado em filtros
|
|
mats = MateriaLegislativa.objects.all()[:50]
|
|
|
|
materias = get_materias(mats)
|
|
|
|
pdf = pdf_materia_gerar.principal(None,
|
|
imagem,
|
|
None,
|
|
materias,
|
|
cabecalho,
|
|
rodape)
|
|
|
|
response.write(pdf)
|
|
|
|
return response
|
|
|
|
|
|
def get_capa_processo(prot):
|
|
protocolos = []
|
|
for p in prot:
|
|
dic = {}
|
|
dic['numero'] = str(p.numero)
|
|
dic['ano'] = str(p.ano)
|
|
dic['data'] = str(p.data) + ' - ' + str(p.hora)
|
|
dic['txt_assunto'] = p.assunto_ementa
|
|
dic['txt_interessado'] = p.interessado
|
|
dic['nom_autor'] = " "
|
|
dic['titulo'] = " "
|
|
|
|
if p.autor is not None:
|
|
for autor in Autor.objects.filter(id=p.autor.id):
|
|
if autor.tipo == 'Parlamentar':
|
|
for parlamentar in Parlamentar.objects.filter(
|
|
id=p.autor.parlamentar.id):
|
|
dic['nom_autor'] = parlamentar.nome_completo or ' '
|
|
elif autor.tipo == 'Comissao':
|
|
for comissao in Comissao.objects.filter(
|
|
id=p.autor.comissao.id):
|
|
dic['nom_autor'] = comissao.nome or ' '
|
|
else:
|
|
dic['nom_autor'] = autor.nome or ' '
|
|
else:
|
|
dic['nom_autor'] = p.interessado
|
|
|
|
dic['natureza'] = ''
|
|
if p.tipo_processo == 0:
|
|
dic['natureza'] = 'Administrativo'
|
|
if p.tipo_processo == 1:
|
|
dic['natureza'] = 'Legislativo'
|
|
|
|
dic['ident_processo'] = str(p.tipo_materia) or str(p.tipo_documento)
|
|
|
|
dic['sgl_processo'] = str(p.tipo_materia) or str(p.tipo_documento)
|
|
|
|
dic['num_materia'] = ''
|
|
for materia in MateriaLegislativa.objects.filter(
|
|
numero_protocolo=p.numero, ano=p.ano):
|
|
dic['num_materia'] = str(materia.numero) + '/' + str(materia.ano)
|
|
|
|
dic['num_documento'] = ''
|
|
for documento in DocumentoAdministrativo.objects.filter(
|
|
numero=p.numero):
|
|
dic['num_documento'] = str(
|
|
documento.numero) + '/' + str(documento.ano)
|
|
|
|
dic['num_processo'] = dic['num_materia'] or dic['num_documento']
|
|
|
|
dic['numeracao'] = ''
|
|
for materia_num in MateriaLegislativa.objects.filter(
|
|
numero_protocolo=p.numero, ano=p.ano):
|
|
for numera in Numeracao.objects.filter(materia=materia_num):
|
|
dic['numeracao'] = 'PROCESSO N° ' + \
|
|
str(numera.numero) + '/' + str(numera.ano)
|
|
|
|
dic['anulado'] = ''
|
|
if p.anulado == 1:
|
|
dic['anulado'] = 'Nulo'
|
|
|
|
protocolos.append(dic)
|
|
return protocolos
|
|
|
|
|
|
def relatorio_processo(request):
|
|
'''
|
|
pdf_capa_processo_gerar.py
|
|
'''
|
|
|
|
response = HttpResponse(content_type='application/pdf')
|
|
response[
|
|
'Content-Disposition'] = 'attachment; filename="relatorio_processo.pdf"'
|
|
|
|
casa = CasaLegislativa.objects.first()
|
|
|
|
cabecalho = get_cabecalho(casa)
|
|
rodape = get_rodape(casa)
|
|
imagem = get_imagem(casa)
|
|
|
|
protocolos = Protocolo.objects.all()[:50]
|
|
protocolos_pdf = get_capa_processo(protocolos)
|
|
|
|
pdf = pdf_capa_processo_gerar.principal(None,
|
|
imagem,
|
|
None,
|
|
protocolos_pdf,
|
|
cabecalho,
|
|
rodape)
|
|
|
|
response.write(pdf)
|
|
|
|
return response
|
|
|
|
|
|
def get_ordem_dia(ordem, sessao):
|
|
pass
|
|
|
|
# splen = []
|
|
# pauta = []
|
|
# data = ''
|
|
|
|
# for dat_sessao in SessaoPlenaria.objects.filter(id=sessao.id):
|
|
# data = dat_sessao.data_inicio
|
|
# dat_ordem = dat_sessao.data_inicio
|
|
|
|
# seleciona dados da sessão plenária
|
|
# for sp in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, ind_excluido=0):
|
|
# dicsp = {} # dicionário que armazenará os dados a serem impressos de uma sessão plenária
|
|
# ts = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sp.tip_sessao)[0]
|
|
# dicsp["sessao"] = str(sp.num_sessao_plen)+"ª Sessao "+ts.nom_sessao+" da "+str(sp.num_sessao_leg)+"ª Sessao Legislativa da "+str(sp.num_legislatura)+"ª Legislatura"
|
|
# dia = context.pysc.data_converter_por_extenso_pysc(data=sp.dat_inicio_sessao)
|
|
# hora = context.pysc.hora_formatar_pysc(hora=sp.hr_inicio_sessao)
|
|
# dicsp["datasessao"] = "Dia "+str(dia)+" ("+str(sp.dia_sessao)+") - Inicio as "+hora
|
|
# splen.append(dicsp)
|
|
# seleciona as matérias que compõem a pauta na data escolhida
|
|
# for ordem in context.zsql.ordem_dia_obter_zsql(dat_ordem=data, ind_excluido=0):
|
|
# seleciona os detalhes de uma matéria
|
|
# materia = context.zsql.materia_obter_zsql(cod_materia=ordem.cod_materia)[0]
|
|
# dic = {} # dicionário que armazenará os dados a serem impressos de uma matéria
|
|
# dic["num_ordem"] = ordem.num_ordem
|
|
# dic["id_materia"] = materia.des_tipo_materia+" - Nº "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
|
|
# dic["id_materia"] = materia.sgl_tipo_materia+" - "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)+" - "+materia.des_tipo_materia
|
|
# dic["txt_ementa"] = ordem.txt_observacao
|
|
# numeracao do processo 26/02/2011
|
|
# dic["des_numeracao"]=""
|
|
# numeracao = context.zsql.numeracao_obter_zsql(cod_materia=ordem.cod_materia)
|
|
# if len(numeracao):
|
|
# numeracao = numeracao[0]
|
|
# dic["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
|
|
# dic["des_turno"]=""
|
|
# dic["des_situacao"] = ""
|
|
# tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=ordem.cod_materia, ind_ult_tramitacao=1)
|
|
# if len(tramitacao):
|
|
# tramitacao = tramitacao[0]
|
|
# if tramitacao.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")]:
|
|
# if tramitacao.sgl_turno == turno[0]:
|
|
# dic["des_turno"] = turno[1]
|
|
|
|
# dic["des_situacao"] = tramitacao.des_status
|
|
# if dic["des_situacao"]==None:
|
|
# dic["des_situacao"] = " "
|
|
|
|
# dic["nom_autor"] = ''
|
|
# autoria = context.zsql.autoria_obter_zsql(cod_materia=ordem.cod_materia, ind_primeiro_autor=1)
|
|
# if len(autoria): # se existe autor
|
|
# autoria = autoria[0]
|
|
# try:
|
|
# autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
|
|
# if len(autor):
|
|
# autor = autor[0]
|
|
|
|
# if autor.des_tipo_autor == "Parlamentar":
|
|
# parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
|
|
# dic["nom_autor"] = parlamentar.nom_parlamentar
|
|
|
|
# elif autor.des_tipo_autor == "Comissao":
|
|
# comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
|
|
# dic["nom_autor"] = comissao.nom_comissao
|
|
# else:
|
|
# dic["nom_autor"] = autor.nom_autor
|
|
# except:
|
|
# pass
|
|
# lst_relator = [] # lista contendo os relatores da matéria
|
|
# for relatoria in context.zsql.relatoria_obter_zsql(cod_materia=ordem.cod_materia):
|
|
# parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=relatoria.cod_parlamentar)[0]
|
|
# comissao = context.zsql.comissao_obter_zsql(cod_comissao=relatoria.cod_comissao)[0]
|
|
# lst_relator.append(parlamentar.nom_parlamentar+" - "+comissao.nom_comissao)
|
|
# if not len(lst_relator):
|
|
# lst_relator = ['']
|
|
# dic["lst_relator"] = lst_relator
|
|
|
|
# adiciona o dicionário na pauta
|
|
# pauta.append(dic)
|
|
|
|
|
|
def relatorio_ordem_dia(request):
|
|
'''
|
|
pdf_ordem_dia_gerar.py
|
|
'''
|
|
|
|
response = HttpResponse(content_type='application/pdf')
|
|
|
|
response[
|
|
'Content-Disposition'] = 'attachment; filename="relatorio_ordem_dia.pdf"'
|
|
|
|
casa = CasaLegislativa.objects.first()
|
|
|
|
cabecalho = get_cabecalho(casa)
|
|
rodape = get_rodape(casa)
|
|
imagem = get_imagem(casa)
|
|
|
|
ordem = OrdemDia.objects.all()[:50]
|
|
sessao = SessaoPlenaria.objects.first()
|
|
ordem_pdf = get_ordem_dia(ordem, sessao)
|
|
|
|
pdf = pdf_capa_processo_gerar.principal(None,
|
|
imagem,
|
|
None,
|
|
ordem_pdf,
|
|
cabecalho,
|
|
rodape)
|
|
|
|
response.write(pdf)
|
|
|
|
return response
|
|
|
|
|
|
def relatorio_documento_administrativo(request):
|
|
'''
|
|
pdf_documento_administrativo_gerar.py
|
|
'''
|
|
|
|
response = HttpResponse(content_type='application/pdf')
|
|
response[
|
|
'Content-Disposition'] = 'attachment; filename="relatorio_documento_administrativo.pdf"'
|
|
|
|
casa = CasaLegislativa.objects.first()
|
|
|
|
cabecalho = get_cabecalho(casa)
|
|
rodape = get_rodape(casa)
|
|
imagem = get_imagem(casa)
|
|
|
|
docs = DocumentoAdministrativo.objects.all()[:50]
|
|
doc_pdf = get_documento_administrativo(docs)
|
|
|
|
pdf = pdf_documento_administrativo_gerar.principal(
|
|
None,
|
|
imagem,
|
|
None,
|
|
doc_pdf,
|
|
cabecalho,
|
|
rodape)
|
|
response.write(pdf)
|
|
|
|
return response
|
|
|
|
|
|
def get_documento_administrativo(docs):
|
|
|
|
documentos = []
|
|
for d in docs:
|
|
dic = {}
|
|
dic['titulo'] = str(d)
|
|
dic['txt_assunto'] = d.assunto
|
|
dic['txt_interessado'] = d.interessado
|
|
|
|
des_status = ''
|
|
txt_tramitacao = ''
|
|
|
|
dic['localizacao_atual'] = ' '
|
|
# Será removido o 'última'?
|
|
for t in TramitacaoAdministrativo.objects.filter(
|
|
documento=d, ultima=True):
|
|
if t.unidade_tramitacao_destino:
|
|
cod_unid_tram = t.unidade_tramitacao_destino
|
|
else:
|
|
cod_unid_tram = t.unidade_tramitacao_destino
|
|
|
|
for unidade_tramitacao in UnidadeTramitacao.objects.filter(
|
|
id=cod_unid_tram):
|
|
if unidade_tramitacao.orgao:
|
|
dic['localizacao_atual'] = unidade_tramitacao.orgao
|
|
else:
|
|
dic['localizacao_atual'] = unidade_tramitacao.comissao
|
|
|
|
des_status = t.status.descricao
|
|
txt_tramitacao = t.texto
|
|
|
|
dic['des_situacao'] = des_status
|
|
dic['ultima_acao'] = txt_tramitacao
|
|
|
|
documentos.append(dic)
|
|
return documentos
|
|
|
|
|
|
def relatorio_espelho(request):
|
|
'''
|
|
pdf_espelho_gerar.py
|
|
'''
|
|
|
|
response = HttpResponse(content_type='application/pdf')
|
|
response[
|
|
'Content-Disposition'] = 'attachment; filename="relatorio_espelho.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
|
|
|
|
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):
|
|
|
|
protocolos = []
|
|
for protocolo in prots:
|
|
dic = {}
|
|
|
|
dic['titulo'] = str(protocolo.numero) + '/' + str(protocolo.ano)
|
|
|
|
dic['data'] = protocolo.data.strftime(
|
|
"%d/%m/%Y") + ' - <b>Horário:</b>' + protocolo.hora.strftime("%H:%m")
|
|
|
|
dic['txt_assunto'] = protocolo.assunto_ementa
|
|
|
|
dic['txt_interessado'] = protocolo.interessado
|
|
|
|
dic['nom_autor'] = " "
|
|
|
|
if protocolo.autor:
|
|
if protocolo.autor.parlamentar:
|
|
dic['nom_autor'] = protocolo.autor.parlamentar.nome_completo
|
|
elif protocolo.autor.comissao:
|
|
dic['nom_autor'] = protocolo.autor.comissao.nome
|
|
|
|
dic['natureza'] = ''
|
|
|
|
if protocolo.tipo_documento:
|
|
dic['natureza'] = 'Administrativo'
|
|
dic['processo'] = protocolo.tipo_documento.descricao
|
|
elif protocolo.tipo_materia:
|
|
dic['natureza'] = 'Legislativo'
|
|
dic['processo'] = protocolo.tipo_materia.descricao
|
|
else:
|
|
dic['natureza'] = 'Indefinida'
|
|
dic['processo'] = ''
|
|
|
|
dic['anulado'] = ''
|
|
if protocolo.anulado:
|
|
dic['anulado'] = 'Nulo'
|
|
|
|
protocolos.append(dic)
|
|
|
|
return protocolos
|
|
|
|
|
|
def relatorio_protocolo(request):
|
|
'''
|
|
pdf_protocolo_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]
|
|
|
|
protocolo_data = get_protocolos(protocolos)
|
|
|
|
pdf = pdf_protocolo_gerar.principal(None,
|
|
imagem,
|
|
None,
|
|
protocolo_data,
|
|
cabecalho,
|
|
rodape)
|
|
|
|
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") + ' - <b>Horário:</b>' + 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
|
|
|
|
|
|
def relatorio_pauta_sessao(request):
|
|
'''
|
|
pdf__pauta_sessao_gerar.py
|
|
'''
|
|
|
|
response = HttpResponse(content_type='application/pdf')
|
|
response[
|
|
'Content-Disposition'] = 'attachment; filename="relatorio_pauta_sessao.pdf"'
|
|
|
|
casa = CasaLegislativa.objects.first()
|
|
|
|
cabecalho = get_cabecalho(casa)
|
|
rodape = get_rodape(casa)
|
|
imagem = get_imagem(casa)
|
|
|
|
sessao = SessaoPlenaria.objects.first()
|
|
lst_expediente_materia, lst_votacao, inf_basicas_dic = get_pauta_sessao(
|
|
sessao, casa)
|
|
pdf = pdf_pauta_sessao_gerar.principal(cabecalho,
|
|
rodape,
|
|
sessao,
|
|
imagem,
|
|
inf_basicas_dic,
|
|
lst_expediente_materia,
|
|
lst_votacao)
|
|
|
|
response.write(pdf)
|
|
|
|
return response
|
|
|
|
|
|
def get_pauta_sessao(sessao, casa):
|
|
|
|
inf_basicas_dic = {}
|
|
inf_basicas_dic["nom_sessao"] = sessao.tipo.nome
|
|
inf_basicas_dic["num_sessao_plen"] = sessao.numero
|
|
inf_basicas_dic["num_legislatura"] = sessao.legislatura
|
|
inf_basicas_dic["num_sessao_leg"] = sessao.legislatura
|
|
inf_basicas_dic["dat_inicio_sessao"] = sessao.data_inicio
|
|
inf_basicas_dic["hr_inicio_sessao"] = sessao.hora_inicio
|
|
inf_basicas_dic["dat_fim_sessao"] = sessao.data_fim
|
|
inf_basicas_dic["hr_fim_sessao"] = sessao.hora_fim
|
|
inf_basicas_dic["nom_camara"] = casa.nome
|
|
|
|
lst_expediente_materia = []
|
|
for expediente_materia in ExpedienteMateria.objects.filter(
|
|
data_ordem=sessao.data_inicio, sessao_plenaria=sessao):
|
|
|
|
materia = MateriaLegislativa.objects.filter(
|
|
id=expediente_materia.materia.id).first()
|
|
|
|
dic_expediente_materia = {}
|
|
dic_expediente_materia["num_ordem"] = str(
|
|
expediente_materia.numero_ordem)
|
|
dic_expediente_materia["id_materia"] = str(
|
|
materia.numero) + "/" + str(materia.ano)
|
|
dic_expediente_materia["txt_ementa"] = materia.ementa
|
|
dic_expediente_materia["ordem_observacao"] = str(
|
|
expediente_materia.observacao)
|
|
|
|
dic_expediente_materia["des_numeracao"] = ' '
|
|
|
|
numeracao = Numeracao.objects.filter(materia=materia)
|
|
if numeracao is not None:
|
|
numeracao = numeracao.first()
|
|
dic_expediente_materia["des_numeracao"] = str(numeracao)
|
|
|
|
dic_expediente_materia["nom_autor"] = ' '
|
|
autoria = Autoria.objects.filter(
|
|
materia=materia, primeiro_autor=True).first()
|
|
|
|
if autoria is not None:
|
|
autor = Autor.objects.filter(id=autoria.autor.id)
|
|
|
|
if autor is not None:
|
|
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:
|
|
dic_expediente_materia["nom_autor"] = str(autor.nome)
|
|
elif autoria is None:
|
|
dic_expediente_materia["nom_autor"] = 'Desconhecido'
|
|
|
|
dic_expediente_materia["des_turno"] = ' '
|
|
dic_expediente_materia["des_situacao"] = ' '
|
|
|
|
tramitacao = Tramitacao.objects.filter(materia=materia)
|
|
if tramitacao is not None:
|
|
tramitacao = tramitacao.first()
|
|
|
|
if tramitacao.turno != '':
|
|
for turno in [("P", "Primeiro"),
|
|
("S", "Segundo"),
|
|
("U", "Único"),
|
|
("F", "Final"),
|
|
("L", "Suplementar"),
|
|
("A", "Votação Única em Regime de Urgência"),
|
|
("B", "1ª Votação"),
|
|
("C", "2ª e 3ª Votações")]:
|
|
if tramitacao.turno == turno.first():
|
|
dic_expediente_materia["des_turno"] = turno.first()
|
|
|
|
dic_expediente_materia["des_situacao"] = tramitacao.status
|
|
if dic_expediente_materia["des_situacao"] is None:
|
|
dic_expediente_materia["des_situacao"] = ' '
|
|
lst_expediente_materia.append(dic_expediente_materia)
|
|
|
|
lst_votacao = []
|
|
for votacao in OrdemDia.objects.filter(
|
|
data_ordem=sessao.data_inicio, sessao_plenaria=sessao):
|
|
materia = MateriaLegislativa.objects.filter(
|
|
id=votacao.materia.id).first()
|
|
dic_votacao = {}
|
|
dic_votacao["num_ordem"] = votacao.numero_ordem
|
|
dic_votacao["id_materia"] = str(
|
|
materia.numero) + "/" + str(materia.ano)
|
|
dic_votacao["txt_ementa"] = materia.ementa
|
|
dic_votacao["ordem_observacao"] = votacao.observacao
|
|
|
|
dic_votacao["des_numeracao"] = ' '
|
|
numeracao = Numeracao.objects.filter(materia=materia)
|
|
# if numeracao is not None:
|
|
# numeracao = numeracao.first()
|
|
# dic_votacao["des_numeracao"] = str(
|
|
# numeracao.numero) + '/' + str(numeracao.ano)
|
|
|
|
dic_votacao["nom_autor"] = ' '
|
|
autoria = Autoria.objects.filter(
|
|
materia=materia, primeiro_autor=True).first()
|
|
|
|
if autoria is not None:
|
|
autor = Autor.objects.filter(id=autoria.autor.id)
|
|
if autor is not None:
|
|
autor = autor.first()
|
|
|
|
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:
|
|
dic_votacao["nom_autor"] = str(autor.nome)
|
|
elif autoria is None:
|
|
dic_votacao["nom_autor"] = 'Desconhecido'
|
|
|
|
dic_votacao["des_turno"] = ' '
|
|
dic_votacao["des_situacao"] = ' '
|
|
tramitacao = Tramitacao.objects.filter(materia=materia)
|
|
if tramitacao is not None:
|
|
tramitacao = tramitacao.first()
|
|
if tramitacao.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")]:
|
|
if tramitacao.turno == turno.first():
|
|
dic_votacao["des_turno"] = turno.first()
|
|
|
|
dic_votacao["des_situacao"] = tramitacao.status
|
|
if dic_votacao["des_situacao"] is None:
|
|
dic_votacao["des_situacao"] = ' '
|
|
lst_votacao.append(dic_votacao)
|
|
|
|
return (lst_expediente_materia,
|
|
lst_votacao,
|
|
inf_basicas_dic)
|
|
|