source: publico/ILSAPL/branches/2.5/skins/sk_sapl/zsql/materia_pesquisar_zsql.zsql @ 8451

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

altera limite de registros de para 10mil como resultado de pesquisa de materias

File size: 15.1 KB
Linha 
1<dtml-comment>
2connection_id : dbcon_interlegis
3arguments : tip_id_basica="" num_ident_basica="" ano_ident_basica="" num_protocolo="" ind_tramitacao="" cod_status="" nom_relator="" des_assunto="" des_tipo_autor="" cod_autor="" ind_coautor="" cod_partido="" dat_apresentacao="" dat_apresentacao2="" dat_publicacao="" dat_publicacao2="" num_origem_externa="" npc="" cod_unid_tramitacao="" rd_ordem="1" rd_ordem_td="1" cod_assunto=0 dat_votacao="" dat_votacao2=""
4max_rows : 10000
5max_cache : 100
6</dtml-comment>
7<dtml-comment>
8*----------------------------------------------------------------
9  Funcao: Pesquisar as matérias, tambem pelo num_origem_externa e pelo numero de processo npc
10  que esta registrado no campo num_materia na tabela numeracao.
11
12  Inclusao do argumento: dat_votacao, dat_votacao2 - para selecionar as materias votadas no periodo indicado
13  alterado em : 25/05/2017
14
15  Inclusao de um argumento: num_origem_externa
16  Autor: Sergio Damiati
17  ultima Alteracao: 22/04/2004
18
19  Inclusao de um argumento: npc
20  Autor: Sergio Damiati
21  ultima Alteracao: 02/08/2004
22
23  Inclusao dos campos num_origem_externa e ano_origem_externa na SELECT
24  Retorno: campos incluídos se existirem
25  Por Sergio Damiati em 22/09/2006
26
27  Inclusao da opcao de ordenacao por data de apresentacao, mantendo como original a ordenacao tipo e data
28  ...25/07/2013
29*-----------------------------------------------------------------------------------------------
30  Funcao: Insercao das datas de apresentacao e publicacao na pesquisa de materias legislativas
31  Argumentos: [dat_apresentacao: nb] - data de apresentacao da materia
32              [dat_publicacao: nb] - data de publicacao da materia
33  Retorno: Materias selecionadas   
34  Autores: Glaucio, Luiz Eduardo, Thaianne
35  ultima Alteracao: 10/01/05
36*------------------------------------------------------------------------------------------------
37  Funcao: Selecionar as materias conforme a query de pesquisa, a
38          qual e montada dinamicamente de acordo com os parametros
39          passados.
40  Argumentos: [tip_id_basica: int] - tipo da materia
41              [num_ident_basica: int] - nnmero da materia
42              [ano_ident_basica: int] - ano da materia
43              [ind_tramitacao: int] - indicador de tramitacao(0 ou 1)
44              [cod_status: int] - codigo do status da tramitacao
45              [nom_relator: string] - nome do relator
46              [des_assunto: string] - assunto da materia
47              [des_tipo_autor: string] - descricao do tipo de autor
48              [cod_autor: int] - codigo do autor da materia
49              [cod_partido: int] - codigo do partido do autor
50                          [cod_assunto: int] - codigo assunto
51  Retorno: Materias selecionadas
52  Autora: Man Qi
53  ultima Alteracao: 10/05/02
54----------------------------------------------------------------*
55</dtml-comment>
56SELECT
57       distinct REPLACE(materia_legislativa.cod_materia, 'L', '') as cod_materia,
58       REPLACE(materia_legislativa.tip_id_basica, 'L', '') as tip_id_basica,
59       materia_legislativa.num_ident_basica,
60       materia_legislativa.ano_ident_basica,
61       materia_legislativa.num_protocolo,
62       materia_legislativa.txt_ementa,
63       materia_legislativa.dat_apresentacao,
64       materia_legislativa.dat_publicacao,
65       materia_legislativa.ind_tramitacao,
66       materia_legislativa.txt_observacao,
67       num_origem_externa,
68       ano_origem_externa,
69       tipo_materia_legislativa.sgl_tipo_materia,
70       tipo_materia_legislativa.des_tipo_materia
71       <dtml-if nom_relator>
72         ,parlamentar_relator.nom_completo
73       </dtml-if>
74       <dtml-if cod_status>
75         ,REPLACE(tramitacao.cod_status, 'L', '') as cod_status
76         ,tramitacao.dat_tramitacao
77       </dtml-if>
78       <dtml-if cod_unid_tramitacao>
79         ,REPLACE(tramitacao.cod_unid_tram_dest, 'L', '') as cod_unid_tram_dest
80       </dtml-if>
81       <dtml-if npc>
82         ,numeracao.num_materia
83       </dtml-if>
84       <dtml-if dat_fim_prazo>
85         ,DATE_FORMAT(materia_legislativa.dat_fim_prazo, '%d/%m/%y') as dat_fim_prazo
86       </dtml-if>
87
88FROM   materia_legislativa, tipo_materia_legislativa
89    <dtml-comment>se o campo Situação Atual estiver preenchido.</dtml-comment>
90    <dtml-if expr="cod_status!='' or cod_unid_tramitacao">
91      ,tramitacao
92    </dtml-if>
93
94    <dtml-comment>se o campo Relator estiver preenchido.</dtml-comment>
95    <dtml-if nom_relator>
96      ,relatoria, parlamentar as parlamentar_relator
97    </dtml-if>
98
99    <dtml-comment>se o campo Tipo Autor ou Partido(Autor) estiver preenchido.</dtml-comment>
100    <dtml-if expr="des_tipo_autor!='' or cod_partido">
101      ,autoria, autor
102    </dtml-if>
103
104    <dtml-comment>se o campo Partido(Autor) estiver preenchido.</dtml-comment>
105    <dtml-if cod_partido>
106      ,filiacao, parlamentar as parlamentar_autor
107    </dtml-if>
108
109    <dtml-comment>se o campo Tipo Autor = Parlamentar e o campo Partido(Autor) não estiver preenchido.</dtml-comment>
110    <dtml-if expr="des_tipo_autor=='Parlamentar' and not cod_partido">
111      ,parlamentar as parlamentar_autor
112
113    <dtml-comment>se o campo Tipo Autor = Comissao</dtml-comment>
114    <dtml-elif expr="des_tipo_autor=='Comissao'">
115      ,comissao
116    </dtml-if>
117
118    <dtml-comment>se o campo Tipo Autor estiver preenchido e for <> Parlamentar e <> Comissao.</dtml-comment>
119    <dtml-if expr="des_tipo_autor!='' and des_tipo_autor!='Parlamentar' and des_tipo_autor!='Comissao'">
120      ,tipo_autor
121    </dtml-if>
122
123    <dtml-comment>Se o campo NPC estiver preenchido</dtml-comment>
124    <dtml-if npc>
125      ,numeracao
126    </dtml-if>
127        <dtml-comment> se o campo cod_assunto estiver preenchido</dtml-comment>
128        <dtml-if expr="int(cod_assunto)>0">
129          ,materia_assunto
130        </dtml-if>
131        <dtml-comment> se o campo dat_votacao e dat_votacao2 estiverem preenchidos</dtml-comment>
132        <dtml-if expr="dat_votacao!='' or dat_votacao2!=''">
133          ,expediente_materia, ordem_dia, registro_votacao
134        </dtml-if>
135
136<dtml-sqlgroup where>
137        materia_legislativa.ind_excluido = 0
138    and materia_legislativa.tip_id_basica = tipo_materia_legislativa.tip_materia
139        <dtml-if tip_id_basica>
140        and materia_legislativa.tip_id_basica    = <dtml-sqlvar tip_id_basica type="int" optional>
141        </dtml-if>
142        <dtml-if num_ident_basica>
143        and materia_legislativa.num_ident_basica = <dtml-sqlvar num_ident_basica type="int" optional>
144    </dtml-if>
145    <dtml-if ano_ident_basica>
146    and materia_legislativa.ano_ident_basica = <dtml-sqlvar ano_ident_basica type="int" optional>
147    </dtml-if>
148    <dtml-if num_protocolo>
149    and materia_legislativa.num_protocolo = <dtml-sqlvar num_protocolo type="int" optional>
150    </dtml-if>
151    <dtml-if ind_tramitacao>
152    and materia_legislativa.ind_tramitacao = <dtml-sqlvar ind_tramitacao  type="int" optional>
153    </dtml-if>
154
155<dtml-if expr="(dat_apresentacao and dat_apresentacao2)"> 
156    and materia_legislativa.dat_apresentacao >= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_apresentacao)"  type="nb" optional>
157        and materia_legislativa.dat_apresentacao <= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_apresentacao2)" type="nb" optional>
158</dtml-if>     
159<dtml-if expr="(dat_publicacao and dat_publicacao2)">
160     and materia_legislativa.dat_publicacao >= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_publicacao)"  type="nb" optional>
161         and materia_legislativa.dat_publicacao <= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_publicacao2)" type="nb" optional>
162</dtml-if>
163<dtml-if expr="dat_votacao and dat_votacao2">
164    and ( (materia_legislativa.cod_materia = expediente_materia.cod_materia
165                   and expediente_materia.cod_materia = registro_votacao.cod_materia
166                   and expediente_materia.dat_ordem >= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_votacao)"  type="nb" optional>
167                   and expediente_materia.dat_ordem <= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_votacao2)" type="nb" optional>
168                  ) or
169                  (materia_legislativa.cod_materia = ordem_dia.cod_materia
170                   and ordem_dia.cod_materia = registro_votacao.cod_materia
171                   and ordem_dia.dat_ordem >= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_votacao)"  type="nb" optional>
172                   and ordem_dia.dat_ordem <= <dtml-sqlvar "pysc.port_to_iso_pysc(dat_votacao2)" type="nb" optional>
173              )
174            )
175</dtml-if>
176<dtml-comment>
177  <dtml-if tip_id_basica>
178      and materia_legislativa.tip_id_basica = <dtml-sqlvar tip_id_basica type="int">
179 </dtml-if>
180
181  <dtml-if num_ident_basica>
182     and materia_legislativa.num_ident_basica = <dtml-sqlvar num_ident_basica type="int">
183  </dtml-if>
184
185    <dtml-if ano_ident_basica>
186      and materia_legislativa.ano_ident_basica = <dtml-sqlvar ano_ident_basica type="int">
187    </dtml-if>
188
189    <dtml-if ind_tramitacao>
190      and materia_legislativa.ind_tramitacao = ind_tramitacao
191    </dtml-if>
192</dtml-comment>
193</dtml-sqlgroup>
194
195<dtml-comment>
196    <dtml-if des_assunto>
197      and (match(materia_legislativa.txt_ementa) against (<dtml-sqlvar des_assunto type="string">) or
198      match(materia_legislativa.txt_indexacao) against (<dtml-sqlvar des_assunto type="string">))
199    </dtml-if>
200</dtml-comment>
201
202<dtml-comment>
203************************************************************************
204* Esta pesquisa funciona por frase exata. Sergio Damiati em 17/07/2006 *
205************************************************************************
206</dtml-comment>
207    <dtml-if des_assunto>
208        <dtml-in expr="_.string.split(des_assunto, ';')">
209                <dtml-let des_assunto="'%'+_['sequence-item'].strip()+'%'">
210                <dtml-if expr="len(des_assunto) > 2">
211                   and (materia_legislativa.txt_ementa like <dtml-sqlvar des_assunto type="string"> or
212                   materia_legislativa.txt_indexacao like <dtml-sqlvar des_assunto type="string"> or
213                   materia_legislativa.txt_observacao like <dtml-sqlvar des_assunto type="string">)
214
215                </dtml-if>
216                </dtml-let>
217        </dtml-in>
218    </dtml-if>
219
220    <dtml-if npc>
221      and numeracao.cod_materia = materia_legislativa.cod_materia
222      and numeracao.num_materia = <dtml-sqlvar npc type="string">
223      and numeracao.ind_excluido = 0
224    </dtml-if>
225
226    <dtml-if num_origem_externa>
227      and materia_legislativa.num_origem_externa = <dtml-sqlvar num_origem_externa type="string">
228    </dtml-if>
229
230    <dtml-if cod_status>
231      and materia_legislativa.cod_materia = tramitacao.cod_materia and
232      tramitacao.ind_ult_tramitacao = 1 and
233      tramitacao.ind_excluido = 0 and
234      tramitacao.cod_status = <dtml-sqlvar cod_status type="int">
235    </dtml-if>
236
237    <dtml-if cod_unid_tramitacao>
238      and materia_legislativa.cod_materia = tramitacao.cod_materia and
239      tramitacao.ind_ult_tramitacao = 1 and
240      tramitacao.ind_excluido = 0 and
241      tramitacao.cod_unid_tram_dest = <dtml-sqlvar cod_unid_tramitacao type="int">
242    </dtml-if>
243
244    <dtml-if nom_relator>
245      and materia_legislativa.cod_materia = relatoria.cod_materia and
246      relatoria.ind_excluido = 0 and
247      relatoria.cod_parlamentar = parlamentar_relator.cod_parlamentar and
248      parlamentar_relator.nom_parlamentar = <dtml-sqlvar nom_relator type="string">   
249    </dtml-if>
250
251    <dtml-if expr="des_tipo_autor!='' or cod_partido">
252      and materia_legislativa.cod_materia = autoria.cod_materia and
253      autoria.ind_excluido = 0 and
254     autoria.cod_autor = autor.cod_autor
255    </dtml-if>
256
257    <dtml-comment>se o campo Tipo Autor estiver preenchido.</dtml-comment>
258    <dtml-if expr="des_tipo_autor!=''">
259
260      <dtml-if expr="des_tipo_autor=='Parlamentar'">
261        and autor.cod_parlamentar = parlamentar_autor.cod_parlamentar
262
263        <dtml-if cod_autor>
264          and parlamentar_autor.cod_parlamentar = <dtml-sqlvar cod_autor type="int">
265        </dtml-if>
266
267        <dtml-if expr="ind_coautor == '0'">
268          and autoria.ind_primeiro_autor = 1
269        </dtml-if>
270
271        <dtml-if expr="ind_coautor == '1'">
272          and autoria.ind_primeiro_autor = 0
273        </dtml-if>
274
275        <dtml-if cod_partido>
276          and parlamentar_autor.cod_parlamentar = filiacao.cod_parlamentar and
277          filiacao.ind_excluido = 0 and
278          filiacao.cod_partido = <dtml-sqlvar cod_partido type="int"> and
279          filiacao.dat_filiacao <= materia_legislativa.dat_apresentacao and
280          (filiacao.dat_desfiliacao >= materia_legislativa.dat_apresentacao or
281          filiacao.dat_desfiliacao is null)
282        </dtml-if>
283
284      <dtml-elif expr="des_tipo_autor=='Comissao'">
285        and autor.cod_comissao = comissao.cod_comissao
286
287        <dtml-if cod_autor>
288          and comissao.cod_comissao = <dtml-sqlvar cod_autor type="int">
289        </dtml-if>
290
291        <dtml-comment> como uma comissão não tem partido, a linha abaixo não faz muito sentido,
292        foi apenas um artifício usado para que a query retorne vazio. Man Qi </dtml-comment>
293        <dtml-if cod_partido>
294          and autor.cod_partido = <dtml-sqlvar cod_partido type="int">
295        </dtml-if>
296
297      <dtml-else>
298        and autor.tip_autor = tipo_autor.tip_autor and
299        tipo_autor.des_tipo_autor = <dtml-sqlvar des_tipo_autor type="string"> and
300        tipo_autor.ind_excluido = 0
301
302        <dtml-if cod_autor>
303          and autor.cod_autor = <dtml-sqlvar cod_autor type="int">
304        </dtml-if>
305
306        <dtml-if cod_partido>
307          and autor.cod_partido = <dtml-sqlvar cod_partido type="int">
308        </dtml-if>
309
310      </dtml-if>
311    </dtml-if>
312
313    <dtml-comment>se o campo Tipo Autor não estiver preenchido e Partido(Autor) estiver preenchido.</dtml-comment>
314    <dtml-if expr="des_tipo_autor=='' and cod_partido">
315      and ((autor.cod_partido = <dtml-sqlvar cod_partido type="int">) or
316      (autor.cod_parlamentar = parlamentar_autor.cod_parlamentar and
317      parlamentar_autor.cod_parlamentar = filiacao.cod_parlamentar and
318      filiacao.cod_partido = <dtml-sqlvar cod_partido type="int"> and
319      filiacao.dat_filiacao <= materia_legislativa.dat_apresentacao and
320      (filiacao.dat_desfiliacao >= materia_legislativa.dat_apresentacao or
321      filiacao.dat_desfiliacao is null)))
322    </dtml-if>
323    <dtml-comment> se o campo cod_assunto estiver sido informado</dtml-comment>
324        <dtml-if expr="int(cod_assunto)>0">
325         and materia_legislativa.cod_materia=materia_assunto.cod_materia
326         and materia_assunto.cod_assunto = <dtml-sqlvar cod_assunto type="int">
327         and materia_assunto.ind_excluido=0
328        </dtml-if>
329<dtml-if expr="rd_ordem == '1'">
330    <dtml-if expr="rd_ordem_td == '1'">
331       ORDER BY materia_legislativa.dat_apresentacao DESC, tipo_materia_legislativa.sgl_tipo_materia ASC, materia_legislativa.ano_ident_basica DESC,
332                LPAD(materia_legislativa.num_ident_basica, 5, '0') DESC
333    <dtml-else>
334       ORDER BY tipo_materia_legislativa.sgl_tipo_materia ASC, materia_legislativa.ano_ident_basica DESC, LPAD(materia_legislativa.num_ident_basica, 5, '0') DESC, materia_legislativa.dat_apresentacao DESC
335    </dtml-if>
336<dtml-else>
337    <dtml-if expr="rd_ordem_td == '1'">
338        ORDER BY materia_legislativa.dat_apresentacao ASC, tipo_materia_legislativa.sgl_tipo_materia ASC, materia_legislativa.ano_ident_basica ASC, LPAD(materia_legislativa.num_ident_basica, 5, '0') ASC
339    <dtml-else>
340        ORDER BY tipo_materia_legislativa.sgl_tipo_materia ASC, materia_legislativa.ano_ident_basica ASC, LPAD(materia_legislativa.num_ident_basica, 5, '0') ASC, materia_legislativa.dat_apresentacao ASC
341    </dtml-if>
342</dtml-if>
343
344<dtml-comment>
345ORDER BY tipo_materia_legislativa.sgl_tipo_materia, LPAD(materia_legislativa.num_ident_basica, 5, '0'), materia_legislativa.ano_ident_basica
346</dtml-comment>
347
348<dtml-comment>
349ORDER BY materia_legislativa.dat_apresentacao DESC
350</dtml-comment>
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.