source: publico/il.sapl/trunk/il/sapl/skins/pysc/votacao_salvar_pysc.py @ 8065

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

ajustes para a anulação da votaçãoil/sapl/skins/cadastros/sessao_plenaria/materia_expediente_sessao/votacao/votacao_salvar_proc.dtml

File size: 6.6 KB
Linha 
1## Script (Python) "votacao_salvar_pysc"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=cod_parlamentar, cod_ordem, cod_materia, tip_resultado_votacao, ind_votacao_iniciada=1, expediente=0, txt_observacao="", vot_parlamentar=""
8##title=
9##
10
11from Products.CMFCore.utils import getToolByName
12
13membership_tool = getToolByName(context, 'portal_membership')
14member = membership_tool.getAuthenticatedMember()
15login = member.getUserName()
16
17dic = {}
18votos_sim = []
19votos_nao = []
20votos_abstencao = []
21votos_nao_votou = []
22#cod_vot=None
23if vot_parlamentar is not None and vot_parlamentar != '[]':
24    for voto in vot_parlamentar:
25        if voto=='Sim':
26            votos_sim.append(voto)
27
28    for voto in vot_parlamentar:
29        if voto=='Não':
30            votos_nao.append(voto)
31
32    for voto in vot_parlamentar:
33        if voto=='Abstenção':
34            votos_abstencao.append(voto)
35
36    for voto in vot_parlamentar:
37        if voto=='Não Votou':
38            votos_nao_votou.append(voto)
39
40#for n in range(len(cod_parlamentar)):
41#    dic[cod_parlamentar[n]]=vot_parlamentar[n]
42    dic = dict(zip(cod_parlamentar, vot_parlamentar))
43else:
44    vot_parlamentar = []
45
46#votacao=context.zsql.votacao_obter_zsql(cod_votacao=cod_votacao,cod_ordem=cod_ordem,cod_materia=cod_materia,ind_excluido=0)
47votacao=context.zsql.votacao_obter_zsql(cod_ordem=cod_ordem,cod_materia=cod_materia, ind_excluido=0)
48materia=context.zsql.materia_obter_zsql(cod_materia=cod_materia, ind_excluido=0)[0]
49
50try:
51    tip_resultado = context.zsql.tipo_resultado_votacao_obter_zsql(tip_resultado_votacao=tip_resultado_votacao)[0].nom_resultado
52    ind_excluido = 0
53except IndexError:
54    tip_resultado = '-1'
55    ind_excluido = 1
56try:
57    cod_sessao_plen = context.zsql.ordem_dia_obter_zsql(cod_ordem=cod_ordem)[0].cod_sessao_plen
58except IndexError:
59    cod_sessao_plen = context.zsql.expediente_materia_obter_zsql(cod_ordem=cod_ordem)[0].cod_sessao_plen
60
61if not expediente:
62    presenca = context.zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)
63else:
64    presenca = context.zsql.presenca_sessao_obter_zsql(cod_sessao_plen=cod_sessao_plen, ind_excluido=0)
65
66if votos_nao_votou:
67    nao_votou = len(votos_nao_votou)
68else:
69    nao_votou = len(presenca) - len(vot_parlamentar)
70
71#for v in votacao:
72#    cod_vot=v.cod_votacao
73try:
74    cod_votacao = votacao[0].cod_votacao
75except IndexError:
76    cod_votacao = None
77if cod_votacao is None:
78    context.zsql.votacao_incluir_zsql(
79        num_votos_sim=len(votos_sim),
80        num_votos_nao=len(votos_nao),
81        num_abstencao=len(votos_abstencao),
82        num_nao_votou=nao_votou,
83        txt_observacao=txt_observacao,
84        cod_ordem=cod_ordem,
85        cod_materia=cod_materia,
86        tip_resultado_votacao=tip_resultado_votacao
87    )
88
89    context.pysc.sessao_plenaria_log_pysc(
90        cod_sessao_plen = cod_sessao_plen,
91        txt_acao = 'inclusão de votação',
92        txt_mensagem = 'Votação da matéria ' + materia.sgl_tipo_materia + ' - ' + materia.des_tipo_materia + ' ' +
93                       str(materia.num_ident_basica) + '/' + str(materia.ano_ident_basica) +
94                       ' incluída na sessão plenária. Resultado: ' + str(len(votos_sim)) + ' votos sim, ' +
95                       str(len(votos_nao)) + ' votos não e ' + str(len(votos_abstencao)) + ' votos de abstenção. Tipo do resultado: ' + tip_resultado
96    )
97
98else:
99    context.zsql.votacao_atualizar_zsql(
100        cod_votacao=cod_votacao,
101        num_votos_sim=len(votos_sim),
102        num_votos_nao=len(votos_nao),
103        num_abstencao=len(votos_abstencao),
104        num_nao_votou=nao_votou,
105        txt_observacao=txt_observacao,
106        cod_ordem=cod_ordem,
107        cod_materia=cod_materia,
108        tip_resultado_votacao=tip_resultado_votacao
109    )
110
111    context.pysc.sessao_plenaria_log_pysc(
112        cod_sessao_plen = cod_sessao_plen,
113        txt_acao = 'atualização de votação',
114        txt_mensagem = 'Votação da matéria ' + materia.sgl_tipo_materia + ' - ' + materia.des_tipo_materia + ' ' +
115                       str(materia.num_ident_basica) + '/' + str(materia.ano_ident_basica) +
116                       ' atualizada na sessão plenária. Resultado: ' + str(len(votos_sim)) + ' votos sim, ' +
117                       str(len(votos_nao)) + ' votos não e ' + str(len(votos_abstencao)) + ' votos de abstenção. Tipo do resultado: ' + tip_resultado
118    )
119
120parlamentares=[]
121if cod_votacao is not None:
122    votacao_parlamentares=context.zsql.votacao_parlamentar_obter_zsql(
123        cod_votacao=cod_votacao,
124        ind_excluido=0
125    )
126    if not votacao_parlamentares:
127        votacao_parlamentares=context.zsql.votacao_parlamentar_obter_zsql(
128        cod_votacao=cod_votacao,
129        ind_excluido=1
130    )
131    for parlamentar in votacao_parlamentares:
132        parlamentares.append(str(parlamentar.cod_parlamentar))
133else:
134    votacao_incluida=context.zsql.votacao_incluida_obter_zsql()
135    cod_votacao = votacao_incluida[0].cod_votacao
136    #for v in votacao_incluida:
137    #    cod_votacao=v.cod_votacao
138
139if vot_parlamentar is not None and vot_parlamentar != '[]':
140    for p in cod_parlamentar:
141        if p not in parlamentares:
142            context.zsql.votacao_parlamentar_incluir_zsql(
143                cod_votacao=cod_votacao,
144                cod_parlamentar=p,
145                txt_login=login,
146                vot_parlamentar=dic.get(p)
147            )
148        else:
149            try:
150                orig_login = context.zsql.votacao_parlamentar_obter_zsql(cod_votacao=cod_votacao,
151                                                                         ind_excluido=0,
152                                                                         cod_parlamentar=p)[0].txt_login
153            except IndexError:
154                orig_login = context.zsql.votacao_parlamentar_obter_zsql(cod_votacao=cod_votacao,
155                                                                         ind_excluido=1,
156                                                                         cod_parlamentar=p)[0].txt_login
157            context.zsql.votacao_parlamentar_atualizar_zsql(
158                cod_votacao=cod_votacao,
159                cod_parlamentar=p,
160                vot_parlamentar=dic.get(p),
161                txt_login=orig_login,
162                ind_excluido=ind_excluido
163            )
164
165if ind_votacao_iniciada == 0 and not expediente:
166    context.zsql.votacao_iniciar_zsql(
167        cod_ordem=cod_ordem,
168        ind_votacao_iniciada=ind_votacao_iniciada
169    )
170
171if ind_votacao_iniciada == 0 and expediente:
172    context.zsql.votacao_expediente_iniciar_zsql(
173        cod_ordem=cod_ordem,
174        ind_votacao_iniciada= ind_votacao_iniciada
175    )
176
177return 1
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.