Sistema de Apoio ao Processo Legislativo
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.
 
 
 
 
 

210 lines
9.0 KiB

import os
request = context.REQUEST
response = request.RESPONSE
session = request.SESSION
data = DateTime().strftime('%d/%m/%Y')
# Abaixo é gerada a string para o rodapé da página
casa = {}
aux = context.sapl_documentos.props_sapl.propertyItems()
for item in aux:
casa[item[0]] = item[1]
localidade = context.zsql.localidade_obter_zsql(
cod_localidade=casa["cod_localidade"])
if len(casa["num_cep"]) == 8:
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:]
else:
cep = ""
linha1 = casa["end_casa"]
if cep != "":
if casa["end_casa"] != "" and casa["end_casa"] != None:
linha1 = linha1 + " - "
linha1 = linha1 + "CEP " + cep
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None:
linha1 = linha1 + " - " + \
localidade[0].nom_localidade + " " + localidade[0].sgl_uf
if casa["num_tel"] != "" and casa["num_tel"] != None:
linha1 = linha1 + " Tel.: " + casa["num_tel"]
linha2 = casa["end_web_casa"]
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None:
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None:
linha2 = linha2 + " - "
linha2 = linha2 + "E-mail: " + casa["end_email_casa"]
data_emissao = DateTime().strftime("%d/%m/%Y")
rodape = [linha1, linha2, data_emissao]
# Por fim, gera-se as entradas para o cabeçalho
estados = context.zsql.localidade_obter_zsql(tip_localidade="u")
for uf in estados:
if localidade[0].sgl_uf == uf.sgl_uf:
nom_estado = uf.nom_localidade
break
cabecalho = {}
cabecalho["nom_casa"] = casa["nom_casa"]
cabecalho["nom_estado"] = "Estado de " + nom_estado
# tenta buscar o logotipo da casa LOGO_CASA
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'):
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
else:
imagem = context.sapl_site.sapl_skin.imagens.absolute_url() + "/brasao_transp.gif"
# Verifica o tamanho da lista das materias selecionadas vindas do form
REQUEST = context.REQUEST
if REQUEST.txt_check == '1':
cod_mat = REQUEST['check_ind']
materias = []
REQUEST = context.REQUEST
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat):
dic = {}
dic['titulo'] = "INDICAÇÃO: " + \
str(materia.num_ident_basica) + " " + str(materia.ano_ident_basica)
dic['materia'] = str(materia.num_ident_basica) + \
"/" + str(materia.ano_ident_basica)
dic['dat_apresentacao'] = materia.dat_apresentacao
dic['txt_ementa'] = materia.txt_ementa
dic['nom_autor'] = " "
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1):
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor):
if autor.des_tipo_autor == 'Parlamentar':
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar):
dic['nom_autor'] = parlamentar.nom_completo
elif autor.des_tipo_autor == 'Comissao':
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao):
dic['nom_autor'] = comissao.nom_comissao
else:
dic['nom_autor'] = autor.nom_autor
des_status = ''
txt_tramitacao = ''
data_ultima_acao = ''
dic['localizacao_atual'] = " "
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
elif unidade_tramitacao.cod_parlamentar:
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar
else:
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao
des_status = tramitacao.des_status
txt_tramitacao = tramitacao.txt_tramitacao
data_ultima_acao = tramitacao.dat_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"
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)
else:
codigo = REQUEST.check_ind
materias = []
REQUEST = context.REQUEST
for cod_mat in codigo:
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat):
dic = {}
dic['titulo'] = "INDICAÇÃO: " + \
str(materia.num_ident_basica) + " " + \
str(materia.ano_ident_basica)
dic['materia'] = str(materia.num_ident_basica) + \
"/" + str(materia.ano_ident_basica)
dic['dat_apresentacao'] = materia.dat_apresentacao
dic['txt_ementa'] = materia.txt_ementa
dic['nom_autor'] = " "
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1):
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor):
if autor.des_tipo_autor == 'Parlamentar':
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar):
dic['nom_autor'] = parlamentar.nom_completo
elif autor.des_tipo_autor == 'Comissao':
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao):
dic['nom_autor'] = comissao.nom_comissao
else:
dic['nom_autor'] = autor.nom_autor
des_status = ''
txt_tramitacao = ''
data_ultima_acao = ''
dic['localizacao_atual'] = " "
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
elif unidade_tramitacao.cod_parlamentar:
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar
else:
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao
des_status = tramitacao.des_status
txt_tramitacao = tramitacao.txt_tramitacao
data_ultima_acao = tramitacao.dat_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"
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)
filtro = {} # Dicionário que conterá os dados do filtro
# Atribuições diretas do REQUEST
# filtro['data_apres']=REQUEST.data
# filtro['tipo_materia']=''
# for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=9):
# filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia
# filtro['partido']=''
# if REQUEST.lst_cod_partido!='':
# for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido):
# filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_partido
# filtro['tramitando']=''
# if REQUEST.rad_tramitando=='1':
# filtro['tramitacao']='Sim'
# elif REQUEST['rad_tramitando']=='0':
# filtro['tramitacao']='Não'
# filtro['situacao_atual']=''
# if REQUEST.lst_status!='':
# for status in context.zsql.status_tramitacao_obter_zsql(ind_exluido=0,cod_status=REQUEST.lst_status):
# filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status
sessao = session.id
caminho = context.pdf_espelho_gerar(
sessao, imagem, data, materias, cabecalho, rodape, filtro)
if caminho == 'aviso':
response.redirect('mensagem_emitir_proc')
else:
response.redirect(caminho)