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.
 
 
 
 
 

149 lines
6.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.imagens.absolute_url() + "/brasao_transp.gif"
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados
protocolos = []
REQUEST = context.REQUEST
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'],
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[
'txt_ano_protocolo'],
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[
'rad_tip_processo'],
tip_materia=REQUEST[
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'],
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[
'txa_txt_interessado'],
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']):
dic = {}
dic['titulo'] = str(protocolo.cod_protocolo)
dic['ano'] = str(protocolo.ano_protocolo)
dic['data'] = context.pysc.iso_to_port_pysc(
protocolo.dat_protocolo) + ' - ' + protocolo.hor_protocolo
dic['txt_assunto'] = protocolo.txt_assunto_ementa
dic['txt_interessado'] = protocolo.txt_interessado
dic['nom_autor'] = " "
if protocolo.cod_autor != None:
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.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
else:
dic['nom_autor'] = protocolo.txt_interessado
dic['natureza'] = ''
if protocolo.tip_processo == 0:
dic['natureza'] = 'Administrativo'
if protocolo.tip_processo == 1:
dic['natureza'] = 'Legislativo'
dic['ident_processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento
dic['sgl_processo'] = protocolo.sgl_tipo_materia or protocolo.sgl_tipo_documento
dic['num_materia'] = ''
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo):
dic['num_materia'] = str(materia.num_ident_basica) + \
'/' + str(materia.ano_ident_basica)
dic['num_documento'] = ''
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo):
dic['num_documento'] = str(
documento.num_documento) + '/' + str(documento.ano_documento)
dic['num_processo'] = dic['num_materia'] or dic['num_documento']
dic['numeracao'] = ''
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo):
for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia, ind_excluido=0):
dic['numeracao'] = 'PROCESSO N° ' + \
str(numera.num_materia) + '/' + str(numera.ano_materia)
dic['anulado'] = ''
if protocolo.ind_anulado == 1:
dic['anulado'] = 'Nulo'
protocolos.append(dic)
filtro = {} # Dicionário que conterá os dados do filtro
# Atribuições diretas do REQUEST
filtro['numero'] = REQUEST.txt_num_protocolo
filtro['ano'] = REQUEST.txt_ano_protocolo
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo
filtro['tipo_processo'] = REQUEST.rad_tip_processo
filtro['assunto'] = REQUEST.txt_assunto
filtro['autor'] = REQUEST.hdn_cod_autor
filtro['interessado'] = REQUEST.txa_txt_interessado
sessao = session.id
caminho = context.pdf_capa_processo_gerar(
sessao, imagem, data, protocolos, cabecalho, rodape, filtro)
if caminho == 'aviso':
response.redirect('mensagem_emitir_proc')
else:
response.redirect(caminho)