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

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

Inclui listas de presença no PDF da Sessão Plenária

File size: 10.7 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["txt_ementa"] = materia.txt_ementa
70            dic_expediente_materia["ordem_observacao"] = expediente_materia.ordem_observacao
71            dic_expediente_materia["nom_autor"] = ''
72            autoria = context.zsql.autoria_obter_zsql(cod_materia=expediente_materia.cod_materia, ind_primeiro_autor=1)       
73            if len(autoria) > 0: # se existe autor
74                autoria = autoria[0]
75                autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
76                if len(autor) > 0:
77                    autor = autor[0]
78           
79                if autor.des_tipo_autor == "Parlamentar":
80                    parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]     
81                    dic_expediente_materia["nom_autor"] = parlamentar.nom_parlamentar
82                elif autor.des_tipo_autor == "Comissao":
83                    comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
84                    dic_expediente_materia["nom_autor"] = comissao.nom_comissao
85                else:
86                    dic_expediente_materia["nom_autor"] = autor.nom_autor
87           
88            if expediente_materia.tip_resultado_votacao:
89                resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=expediente_materia.tip_resultado_votacao, ind_excluido=0)
90                for i in resultado:
91                    dic_expediente_materia["nom_resultado"] = i.nom_resultado
92                    if expediente_materia.votacao_observacao:
93                        dic_expediente_materia["votacao_observacao"] = expediente_materia.votacao_observacao
94            else:
95                dic_expediente_materia["nom_resultado"] = "Matéria não votada"
96                dic_expediente_materia["votacao_observacao"] = "Vazio"
97            lst_expediente_materia.append(dic_expediente_materia)
98
99        # Lista presença na ordem do dia
100        lst_presenca_ordem_dia = []
101        for presenca_ordem_dia in context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen,ind_excluido=0):
102            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=presenca_ordem_dia.cod_parlamentar,ind_excluido=0):
103                dic_presenca_ordem_dia = {}
104                dic_presenca_ordem_dia['nom_parlamentar'] = parlamentar.nom_parlamentar
105                dic_presenca_ordem_dia['sgl_partido'] = parlamentar.sgl_partido
106                lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)
107       
108        # Lista das matérias da Ordem do Dia, incluindo o resultado das votacoes
109        lst_votacao=[]
110        for votacao in context.zsql.votacao_ordem_dia_obter_zsql(dat_ordem = data, ind_excluido=0):
111       
112            # seleciona os detalhes de uma matéria
113            materia = context.zsql.materia_obter_zsql(cod_materia=votacao.cod_materia)[0]
114
115            dic_votacao = {}
116            dic_votacao["num_ordem"] = votacao.num_ordem
117            dic_votacao["id_materia"] = materia.sgl_tipo_materia+" - "+materia.des_tipo_materia+" No. "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica)
118            dic_votacao["txt_ementa"] = materia.txt_ementa
119            dic_votacao["ordem_observacao"] = votacao.ordem_observacao
120            dic_votacao["nom_autor"] = ''
121            autoria = context.zsql.autoria_obter_zsql(cod_materia=votacao.cod_materia, ind_primeiro_autor=1)       
122            if len(autoria) > 0: # se existe autor
123                autoria = autoria[0]
124                autor = context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor)
125                if len(autor) > 0:
126                    autor = autor[0]
127           
128                if autor.des_tipo_autor == "Parlamentar":
129                    parlamentar = context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar)[0]     
130                    dic_votacao["nom_autor"] = parlamentar.nom_parlamentar
131                elif autor.des_tipo_autor == "Comissao":
132                    comissao = context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao)[0]
133                    dic_votacao["nom_autor"] = comissao.nom_comissao
134                else:
135                    dic_votacao["nom_autor"] = autor.nom_autor
136           
137            if votacao.tip_resultado_votacao:
138                resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=votacao.tip_resultado_votacao, ind_excluido=0)
139                for i in resultado:
140                    dic_votacao["nom_resultado"] = i.nom_resultado
141                    if votacao.votacao_observacao:
142                        dic_votacao["votacao_observacao"] = votacao.votacao_observacao
143            else:
144                dic_votacao["nom_resultado"] = "Matéria não votada"
145                dic_votacao["votacao_observacao"] = "Vazio"
146            lst_votacao.append(dic_votacao)
147
148        # Lista dos oradores
149        lst_oradores = []
150        for orador in context.zsql.oradores_obter_zsql(cod_sessao_plen=sessao.cod_sessao_plen, ind_excluido=0):
151            for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=orador.cod_parlamentar,ind_excluido=0):
152                dic_oradores = {}
153                dic_oradores["num_ordem"] = orador.num_ordem
154                dic_oradores["nom_parlamentar"] = parlamentar.nom_parlamentar
155                dic_oradores['sgl_partido'] = parlamentar.sgl_partido
156                lst_oradores.append(dic_oradores)
157
158    # obtém as propriedades da casa legislativa para montar o cabeçalho e o rodapé da página
159    cabecalho={}
160
161    # tenta buscar o logotipo da casa LOGO_CASA
162    if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'):
163        imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
164    else:
165        imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
166   
167    #Abaixo é gerado o dic do rodapé da página (linha 7)
168    casa={}
169    aux=context.sapl_documentos.props_sapl.propertyItems()
170    for item in aux:
171        casa[item[0]]=item[1]
172    localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
173    data_emissao= DateTime().strftime("%d/%m/%Y")
174    rodape= casa
175    rodape['data_emissao']= data_emissao
176
177    inf_basicas_dic['nom_camara']= casa['nom_casa']
178    REQUEST=context.REQUEST
179    for local in context.zsql.localidade_obter_zsql(cod_localidade = casa['cod_localidade']):
180        rodape['nom_localidade']= "   "+local.nom_localidade
181        rodape['sgl_uf']= local.sgl_uf
182
183#    return lst_votacao
184    sessao=session.id
185    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)
186    if caminho=='aviso':
187        return response.redirect('mensagem_emitir_proc')
188    else:
189       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.