Commit a05c77d6f7e0dde601afc14734461da3fe8335ad

Authored by Edmar Moretti
1 parent f8a8d8bc

Corrige a opção de agregação de dados por uma região de nível superior (METAESTAT)

admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
@@ -262,7 +262,7 @@ class Metaestat{ @@ -262,7 +262,7 @@ class Metaestat{
262 $colunageo = $dadosgeoagregada["colunacentroide"]; 262 $colunageo = $dadosgeoagregada["colunacentroide"];
263 $titulo .= " (pt) "; 263 $titulo .= " (pt) ";
264 } 264 }
265 - $titulo .= $dadosagregada["nome_tipo_regiao"]; 265 + $titulo .= $dadosgeoagregada["nome_tipo_regiao"];
266 } 266 }
267 else{ 267 else{
268 if($tipolayer != "point"){ 268 if($tipolayer != "point"){
@@ -348,27 +348,24 @@ class Metaestat{ @@ -348,27 +348,24 @@ class Metaestat{
348 $tipoconta = ""; 348 $tipoconta = "";
349 if($dados["permitesoma"] == 1){ 349 if($dados["permitesoma"] == 1){
350 $tipoconta = "sum"; 350 $tipoconta = "sum";
  351 + $titulo .= " - soma";
351 } 352 }
352 elseif($dados["permitemedia"] == 1){ 353 elseif($dados["permitemedia"] == 1){
353 - $tipoconta = "mean"; 354 + $tipoconta = "avg";
  355 + $titulo .= " - media";
354 } 356 }
355 $sqlagrupamento = ""; 357 $sqlagrupamento = "";
  358 + $dadosfiltro = "";
  359 + if(!empty($dados["filtro"])){
  360 + $dadosfiltro = " WHERE ".$dados["filtro"];
  361 + $filtro = true;
  362 + }
356 if(empty($agruparpor)){ 363 if(empty($agruparpor)){
357 - //$sql .= " FROM ".$dados["esquemadb"].".".$dados["tabela"]." as d ";  
358 - //$sqlgeo .= " FROM ".$dados["esquemadb"].".".$dados["tabela"]." as d,".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g ";  
359 if($agregaregiao == true){ 364 if($agregaregiao == true){
360 $sqlgeo .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",sb.".$dadosAgregacao["colunaligacao_regiaopai"]." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." as sa,".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"] ." as sb WHERE sa.".$dados["colunaidgeo"]." = sb.".$dadosgeo["identificador"]." __dadosfiltro__ group by sb.".$dadosAgregacao["colunaligacao_regiaopai"].") as d, ".$dadosgeo["esquemadb"].".".$dadosgeoagregada["tabela"]." as g"; 365 $sqlgeo .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",sb.".$dadosAgregacao["colunaligacao_regiaopai"]." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." as sa,".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"] ." as sb WHERE sa.".$dados["colunaidgeo"]." = sb.".$dadosgeo["identificador"]." __dadosfiltro__ group by sb.".$dadosAgregacao["colunaligacao_regiaopai"].") as d, ".$dadosgeo["esquemadb"].".".$dadosgeoagregada["tabela"]." as g";
361 - $sql .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",sb.".$dadosAgregacao["colunaligacao_regiaopai"]." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as sa,".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as sb WHERE sa.".$dados["colunaidgeo"]." = sb.".$dadosgeo["identificador"]." __dadosfiltro__ group by sb.".$dadosAgregacao["colunaligacao_regiaopai"].") as d "; 366 + $sql .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",sb.".$dadosAgregacao["colunaligacao_regiaopai"]." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as sa,".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as sb WHERE sa.".$dados["colunaidgeo"]." = sb.".$dadosgeo["identificador"]." __dadosfiltro__ group by sb.".$dadosAgregacao["colunaligacao_regiaopai"].") as d ";
362 } 367 }
363 else{ 368 else{
364 - /*  
365 - if($dados["colunaidgeo"] == $dados["colunaidunico"]){  
366 - $sqlgeo .= " FROM (SELECT ".$dados["colunavalor"].",".$dados["colunaidgeo"]." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g";  
367 - }  
368 - else{  
369 - $sqlgeo .= " FROM (SELECT ".$dados["colunavalor"].",".$dados["colunaidgeo"].",".$dados["colunaidunico"]." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g";  
370 - }  
371 - */  
372 $sqlgeo .= " FROM (SELECT * FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g"; 369 $sqlgeo .= " FROM (SELECT * FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g";
373 if(count($parametrosMedida) > 0){ 370 if(count($parametrosMedida) > 0){
374 $parametrosMedida = implode(",",$parametrosMedida).","; 371 $parametrosMedida = implode(",",$parametrosMedida).",";
@@ -376,29 +373,21 @@ class Metaestat{ @@ -376,29 +373,21 @@ class Metaestat{
376 else{ 373 else{
377 $parametrosMedida = ""; 374 $parametrosMedida = "";
378 } 375 }
379 - //$sql .= " FROM (SELECT $parametrosMedida".$dados["colunavalor"].",".$dados["colunaidgeo"]." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d ";  
380 - $sql .= " FROM (SELECT $parametrosMedida * FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d ";  
381 - 376 + $sql .= " FROM (SELECT $parametrosMedida * FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d ";
382 } 377 }
383 } 378 }
384 else{ 379 else{
385 $sqlagrupamento = " SELECT d.".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as d group by ".$agruparpor." order by ".$agruparpor; 380 $sqlagrupamento = " SELECT d.".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as d group by ".$agruparpor." order by ".$agruparpor;
386 if($agregaregiao == true){ 381 if($agregaregiao == true){
387 - $sqlgeo .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",".$dadosAgregacao["colunaligacao_regiaopai"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ group by ".$agruparpor.",".$dadosAgregacao["colunaligacao_regiaopai"].") as d, ".$dadosgeo["esquemadb"].".".$dadosgeoagregada["tabela"]." as g";  
388 - $sql .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",".$dadosAgregacao["colunaligacao_regiaopai"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ group by ".$agruparpor.",".$dadosAgregacao["colunaligacao_regiaopai"].") as d "; 382 + $sqlAgregaRegiao = ",".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as r1, ".$dadosgeoagregada["esquemadb"].".".$dadosgeoagregada["tabela"]." as r2 WHERE r.".$dados["colunaidgeo"]."::text = r1.".$dadosgeo["identificador"]."::text AND r1.".$dadosAgregacao["colunaligacao_regiaopai"]." = r2.".$dadosgeoagregada["identificador"];
  383 + $sqlgeo .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",r1.".$dadosAgregacao["colunaligacao_regiaopai"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as r" .$sqlAgregaRegiao." __dadosfiltro__ group by ".$agruparpor.",r1.".$dadosAgregacao["colunaligacao_regiaopai"].") as d, ".$dadosgeoagregada["esquemadb"].".".$dadosgeoagregada["tabela"]." as g";
  384 + $sql .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",r1.".$dadosAgregacao["colunaligacao_regiaopai"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as r" .$sqlAgregaRegiao." __dadosfiltro__ group by ".$agruparpor.",r1.".$dadosAgregacao["colunaligacao_regiaopai"].") as d ";
389 } 385 }
390 else{ 386 else{
391 $sqlgeo .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",".$dados["colunaidgeo"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ group by ".$agruparpor.",".$dados["colunaidgeo"].") as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g"; 387 $sqlgeo .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",".$dados["colunaidgeo"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ group by ".$agruparpor.",".$dados["colunaidgeo"].") as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g";
392 - $sql .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",".$dados["colunaidgeo"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ group by ".$agruparpor.",".$dados["colunaidgeo"].") as d "; 388 + $sql .= " FROM (SELECT $tipoconta(".$dados["colunavalor"].") as ".$dados["colunavalor"].",".$dados["colunaidgeo"].",".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ group by ".$agruparpor.",".$dados["colunaidgeo"].") as d ";
393 } 389 }
394 } 390 }
395 - $dadosfiltro = "";  
396 - if(!empty($dados["filtro"])){  
397 - //$sql .= " WHERE ".$dados["filtro"];  
398 - //$sqlgeo .= " WHERE ".$dados["filtro"];  
399 - $dadosfiltro = " WHERE ".$dados["filtro"];  
400 - $filtro = true;  
401 - }  
402 $sql = str_replace("__dadosfiltro__",$dadosfiltro,$sql); 391 $sql = str_replace("__dadosfiltro__",$dadosfiltro,$sql);
403 $sqlgeo = str_replace("__dadosfiltro__",$dadosfiltro,$sqlgeo); 392 $sqlgeo = str_replace("__dadosfiltro__",$dadosfiltro,$sqlgeo);
404 //join com a tabela geo 393 //join com a tabela geo
@@ -411,13 +400,11 @@ class Metaestat{ @@ -411,13 +400,11 @@ class Metaestat{
411 $sqlgeo .= " WHERE ".$j; 400 $sqlgeo .= " WHERE ".$j;
412 401
413 if($agregaregiao == true){ 402 if($agregaregiao == true){
414 - //$sqlgeo = "select pg.*,".$dados["colunavalor"]." from (select ".$sqlgeo." __filtro__ group by g.".$dadosAgregacao["colunaligacao_regiaopai"].") as fg, ".$dadosgeoagregada["esquemadb"].".".$dadosgeoagregada["tabela"]." as pg where fg.".$dadosAgregacao["colunaligacao_regiaopai"]." = pg.".$dadosgeoagregada["identificador"];  
415 $sqlgeo = $colunageo." from ( ".$sqlgeo." __filtro__ ) as foo using unique ".$dadosAgregacao["colunaligacao_regiaopai"]." using srid=".$dadosgeo["srid"]; 403 $sqlgeo = $colunageo." from ( ".$sqlgeo." __filtro__ ) as foo using unique ".$dadosAgregacao["colunaligacao_regiaopai"]." using srid=".$dadosgeo["srid"];
416 } 404 }
417 else{ 405 else{
418 $sqlgeo = $colunageo." from (".$sqlgeo." __filtro__ ) as foo using unique ".$dados["colunaidgeo"]." using srid=".$dadosgeo["srid"]; 406 $sqlgeo = $colunageo." from (".$sqlgeo." __filtro__ ) as foo using unique ".$dados["colunaidgeo"]." using srid=".$dadosgeo["srid"];
419 } 407 }
420 - //echo $sqlgeo;exit;  
421 //remove ambiguidades 408 //remove ambiguidades
422 $sqlgeo = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sqlgeo); 409 $sqlgeo = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sqlgeo);
423 $sql = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sql); 410 $sql = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sql);
@@ -1483,6 +1470,7 @@ class Metaestat{ @@ -1483,6 +1470,7 @@ class Metaestat{
1483 $variavel = $this->listaMedidaVariavel("",$id_medida_variavel); 1470 $variavel = $this->listaMedidaVariavel("",$id_medida_variavel);
1484 $codigo_tipo_regiao = $variavel["codigo_tipo_regiao"]; 1471 $codigo_tipo_regiao = $variavel["codigo_tipo_regiao"];
1485 $regioes[] = $this->listaTipoRegiao($codigo_tipo_regiao); 1472 $regioes[] = $this->listaTipoRegiao($codigo_tipo_regiao);
  1473 + //var_dump($regioes);exit;
1486 $agregacoes = $this->listaAgregaRegiao($codigo_tipo_regiao); 1474 $agregacoes = $this->listaAgregaRegiao($codigo_tipo_regiao);
1487 foreach($agregacoes as $a){ 1475 foreach($agregacoes as $a){
1488 $regioes[] = $this->listaTipoRegiao($a["codigo_tipo_regiao_pai"]); 1476 $regioes[] = $this->listaTipoRegiao($a["codigo_tipo_regiao_pai"]);
admin/php/conexao.php
1 <?php 1 <?php
2 /* 2 /*
3 - Title: conexao.php 3 +Title: conexao.php
4 4
5 Define a conex&atilde;o com o banco de dados que cont&eacute;m as tabelas do sistema de administra&ccedil;&atilde;o do i3geo. 5 Define a conex&atilde;o com o banco de dados que cont&eacute;m as tabelas do sistema de administra&ccedil;&atilde;o do i3geo.
6 6
ms_criamapa.php
@@ -213,7 +213,7 @@ if(!empty($restauramapa)){ @@ -213,7 +213,7 @@ if(!empty($restauramapa)){
213 } 213 }
214 } 214 }
215 //verifica se o usuario trocou a senha do master 215 //verifica se o usuario trocou a senha do master
216 -if($_SERVER['HTTP_HOST'] != "localhost" && ($i3geomaster[0]["usuario"] == "admin" && $i3geomaster[0]["senha"] == "admin") ){ 216 +if($_SERVER['SERVER_NAME'] != "localhost" && ($i3geomaster[0]["usuario"] == "admin" && $i3geomaster[0]["senha"] == "admin") ){
217 echo json_encode(array("bloqueado"=>"Bloqueado. ATENCAO!!! Acesso bloqueado: edite o arquivo i3geo/ms_configura.php e altere o login e senha da variavel i3geomaster")); 217 echo json_encode(array("bloqueado"=>"Bloqueado. ATENCAO!!! Acesso bloqueado: edite o arquivo i3geo/ms_configura.php e altere o login e senha da variavel i3geomaster"));
218 exit; 218 exit;
219 } 219 }