source: publico/ILSAPL/branches/2.4/skins/sk_sapl/relatorios/pdf_sessao_plenaria_preparar_pysc.py @ 5384

Última Alteração nesse arquivo desde 5384 foi 5384, incluída por lucianodefazio, 8 anos atrás

Adiciona número do processo no PDF da Sessão Plenária (Resumo)

File size: 11.3 KB
Linha 
1import os
2
3request=context.REQUEST
4response=request.RESPONSE
5session= request.SESSION
6
7if context.REQUEST['data']!='':
8    dat_inicio_sessao = context.REQUEST['data']
9    pauta = [] # lista contendo a pauta da ordem do dia a ser impressa   
10    data = context.pysc.data_converter_pysc(dat_inicio_sessao) # converte data para formato yyyy/mm/dd
11
12    # seleciona as matérias que compõem a pauta na data escolhida
13    for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, ind_excluido=0):
14        inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria
15        # seleciona o tipo da sessao plenaria
16        tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0]
17        inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
18        inf_basicas_dic["num_sessao_plen"] = sessao.num_sessao_plen
19        inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao
20        inf_basicas_dic["num_legislatura"] = sessao.num_legislatura
21        inf_basicas_dic["num_sessao_leg"] = sessao.num_sessao_leg
22        inf_basicas_dic["dat_inicio_sessao"] = sessao.dat_inicio_sessao
23        inf_basicas_dic["hr_inicio_sessao"] = sessao.hr_inicio_sessao
24        inf_basicas_dic["dat_fim_sessao"] = sessao.dat_fim_sessao
25        inf_basicas_dic["hr_fim_sessao"] = sessao.hr_fim_sessao
26 
27        # Lista da composicao da mesa diretora
28        lst_mesa = []
29        for composicao in context.zsql.composicao_mesa_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
30            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=composicao.cod_parlamentar,ind_excluido=0):
31                for cargo in context.zsql.cargo_mesa_obter_zsql(cod_cargo=composicao.cod_cargo, ind_excluido=0):
32                    dic_mesa = {}
33                    dic_mesa['nom_parlamentar'] = parlamentar.nom_parlamentar
34                    dic_mesa['sgl_partido'] = parlamentar.sgl_partido
35                    dic_mesa['des_cargo'] = cargo.des_cargo
36                    lst_mesa.append(dic_mesa)
37
38        # Lista de presença na sessão
39        lst_presenca_sessao = []
40        for presenca in context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
41            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca.cod_parlamentar,ind_excluido=0):
42                dic_presenca = {}
43                dic_presenca["nom_parlamentar"] = parlamentar.nom_parlamentar
44                dic_presenca['sgl_partido'] = parlamentar.sgl_partido
45                lst_presenca_sessao.append(dic_presenca)
46
47        # Exibe os Expedientes
48        lst_expedientes = []
49        dic_expedientes = None
50        for tip_expediente in context.zsql.tipo_expediente_obter_zsql():
51            for expediente in context.zsql.expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,cod_expediente=tip_expediente.cod_expediente, ind_excluido=0):
52                dic_expedientes = {}
53                dic_expedientes["nom_expediente"] = tip_expediente.nom_expediente
54                dic_expedientes["txt_expediente"] = expediente.txt_expediente
55
56            if dic_expedientes:
57                lst_expedientes.append(dic_expedientes)
58     
59        # Lista das matérias do Expediente, incluindo o resultado das votacoes
60        lst_expediente_materia=[]
61        for expediente_materia in context.zsql.votacao_expediente_materia_obter_zsql(dat_ordem = data,ind_excluido=0):
62       
63            # seleciona os detalhes de uma matéria
64            materia = context.zsql.materia_obter_zsql(cod_materia=expediente_materia.cod_materia)[0]
65
66            dic_expediente_materia = {}
67            dic_expediente_materia["num_ordem"] = expediente_materia.num_ordem
68            dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia+" - "+materia.des_tipo_materia+" No. "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
69            dic_expediente_materia["des_numeracao"]=""
70            numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia)
71            if len(numeracao):
72               numeracao = numeracao[0]
73               dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
74            dic_expediente_materia["txt_ementa"] = materia.txt_ementa
75            dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
76            dic_expediente_materia["nom_autor"] = ''
77            autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)       
78            if len(autoria) > 0: # se existe autor
79                autoria = autoria[0]
80                autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
81                if len(autor) > 0:
82                    autor = autor[0]
83           
84                if autor.des_tipo_autor == "Parlamentar":
85                    parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]     
86                    dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
87                elif autor.des_tipo_autor == "Comissao":
88                    comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
89                    dic_expediente_materia["nom_autor"] = comissao.nom_comissao
90                else:
91                    dic_expediente_materia["nom_autor"] = autor.nom_autor
92           
93            if expediente_materia.tip_resultado_votacao:
94                resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
95                for i in resultado:
96                    dic_expediente_materia["nom_resultado"] = i.nom_resultado
97                    if expediente_materia.votacao_observacao:
98                        dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao
99            else:
100                dic_expediente_materia["nom_resultado"] = "Matéria não votada"
101                dic_expediente_materia["votacao_observacao"] = "Vazio"
102            lst_expediente_materia.append(dic_expediente_materia)
103
104        # Lista presença na ordem do dia
105        lst_presenca_ordem_dia = []
106        for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
107            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar,ind_excluido=0):
108                dic_presenca_ordem_dia = {}
109                dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar
110                dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido
111                lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)
112       
113        # Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
114        lst_votacao=[]
115        for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem = data, ind_excluido=0):
116       
117            # seleciona os detalhes de uma matéria
118            materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
119
120            dic_votacao = {}
121            dic_votacao["num_ordem"] = votacao.num_ordem
122            dic_votacao["id_materia"] = materia.sgl_tipo_materia+" - "+materia.des_tipo_materia+" No. "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
123            dic_votacao["des_numeracao"]=""
124            numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia)
125            if len(numeracao):
126               numeracao = numeracao[0]
127               dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
128            dic_votacao["txt_ementa"] = materia.txt_ementa
129            dic_votacao["ordem_observacao"] = votacao.ordem_observacao
130            dic_votacao["nom_autor"] = ''
131            autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)       
132            if len(autoria) > 0: # se existe autor
133                autoria = autoria[0]
134                autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
135                if len(autor) > 0:
136                    autor = autor[0]
137           
138                if autor.des_tipo_autor == "Parlamentar":
139                    parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]     
140                    dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
141                elif autor.des_tipo_autor == "Comissao":
142                    comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
143                    dic_votacao["nom_autor"] = comissao.nom_comissao
144                else:
145                    dic_votacao["nom_autor"] = autor.nom_autor
146           
147            if votacao.tip_resultado_votacao:
148                resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
149                for i in resultado:
150                    dic_votacao["nom_resultado"] = i.nom_resultado
151                    if votacao.votacao_observacao:
152                        dic_votacao["votacao_observacao"] = votacao.votacao_observacao
153            else:
154                dic_votacao["nom_resultado"] = "Matéria não votada"
155                dic_votacao["votacao_observacao"] = "Vazio"
156            lst_votacao.append(dic_votacao)
157
158        # Lista dos oradores
159        lst_oradores = []
160        for orador in context.zsql.oradores_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
161            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador.cod_parlamentar,ind_excluido=0):
162                dic_oradores = {}
163                dic_oradores["num_ordem"] = orador.num_ordem
164                dic_oradores["nom_parlamentar"] = parlamentar.nom_parlamentar
165                dic_oradores['sgl_partido'] = parlamentar.sgl_partido
166                lst_oradores.append(dic_oradores)
167
168    # obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página
169    cabecalho={}
170
171    # tenta buscar o logotipo da casa LOGO_CASA
172    if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'):
173        imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
174    else:
175        imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
176   
177    #Abaixo é gerado o dic do rodapé da página (linha 7)
178    casa={}
179    aux=context.sapl_documentos.props_sapl.propertyItems()
180    for item in aux:
181        casa[item[0]]=item[1]
182    localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
183    data_emissao= DateTime().strftime("%d/%m/%Y")
184    rodape= casa
185    rodape['data_emissao']= data_emissao
186
187    inf_basicas_dic['nom_camara']= casa['nom_casa']
188    REQUEST=context.REQUEST
189    for local in context.zsql.localidade_obter_zsql(cod_localidade = casa['cod_localidade']):
190        rodape['nom_localidade']= "   "+local.nom_localidade
191        rodape['sgl_uf']= local.sgl_uf
192
193#    return lst_votacao
194    sessao=session.id
195    caminho = context.pdf_sessao_plenaria_gerar(rodape, sessao, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_presenca_ordem_dia, lst_votacao, lst_oradores)
196    if caminho=='aviso':
197        return response.redirect('mensagem_emitir_proc')
198    else:
199       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.