1 | import os |
---|
2 | |
---|
3 | request=context.REQUEST |
---|
4 | response=request.RESPONSE |
---|
5 | session= request.SESSION |
---|
6 | print request.cod_sessao_plen |
---|
7 | return printed |
---|
8 | if context.REQUEST['data']!='': |
---|
9 | dat_inicio_sessao = context.REQUEST['data'] |
---|
10 | pauta = [] # lista contendo a pauta da ordem do dia a ser impressa |
---|
11 | data = context.pysc.data_converter_pysc(dat_inicio_sessao) # converte data para formato yyyy/mm/dd |
---|
12 | codigo = context.REQUEST['cod_sessao_plen'] |
---|
13 | |
---|
14 | # seleciona as matérias que compõem a pauta na data escolhida |
---|
15 | for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, cod_sessao_plen=codigo, ind_excluido=0): |
---|
16 | inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria |
---|
17 | # seleciona o tipo da sessao plenaria |
---|
18 | tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0] |
---|
19 | inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao |
---|
20 | inf_basicas_dic["num_sessao_plen"] = sessao.num_sessao_plen |
---|
21 | inf_basicas_dic["nom_sessao"] = tipo_sessao.nom_sessao |
---|
22 | inf_basicas_dic["num_legislatura"] = sessao.num_legislatura |
---|
23 | inf_basicas_dic["num_sessao_leg"] = sessao.num_sessao_leg |
---|
24 | inf_basicas_dic["dat_inicio_sessao"] = sessao.dat_inicio_sessao |
---|
25 | inf_basicas_dic["hr_inicio_sessao"] = sessao.hr_inicio_sessao |
---|
26 | inf_basicas_dic["dat_fim_sessao"] = sessao.dat_fim_sessao |
---|
27 | inf_basicas_dic["hr_fim_sessao"] = sessao.hr_fim_sessao |
---|
28 | |
---|
29 | # Lista da composicao da mesa diretora |
---|
30 | lst_mesa = [] |
---|
31 | for composicao in context.zsql.composicao_mesa_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0): |
---|
32 | for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=composicao.cod_parlamentar,ind_excluido=0): |
---|
33 | for cargo in context.zsql.cargo_mesa_obter_zsql(cod_cargo=composicao.cod_cargo, ind_excluido=0): |
---|
34 | dic_mesa = {} |
---|
35 | dic_mesa['nom_parlamentar'] = parlamentar.nom_parlamentar |
---|
36 | dic_mesa['sgl_partido'] = parlamentar.sgl_partido |
---|
37 | dic_mesa['des_cargo'] = cargo.des_cargo |
---|
38 | lst_mesa.append(dic_mesa) |
---|
39 | |
---|
40 | # Lista de presença na sessão |
---|
41 | lst_presenca_sessao = [] |
---|
42 | for presenca in context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0): |
---|
43 | for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca.cod_parlamentar,ind_excluido=0): |
---|
44 | dic_presenca = {} |
---|
45 | dic_presenca["nom_parlamentar"] = parlamentar.nom_parlamentar |
---|
46 | dic_presenca['sgl_partido'] = parlamentar.sgl_partido |
---|
47 | lst_presenca_sessao.append(dic_presenca) |
---|
48 | |
---|
49 | # Exibe os Expedientes |
---|
50 | lst_expedientes = [] |
---|
51 | dic_expedientes = None |
---|
52 | for tip_expediente in context.zsql.tipo_expediente_obter_zsql(): |
---|
53 | for expediente in context.zsql.expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,cod_expediente=tip_expediente.cod_expediente, ind_excluido=0): |
---|
54 | dic_expedientes = {} |
---|
55 | dic_expedientes["nom_expediente"] = tip_expediente.nom_expediente |
---|
56 | dic_expedientes["txt_expediente"] = expediente.txt_expediente |
---|
57 | |
---|
58 | if dic_expedientes: |
---|
59 | lst_expedientes.append(dic_expedientes) |
---|
60 | |
---|
61 | # Lista das matérias do Expediente, incluindo o resultado das votacoes |
---|
62 | lst_expediente_materia=[] |
---|
63 | for expediente_materia in context.zsql.votacao_expediente_materia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0): |
---|
64 | |
---|
65 | # seleciona os detalhes de uma matéria |
---|
66 | materia = context.zsql.materia_obter_zsql(cod_materia=expediente_materia.cod_materia)[0] |
---|
67 | |
---|
68 | dic_expediente_materia = {} |
---|
69 | dic_expediente_materia["num_ordem"] = expediente_materia.num_ordem |
---|
70 | dic_expediente_materia["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
---|
71 | dic_expediente_materia["des_numeracao"]="" |
---|
72 | |
---|
73 | numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia) |
---|
74 | if len(numeracao): |
---|
75 | numeracao = numeracao[0] |
---|
76 | dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia) |
---|
77 | |
---|
78 | tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data) |
---|
79 | dic_expediente_materia["des_turno"]="" |
---|
80 | if len(tram): |
---|
81 | tram_turno = tram[0] |
---|
82 | if tram_turno.sgl_turno != "": |
---|
83 | 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")]: |
---|
84 | if tram_turno.sgl_turno == turno[0]: |
---|
85 | dic_expediente_materia["des_turno"] = turno[1] |
---|
86 | |
---|
87 | dic_expediente_materia["txt_ementa"] = materia.txt_ementa |
---|
88 | dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao |
---|
89 | # dic_expediente_materia["nom_autor"] = "" |
---|
90 | |
---|
91 | lst_autoria_exp_mat=[] |
---|
92 | a="2" |
---|
93 | n="NC-em" |
---|
94 | nc=n |
---|
95 | t="não definido" |
---|
96 | |
---|
97 | for autoria in context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia): |
---|
98 | # if len(autoria) > 0: # se existe autor |
---|
99 | # autoria = autoria[0] |
---|
100 | a="2" |
---|
101 | if autoria.ind_primeiro_autor=="1": |
---|
102 | a="1" |
---|
103 | for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
---|
104 | # if len(autor) > 0: |
---|
105 | # autor = autor[0] |
---|
106 | try: |
---|
107 | if autor.des_tipo_autor == "Parlamentar": |
---|
108 | parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0] |
---|
109 | # dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar |
---|
110 | n=parlamentar.nom_parlamentar |
---|
111 | nc=parlamentar.nom_completo |
---|
112 | t="Parlamentar" |
---|
113 | elif autor.des_tipo_autor == "Comissao": |
---|
114 | comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0] |
---|
115 | # dic_expediente_materia["nom_autor"] = comissao.nom_comissao |
---|
116 | n=comissao.sgl_comissao |
---|
117 | nc=comissao.nom_comissao |
---|
118 | t="Comissão" |
---|
119 | elif autor.nom_autor != "": |
---|
120 | # dic_expediente_materia["nom_autor"] = autor.nom_autor |
---|
121 | n=autor.nom_autor |
---|
122 | nc=n |
---|
123 | t=autor.des_tipo_autor |
---|
124 | else: |
---|
125 | # dic_expediente_materia["nom_autor"] = autor.des_tipo_autor |
---|
126 | n=autor.des_tipo_autor |
---|
127 | nc=n |
---|
128 | t=autor.des_tipo_autor |
---|
129 | except: |
---|
130 | # dic_expediente_materia["nom_autor"] = "NC-em" |
---|
131 | n="NC-em" |
---|
132 | nc=n |
---|
133 | t="não definido" |
---|
134 | lst_autoria_exp_mat.append({a+n:[a,n,nc,t]}) |
---|
135 | |
---|
136 | lst_autoria_exp_mat.sort() |
---|
137 | if len(lst_autoria_exp_mat)>0: |
---|
138 | dic_expediente_materia["autoria_exp_mat"]=lst_autoria_exp_mat |
---|
139 | else: |
---|
140 | lst_autoria_exp_mat.append({a+n:[a,n,nc,t]}) |
---|
141 | dic_expediente_materia["autoria_exp_mat"]=lst_autoria_exp_mat |
---|
142 | |
---|
143 | dic_expediente_materia["votacao_observacao"]="" |
---|
144 | if expediente_materia.tip_resultado_votacao: |
---|
145 | resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0) |
---|
146 | for i in resultado: |
---|
147 | dic_expediente_materia["nom_resultado"] = i.nom_resultado |
---|
148 | if expediente_materia.votacao_observacao: |
---|
149 | dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao |
---|
150 | else: |
---|
151 | dic_expediente_materia["nom_resultado"] = "Matéria não votada" |
---|
152 | dic_expediente_materia["votacao_observacao"] = "Vazio" |
---|
153 | lst_expediente_materia.append(dic_expediente_materia) |
---|
154 | |
---|
155 | # Lista dos oradores do Expediente |
---|
156 | lst_oradores_expediente = [] |
---|
157 | for orador_expediente in context.zsql.oradores_expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0): |
---|
158 | for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador_expediente.cod_parlamentar,ind_excluido=0): |
---|
159 | dic_oradores_expediente = {} |
---|
160 | dic_oradores_expediente["num_ordem"] = orador_expediente.num_ordem |
---|
161 | dic_oradores_expediente["nom_parlamentar"] = parlamentar.nom_parlamentar |
---|
162 | dic_oradores_expediente['sgl_partido'] = parlamentar.sgl_partido |
---|
163 | lst_oradores_expediente.append(dic_oradores_expediente) |
---|
164 | |
---|
165 | # Lista presença na ordem do dia |
---|
166 | lst_presenca_ordem_dia = [] |
---|
167 | for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0): |
---|
168 | for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar,ind_excluido=0): |
---|
169 | dic_presenca_ordem_dia = {} |
---|
170 | dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar |
---|
171 | dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido |
---|
172 | lst_presenca_ordem_dia.append(dic_presenca_ordem_dia) |
---|
173 | |
---|
174 | # Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes |
---|
175 | lst_votacao=[] |
---|
176 | for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0): |
---|
177 | |
---|
178 | # seleciona os detalhes de uma matéria |
---|
179 | materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0] |
---|
180 | |
---|
181 | dic_votacao = {} |
---|
182 | dic_votacao["num_ordem"] = votacao.num_ordem |
---|
183 | dic_votacao["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
---|
184 | dic_votacao["des_numeracao"]="" |
---|
185 | numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia) |
---|
186 | if len(numeracao): |
---|
187 | numeracao = numeracao[0] |
---|
188 | dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia) |
---|
189 | dic_votacao["des_turno"]="" |
---|
190 | tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1) |
---|
191 | if len(tramitacao): |
---|
192 | tramitacao = tramitacao[0] |
---|
193 | tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data) |
---|
194 | if len(tram): |
---|
195 | tram_turno = tram[0] |
---|
196 | if tram_turno.sgl_turno != "": |
---|
197 | 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")]: |
---|
198 | if tram_turno.sgl_turno == turno[0]: |
---|
199 | dic_votacao["des_turno"] = turno[1] |
---|
200 | dic_votacao["txt_ementa"] = materia.txt_ementa |
---|
201 | dic_votacao["ordem_observacao"] = votacao.ordem_observacao |
---|
202 | # dic_votacao["nom_autor"] = "" |
---|
203 | lst_autoria_od=[] |
---|
204 | a="2" |
---|
205 | n="NC-od" |
---|
206 | nc="NC - OD" |
---|
207 | t="não definido" |
---|
208 | |
---|
209 | for autoria in context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia): |
---|
210 | # if len(autoria) > 0: # se existe autor |
---|
211 | # autoria = autoria[0] |
---|
212 | a="2" |
---|
213 | n="NC-od" |
---|
214 | nc="NC - OD" |
---|
215 | t="não definido" |
---|
216 | if autoria.ind_primeiro_autor=="1": |
---|
217 | a="1" |
---|
218 | for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
---|
219 | # if len(autor) > 0: |
---|
220 | # autor = autor[0] |
---|
221 | try: |
---|
222 | if autor.des_tipo_autor == "Parlamentar": |
---|
223 | parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0] |
---|
224 | # dic_votacao["nom_autor"] = parlamentar.nom_parlamentar |
---|
225 | n=parlamentar.nom_parlamentar |
---|
226 | nc=parlamentar.nom_completo |
---|
227 | t="Parlamentar" |
---|
228 | elif autor.des_tipo_autor == "Comissao": |
---|
229 | comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0] |
---|
230 | # dic_votacao["nom_autor"] = comissao.nom_comissao |
---|
231 | n=comissao.sgl_comissao |
---|
232 | nc=comissao.nom_comissao |
---|
233 | t="Comissão" |
---|
234 | elif autor.nom_autor != "": |
---|
235 | # dic_votacao["nom_autor"] = autor.nom_autor |
---|
236 | n=autor.nom_autor |
---|
237 | nc=autor.nom_autor |
---|
238 | t=autor.des_tipo_autor |
---|
239 | else: |
---|
240 | # dic_votacao["nom_autor"] = autor.des_tipo_autor |
---|
241 | n=autor.des_tipo_autor |
---|
242 | nc=autor.des_tipo_autor |
---|
243 | t=autor.des_tipo_autor |
---|
244 | except: |
---|
245 | # dic_votacao["nom_autor"] = "NC-od" |
---|
246 | n="NC-od" |
---|
247 | nc="NC - OD" |
---|
248 | t="não definido" |
---|
249 | |
---|
250 | lst_autoria_od.append({a+n:[a,n,nc,t]}) |
---|
251 | |
---|
252 | lst_autoria_od.sort() |
---|
253 | if len(lst_autoria_od)>0: |
---|
254 | dic_votacao["autoria_od"]=lst_autoria_od |
---|
255 | else: |
---|
256 | lst_autoria_od.append({a+n:[a,n,nc,t]}) |
---|
257 | dic_votacao["autoria_od"]=lst_autoria_od |
---|
258 | |
---|
259 | dic_votacao["votacao_observacao"]="" |
---|
260 | if votacao.tip_resultado_votacao: |
---|
261 | resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0) |
---|
262 | for i in resultado: |
---|
263 | dic_votacao["nom_resultado"] = i.nom_resultado |
---|
264 | if votacao.votacao_observacao: |
---|
265 | dic_votacao["votacao_observacao"] = votacao.votacao_observacao |
---|
266 | else: |
---|
267 | dic_votacao["nom_resultado"] = "Matéria não votada" |
---|
268 | dic_votacao["votacao_observacao"] = "Vazio" |
---|
269 | lst_votacao.append(dic_votacao) |
---|
270 | |
---|
271 | # Lista dos oradores nas Explicações Pessoais |
---|
272 | lst_oradores = [] |
---|
273 | for orador in context.zsql.oradores_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0): |
---|
274 | for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador.cod_parlamentar,ind_excluido=0): |
---|
275 | dic_oradores = {} |
---|
276 | dic_oradores["num_ordem"] = orador.num_ordem |
---|
277 | dic_oradores["nom_parlamentar"] = parlamentar.nom_parlamentar |
---|
278 | dic_oradores['sgl_partido'] = parlamentar.sgl_partido |
---|
279 | lst_oradores.append(dic_oradores) |
---|
280 | |
---|
281 | # obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página |
---|
282 | cabecalho={} |
---|
283 | |
---|
284 | # tenta buscar o logotipo da casa LOGO_CASA |
---|
285 | if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
---|
286 | imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
---|
287 | else: |
---|
288 | imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
---|
289 | |
---|
290 | #Abaixo é gerado o dic do rodapé da página (linha 7) |
---|
291 | casa={} |
---|
292 | aux=context.sapl_documentos.props_sapl.propertyItems() |
---|
293 | for item in aux: |
---|
294 | casa[item[0]]=item[1] |
---|
295 | localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
---|
296 | data_emissao= DateTime().strftime("%d/%m/%Y") |
---|
297 | rodape= casa |
---|
298 | rodape['data_emissao']= data_emissao |
---|
299 | |
---|
300 | inf_basicas_dic['nom_camara']= casa['nom_casa'] |
---|
301 | REQUEST=context.REQUEST |
---|
302 | for local in context.zsql.localidade_obter_zsql(cod_localidade = casa['cod_localidade']): |
---|
303 | rodape['nom_localidade']= " "+local.nom_localidade |
---|
304 | rodape['sgl_uf']= local.sgl_uf |
---|
305 | |
---|
306 | # return lst_votacao |
---|
307 | sessao=session.id |
---|
308 | caminho = context.pdf_sessao_plenaria_gerar(rodape, sessao, imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores) |
---|
309 | if caminho=='aviso': |
---|
310 | return response.redirect('mensagem_emitir_proc') |
---|
311 | else: |
---|
312 | response.redirect(caminho) |
---|