source: publico/il.sapl/trunk/il/sapl/skins/relatorios/pdf_sessao_plenaria_preparar_pysc.py @ 7875

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

ignorando alguns arquivos

File size: 14.2 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    codigo = context.REQUEST['cod_sessao_plen']
12
13    # seleciona as matérias que compõem a pauta na data escolhida
14    for sessao in context.zsql.sessao_plenaria_obter_zsql(dat_inicio_sessao=data, cod_sessao_plen=codigo, ind_excluido=0):
15        inf_basicas_dic = {} # dicionário que armazenará as informacoes basicas da sessao plenaria
16        # seleciona o tipo da sessao plenaria
17        tipo_sessao = context.zsql.tipo_sessao_plenaria_obter_zsql(tip_sessao=sessao.tip_sessao,ind_excluido=0)[0]
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, cod_sessao_plen=sessao.cod_sessao_plen, 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+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
69            dic_expediente_materia["des_numeracao"]=""
70
71            numeracao = context.zsql.numeracao_obter_zsql(cod_materia=expediente_materia.cod_materia)
72            if len(numeracao):
73               numeracao = numeracao[0]
74               dic_expediente_materia["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
75
76            tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
77            dic_expediente_materia["des_turno"]=""
78            if len(tram):
79               tram_turno = tram[0]
80               if tram_turno.sgl_turno != "":           
81                  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")]:
82                    if tram_turno.sgl_turno == turno[0]:
83                        dic_expediente_materia["des_turno"] = turno[1]
84
85            dic_expediente_materia["txt_ementa"] = materia.txt_ementa
86            dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
87            dic_expediente_materia["nom_autor"] = ""
88            autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)       
89            if len(autoria) > 0: # se existe autor
90                autoria = autoria[0]
91                autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
92                if len(autor) > 0:
93                    autor = autor[0]
94                    try:
95                      if autor.des_tipo_autor == "Parlamentar":
96                         parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]     
97                         dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
98                      elif autor.des_tipo_autor == "Comissao":
99                         comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
100                         dic_expediente_materia["nom_autor"] = comissao.nom_comissao
101                      elif autor.nom_autor != "":
102                         dic_expediente_materia["nom_autor"] = autor.nom_autor
103                      else:
104                         dic_expediente_materia["nom_autor"] = autor.des_tipo_autor
105                    except:
106                      dic_expediente_materia["nom_autor"] = "NC-em"
107
108            dic_expediente_materia["votacao_observacao"]=""
109            if expediente_materia.tip_resultado_votacao:
110                resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
111                for i in resultado:
112                    dic_expediente_materia["nom_resultado"] = i.nom_resultado
113                    if expediente_materia.votacao_observacao:
114                        dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao
115            else:
116                dic_expediente_materia["nom_resultado"] = "Matéria não votada"
117                dic_expediente_materia["votacao_observacao"] = "Vazio"
118            lst_expediente_materia.append(dic_expediente_materia)
119
120        # Lista dos oradores do Expediente
121        lst_oradores_expediente = []
122        for orador_expediente in context.zsql.oradores_expediente_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
123            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador_expediente.cod_parlamentar,ind_excluido=0):
124                dic_oradores_expediente = {}
125                dic_oradores_expediente["num_ordem"] = orador_expediente.num_ordem
126                dic_oradores_expediente["nom_parlamentar"] = parlamentar.nom_parlamentar
127                dic_oradores_expediente['sgl_partido'] = parlamentar.sgl_partido
128                lst_oradores_expediente.append(dic_oradores_expediente)
129
130        # Lista presença na ordem do dia
131        lst_presenca_ordem_dia = []
132        for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
133            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar,ind_excluido=0):
134                dic_presenca_ordem_dia = {}
135                dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar
136                dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido
137                lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)
138       
139        # Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
140        lst_votacao=[]
141        for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem = data, cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
142       
143            # seleciona os detalhes de uma matéria
144            materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
145
146            dic_votacao = {}
147            dic_votacao["num_ordem"] = votacao.num_ordem
148            dic_votacao["id_materia"] = materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
149            dic_votacao["des_numeracao"]=""
150            numeracao = context.zsql.numeracao_obter_zsql(cod_materia=votacao.cod_materia)
151            if len(numeracao):
152               numeracao = numeracao[0]
153               dic_votacao["des_numeracao"] = str(numeracao.num_materia)+"/"+str(numeracao.ano_materia)
154            dic_votacao["des_turno"]=""
155            tramitacao = context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1)
156            if len(tramitacao):
157               tramitacao = tramitacao[0]
158            tram = context.zsql.tramitacao_turno_obter_zsql(cod_materia=materia.cod_materia, dat_inicio_sessao=data)
159            if len(tram):
160               tram_turno = tram[0]
161               if tram_turno.sgl_turno != "":           
162                  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")]:
163                    if tram_turno.sgl_turno == turno[0]:
164                        dic_votacao["des_turno"] = turno[1]
165            dic_votacao["txt_ementa"] = materia.txt_ementa
166            dic_votacao["ordem_observacao"] = votacao.ordem_observacao
167            dic_votacao["nom_autor"] = ""
168            autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)       
169            if len(autoria) > 0: # se existe autor
170                autoria = autoria[0]
171                autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
172                if len(autor) > 0:
173                    autor = autor[0]
174                    try:           
175                      if autor.des_tipo_autor == "Parlamentar":
176                        parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]     
177                        dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
178                      elif autor.des_tipo_autor == "Comissao":
179                        comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
180                        dic_votacao["nom_autor"] = comissao.nom_comissao
181                      elif autor.nom_autor != "":
182                        dic_votacao["nom_autor"] = autor.nom_autor
183                      else:
184                        dic_votacao["nom_autor"] = autor.des_tipo_autor
185                    except:
186                      dic_votacao["nom_autor"] = "NC-od"
187
188            dic_votacao["votacao_observacao"]=""
189            if votacao.tip_resultado_votacao:
190                resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
191                for i in resultado:
192                    dic_votacao["nom_resultado"] = i.nom_resultado
193                    if votacao.votacao_observacao:
194                        dic_votacao["votacao_observacao"] = votacao.votacao_observacao
195            else:
196                dic_votacao["nom_resultado"] = "Matéria não votada"
197                dic_votacao["votacao_observacao"] = "Vazio"
198            lst_votacao.append(dic_votacao)
199
200        # Lista dos oradores nas Explicações Pessoais
201        lst_oradores = []
202        for orador in context.zsql.oradores_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
203            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador.cod_parlamentar,ind_excluido=0):
204                dic_oradores = {}
205                dic_oradores["num_ordem"] = orador.num_ordem
206                dic_oradores["nom_parlamentar"] = parlamentar.nom_parlamentar
207                dic_oradores['sgl_partido'] = parlamentar.sgl_partido
208                lst_oradores.append(dic_oradores)
209
210    # obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página
211    cabecalho={}
212
213    # tenta buscar o logotipo da casa LOGO_CASA
214    if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'):
215        imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
216    else:
217        imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
218   
219    #Abaixo é gerado o dic do rodapé da página (linha 7)
220    casa={}
221    aux=context.sapl_documentos.props_sapl.propertyItems()
222    for item in aux:
223        casa[item[0]]=item[1]
224    localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
225    data_emissao= DateTime().strftime("%d/%m/%Y")
226    rodape= casa
227    rodape['data_emissao']= data_emissao
228
229    inf_basicas_dic['nom_camara']= casa['nom_casa']
230    REQUEST=context.REQUEST
231    for local in context.zsql.localidade_obter_zsql(cod_localidade = casa['cod_localidade']):
232        rodape['nom_localidade']= "   "+local.nom_localidade
233        rodape['sgl_uf']= local.sgl_uf
234
235#    return lst_votacao
236    sessao=session.id
237    caminho = context.pdf_sessao_plenaria_gerar(rodape, 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, sessao)
238    if caminho=='aviso':
239        return response.redirect('mensagem_emitir_proc')
240    else:
241       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.