source: publico/ILSAPL/branches/2.5/skins/sk_sapl/relatorios/pdf_sessao_plenaria_preparar_pysc.py @ 8412

Última Alteração nesse arquivo desde 8412 foi 8412, incluída por claudiomorale, 11 meses atrás

corrige impressao de etiquetas processo

File size: 16.8 KB
Linha 
1import os
2
3request=context.REQUEST
4response=request.RESPONSE
5session= request.SESSION
6print request.cod_sessao_plen
7return printed
8if 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)
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.