Commit 9fd9dd18128a53cf0ebd79d3c037f1f304e0a2df
1 parent
ade2ba06
Exists in
master
and in
7 other branches
Inclusão opção para remover o filtro de tempo na opção de análise do sistema metaestat
Showing
4 changed files
with
35 additions
and
53 deletions
Show diff stats
admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
... | ... | @@ -302,17 +302,7 @@ class Metaestat{ |
302 | 302 | $sqlgeo = str_replace("__dadosfiltro__",$dadosfiltro,$sqlgeo); |
303 | 303 | //join com a tabela geo |
304 | 304 | $j = " d.".$dados["colunaidgeo"]."::text = g.".$dadosgeo["identificador"]."::text"; |
305 | - /* | |
306 | - if($filtro){ | |
307 | - $sqlgeo .= " AND ".$j; | |
308 | - } | |
309 | - else{ | |
310 | - $sqlgeo .= " WHERE ".$j; | |
311 | - } | |
312 | - */ | |
313 | - //if($filtro == false){ | |
314 | - $sqlgeo .= " WHERE ".$j; | |
315 | - //} | |
305 | + $sqlgeo .= " WHERE ".$j; | |
316 | 306 | //atencao: cuidado ao alterar essa string pois ') as foo' pode ser usado para replace em outras funcoes |
317 | 307 | $colunas = $this->colunasTabela($dados["codigo_estat_conexao"],$dados["esquemadb"],$dados["tabela"]); |
318 | 308 | //@TODO - agregacao com uma regiao maior |
... | ... | @@ -346,15 +336,13 @@ class Metaestat{ |
346 | 336 | $titulolayer = mb_convert_encoding($titulolayer,"ISO-8859-1",mb_detect_encoding($titulolayer)); |
347 | 337 | $conexao = $this->listaConexao($meta["codigo_estat_conexao"],true); |
348 | 338 | $conexao = "user=".$conexao["usuario"]." password=".$conexao["senha"]." dbname=".$conexao["bancodedados"]." host=".$conexao["host"]." port=".$conexao["porta"].""; |
349 | - //echo $conexao;exit; | |
350 | - //echo "$id_medida_variavel,$todasascolunas,$agruparpor,$tipolayer,$codigo_tipo_regiao";exit; | |
351 | 339 | $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,$tipolayer,$codigo_tipo_regiao); |
352 | 340 | $sqlf = $sql["sqlmapserver"]; |
353 | 341 | if(!empty($filtro)){ |
354 | 342 | $sqlf = str_replace("__filtro__"," AND ".$filtro." /*FA*//*FA*/ /*FAT*//*FAT*/",$sqlf); |
355 | 343 | } |
356 | 344 | else{ |
357 | - $sqlf = str_replace("__filtro__","/*FW*//*FW*/ /*FWT*//*FWT*/",$sqlf); | |
345 | + $sqlf = str_replace("__filtro__"," /*FA*//*FA*/ /*FAT*//*FAT*/",$sqlf); | |
358 | 346 | } |
359 | 347 | $classes = ""; |
360 | 348 | if(!empty($id_classificacao)){ | ... | ... |
ferramentas/metaestat/analise.php
... | ... | @@ -69,6 +69,9 @@ switch (strtoupper($funcao)){ |
69 | 69 | case "APLICAFILTROTEMPO": |
70 | 70 | $retorno = analise_aplicaFiltroTempo($map_file,$tema,$pari,$vali,$parf,$valf); |
71 | 71 | break; |
72 | + case "REMOVEFILTROTEMPO": | |
73 | + $retorno = analise_removeFiltroTempo($map_file,$tema); | |
74 | + break; | |
72 | 75 | case "LISTAFILTROTEMPO": |
73 | 76 | $retorno = listaFiltroTempoRaiz($map_file,$nivel); |
74 | 77 | break; |
... | ... | @@ -126,7 +129,6 @@ function analise_listaCamadasFiltroTempo($map_file){ |
126 | 129 | } |
127 | 130 | return $camadas; |
128 | 131 | } |
129 | - | |
130 | 132 | function analise_aplicaFiltroTempo($map_file,$tema,$pari,$vali,$parf,$valf){ |
131 | 133 | $mapa = ms_newMapObj($map_file); |
132 | 134 | $layer = $mapa->getlayerbyname($tema); |
... | ... | @@ -152,30 +154,21 @@ function analise_aplicaFiltroTempo($map_file,$tema,$pari,$vali,$parf,$valf){ |
152 | 154 | } |
153 | 155 | $filtro = implode(" AND ",$filtro); |
154 | 156 | //substitui as strings de filtro no mapfile |
155 | - //verifica se o sql existente necessita de where | |
156 | - $where = false; | |
157 | - if (strpos($data, "/*FW*/") === true){ | |
158 | - $where = true; | |
159 | - } | |
160 | - //se where for verdadeiro, verifica se ja existe o where no filtro normal | |
161 | - if($where == true){ | |
162 | - if(strpos($data, "/*FW*//*FW*/") === true){ | |
163 | - //nesse caso o where deve ir no filtro de tempo | |
164 | - $s = explode("/*FWT*/",$data); | |
165 | - $data = $s[0]."/*FWT*/ WHERE ".$filtro." /*FWT*/".$s[2]; | |
166 | - } | |
167 | - else{ | |
168 | - //nesse caso o where ja existe | |
169 | - $s = explode("/*FWT*/",$data); | |
170 | - $data = $s[0]."/*FWT*/ ".$filtro." /*FWT*/".$s[2]; | |
171 | - } | |
172 | - } | |
173 | - else{ | |
174 | - | |
175 | - } | |
176 | - //se where for falso, inclui o filtro de tempo normalmente | |
177 | - | |
178 | - echo $data;exit; | |
157 | + $s = explode("/*FAT*/",$data); | |
158 | + $data = $s[0]."/*FAT*/ AND ".$filtro." /*FAT*/".$s[2]; | |
159 | + $layer->set("data",$data); | |
160 | + $mapa->save($map_file); | |
161 | + return "ok"; | |
162 | +} | |
163 | +function analise_removeFiltroTempo($map_file,$tema){ | |
164 | + $mapa = ms_newMapObj($map_file); | |
165 | + $layer = $mapa->getlayerbyname($tema); | |
166 | + $data = $layer->data; | |
167 | + //substitui as strings de filtro no mapfile | |
168 | + $s = explode("/*FAT*/",$data); | |
169 | + $data = $s[0]."/*FAT*//*FAT*/".$s[2]; | |
170 | + $layer->set("data",$data); | |
171 | + $mapa->save($map_file); | |
179 | 172 | return "ok"; |
180 | 173 | } |
181 | 174 | function analise_listaCamadasMetaestat($map_file){ |
... | ... | @@ -220,20 +213,6 @@ function analise_aplicafiltroregiao($map_file,$codigo_tipo_regiao,$codigo_regiao |
220 | 213 | $data = $s[0]."/*FA*/ AND ".$filtro." /*FA*/".$s[2]; |
221 | 214 | } |
222 | 215 | } |
223 | - else{ | |
224 | - $s = explode("/*FW*/",$data); | |
225 | - if(count($s) > 1){ | |
226 | - if($tipo == ""){ | |
227 | - $data = $s[0]."/*FW*//*FW*/".$s[2]; | |
228 | - } | |
229 | - else{ | |
230 | - | |
231 | - $data = $s[0]."/*FW*/ WHERE ".$filtro." /*FW*/".$s[2]; | |
232 | - //para o caso de ja existir a clausula where no filtro de tempo | |
233 | - $data = str_replace("/*FWT*/ WHERE ","/*FWT*/ "); | |
234 | - } | |
235 | - } | |
236 | - } | |
237 | 216 | $l->set("data",$data); |
238 | 217 | } |
239 | 218 | } | ... | ... |
ferramentas/metaestat/index.js
... | ... | @@ -305,6 +305,7 @@ i3GEOF.metaestat = { |
305 | 305 | i3GEO.php.listaValoresParametroMedidaVariavel(id_parametro_medida,temp); |
306 | 306 | }, |
307 | 307 | adicionaFiltro: function(){ |
308 | + i3GEO.janela.tempoMsg("O filtro de tempo não modifica as camadas que foram criadas considerando-se uma data específica"); | |
308 | 309 | var p,pini,pfim, |
309 | 310 | temp = function(retorno){ |
310 | 311 | i3GEO.janela.fechaAguarde("aguardeAplicaFiltro"); |
... | ... | @@ -330,6 +331,20 @@ i3GEOF.metaestat = { |
330 | 331 | } |
331 | 332 | i3GEO.util.ajaxGet(p,temp); |
332 | 333 | }, |
334 | + removeFiltro: function(){ | |
335 | + var p, | |
336 | + temp = function(retorno){ | |
337 | + i3GEO.janela.fechaAguarde("aguardeAplicaFiltro"); | |
338 | + i3GEO.Interface.atualizaMapa(); | |
339 | + }; | |
340 | + i3GEO.janela.AGUARDEMODAL = true; | |
341 | + i3GEO.janela.abreAguarde("aguardeAplicaFiltro","Aplicando..."); | |
342 | + i3GEO.janela.AGUARDEMODAL = false; | |
343 | + p = i3GEO.configura.locaplic+"/ferramentas/metaestat/analise.php?funcao=removeFiltroTempo" + | |
344 | + "&tema="+$i("i3GEOF.filtraperiodo.comboCamada").value + | |
345 | + "&g_sid="+i3GEO.configura.sid; | |
346 | + i3GEO.util.ajaxGet(p,temp); | |
347 | + }, | |
333 | 348 | pegaParametros:function(id){ |
334 | 349 | var c = $i(id).getElementsByTagName("select"), |
335 | 350 | n = c.length, | ... | ... |