source: publico/il.sapl/trunk/il/sapl/skins/relatorios/pdf_materia_preparar_pysc.py @ 7911

Última Alteração nesse arquivo desde 7911 foi 7911, incluída por gustavolepri, 5 anos atrás

merge do changeset:7795 ao changeset:7910

File size: 7.9 KB
Linha 
1import os
2
3request=context.REQUEST
4#print request
5#return printed
6response=request.RESPONSE
7session= request.SESSION
8
9data=DateTime().strftime('%d/%m/%Y')
10
11#Abaixo é gerada a string para o rodapé da página
12casa={}
13aux=context.sapl_documentos.props_sapl.propertyItems()
14for item in aux:
15    casa[item[0]]=item[1]
16localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
17if len(casa["num_cep"])==8:
18    cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:]
19else:
20    cep=""
21
22linha1=casa["end_casa"]
23if cep!="":
24    if casa["end_casa"]!="" and casa["end_casa"]!=None:
25        linha1 = linha1 + " - "
26    linha1 = linha1 + "CEP "+cep
27if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None:
28    linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
29if casa["num_tel"]!="" and casa["num_tel"]!=None:
30    linha1 = linha1 + " Tel.: "+ casa["num_tel"]
31
32linha2=casa["end_web_casa"]
33if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None:
34    if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None:
35        linha2 = linha2 + " - "
36    linha2 =  linha2 + "E-mail: "+casa["end_email_casa"]
37
38data_emissao=DateTime().strftime("%d/%m/%Y")
39rodape=[linha1,linha2,data_emissao]
40
41#Por fim, gera-se as entradas para o cabeçalho
42estados=context.zsql.localidade_obter_zsql(tip_localidade="u")
43for uf in estados:
44    if localidade[0].sgl_uf==uf.sgl_uf:
45        nom_estado=uf.nom_localidade
46        break
47cabecalho={}
48cabecalho["nom_casa"]=casa["nom_casa"]
49cabecalho["nom_estado"]="Estado de "+nom_estado
50
51# tenta buscar o logotipo da casa LOGO_CASA
52if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'):
53    imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
54else:
55    imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
56
57#Por fim, utiliza o PythonScript para pesquisar as matérias e gerar os dados
58
59materias=[]
60REQUEST=context.REQUEST
61# ------------------------------------ total matérias : informar quando o autor foi indicado no parâmetro da consulta ---------
62cabecalho["total_materias"]=""
63if len(REQUEST['hdn_cod_autor'])>0:
64    total=REQUEST['total_materias']
65    cabecalho["total_materias"]=str(total)
66# -----------------------------------------------------------------------------------------------------------------------------
67
68for materia in context.zsql.materia_pesquisar_zsql(tip_id_basica=REQUEST['lst_tip_materia'], num_ident_basica=REQUEST['txt_numero'],
69    ano_ident_basica=REQUEST['txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'],
70    des_assunto=REQUEST['txt_assunto'], nom_relator=REQUEST['txt_relator'],
71    cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST['lst_tip_autor'],
72    dat_apresentacao=REQUEST['dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'],
73    dat_publicacao=REQUEST['dt_public'], dat_publicacao2=REQUEST['dt_public2'],
74    cod_partido=REQUEST['lst_cod_partido'],cod_autor=REQUEST['hdn_cod_autor'],
75    rd_ordem=REQUEST['rd_ordenacao']):
76
77    dic={}
78
79    dic['titulo']=materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
80    dic['txt_ementa']=materia.txt_ementa
81
82    lst_autoria_exp_mat=[]
83    a="2"
84    n="NC"
85    nc=n
86    t="não definido"
87    for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia):
88        # if len(autoria) > 0: # se existe autor
89        # autoria = autoria[0]
90        a="2"
91        if autoria.ind_primeiro_autor=="1":
92            a="1"
93        for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor):
94            # if len(autor) > 0:
95            #     autor = autor[0]
96            try:
97                if autor.des_tipo_autor == "Parlamentar":
98                    parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]
99                    # dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
100                    n=parlamentar.nom_parlamentar
101                    nc=parlamentar.nom_completo
102                    t="Parlamentar"
103                elif autor.des_tipo_autor == "Comissao":
104                    comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
105                    # dic_expediente_materia["nom_autor"] = comissao.nom_comissao
106                    n=comissao.sgl_comissao
107                    nc=comissao.nom_comissao
108                    t="Comissão"
109                elif autor.nom_autor != "":
110                    # dic_expediente_materia["nom_autor"] = autor.nom_autor
111                    n=autor.nom_autor
112                    nc=n
113                    t=autor.des_tipo_autor
114                else:
115                    # dic_expediente_materia["nom_autor"] = autor.des_tipo_autor
116                    n=autor.des_tipo_autor
117                    nc=n
118                    t=autor.des_tipo_autor
119            except:
120                # dic_expediente_materia["nom_autor"] = "NC-em"
121                n="NC-em"
122                nc=n
123                t="não definido"
124            lst_autoria_exp_mat.append({a+n:[a,n,nc,t]})
125
126    lst_autoria_exp_mat.sort()
127
128    if len(lst_autoria_exp_mat)>0:
129        dic['autoria_materia']=lst_autoria_exp_mat
130    else:
131        lst_autoria_exp_mat.append({a+n:[a,n,nc,t]})
132        dic['autoria_materia']=lst_autoria_exp_mat
133
134    des_status = ''
135    txt_tramitacao=''
136
137    dic['localizacao_atual']=" "
138    for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1):
139        if tramitacao.cod_unid_tram_dest:
140            cod_unid_tram = tramitacao.cod_unid_tram_dest
141        else:
142            cod_unid_tram = tramitacao.cod_unid_tram_local
143
144        for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram):
145            if unidade_tramitacao.cod_orgao:
146                dic['localizacao_atual']=unidade_tramitacao.nom_orgao
147            else:
148                dic['localizacao_atual']=unidade_tramitacao.nom_comissao
149
150        des_status=tramitacao.des_status
151        txt_tramitacao=tramitacao.txt_tramitacao
152
153    dic['des_situacao']=des_status
154    dic['ultima_acao']=txt_tramitacao
155
156
157    dic['norma_vinculada']=" "
158    for norma_vinculada in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia):
159        dic['norma_vinculada']=norma_vinculada.des_norma+" "+str(norma_vinculada.num_norma)+"/"+str(norma_vinculada.ano_norma)
160
161    materias.append(dic)
162
163filtro={} # Dicionário que conterá os dados do filtro
164
165# Atribuições diretas do REQUEST
166filtro['numero']=REQUEST.txt_numero
167filtro['ano']=REQUEST.txt_ano
168filtro['autor']=REQUEST.hdn_txt_autor
169filtro['tipo_autor']=REQUEST.lst_tip_autor
170filtro['relator']=REQUEST.txt_relator
171filtro['assunto']=REQUEST.txt_assunto
172
173# Atribuição do restante dos dados que precisam de processamento
174if REQUEST.hdn_txt_autor=='  ': # Corrige bug do Netscape
175    filtro['autor']=''
176
177filtro['tipo_materia']=''
178if REQUEST.lst_tip_materia!='':
179    for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=REQUEST.lst_tip_materia):
180        filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia
181
182filtro['partido']=''
183if REQUEST.lst_cod_partido!='':
184    for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido):
185        filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_partido
186
187filtro['tramitando']=''
188if REQUEST.rad_tramitando=='1':
189    filtro['tramitacao']='Sim'
190elif REQUEST['rad_tramitando']=='0':
191    filtro['tramitacao']='Não'
192
193filtro['situacao_atual']=''
194if REQUEST.lst_status!='':
195    for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0,cod_status=REQUEST.lst_status):
196        filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status
197
198sessao=session.id
199caminho = context.pdf_materia_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro)
200if caminho=='aviso':
201    return response.redirect('mensagem_emitir_proc')
202else:
203    response.redirect(caminho)
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.