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 262 $colunageo = $dadosgeoagregada["colunacentroide"];
263 263 $titulo .= " (pt) ";
264 264 }
265   - $titulo .= $dadosagregada["nome_tipo_regiao"];
  265 + $titulo .= $dadosgeoagregada["nome_tipo_regiao"];
266 266 }
267 267 else{
268 268 if($tipolayer != "point"){
... ... @@ -348,27 +348,24 @@ class Metaestat{
348 348 $tipoconta = "";
349 349 if($dados["permitesoma"] == 1){
350 350 $tipoconta = "sum";
  351 + $titulo .= " - soma";
351 352 }
352 353 elseif($dados["permitemedia"] == 1){
353   - $tipoconta = "mean";
  354 + $tipoconta = "avg";
  355 + $titulo .= " - media";
354 356 }
355 357 $sqlagrupamento = "";
  358 + $dadosfiltro = "";
  359 + if(!empty($dados["filtro"])){
  360 + $dadosfiltro = " WHERE ".$dados["filtro"];
  361 + $filtro = true;
  362 + }
356 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 364 if($agregaregiao == true){
360 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 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 369 $sqlgeo .= " FROM (SELECT * FROM ".$dados["esquemadb"].".".$dados["tabela"] ." __dadosfiltro__ ) as d, ".$dadosgeo["esquemadb"].".".$dadosgeo["tabela"]." as g";
373 370 if(count($parametrosMedida) > 0){
374 371 $parametrosMedida = implode(",",$parametrosMedida).",";
... ... @@ -376,29 +373,21 @@ class Metaestat{
376 373 else{
377 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 379 else{
385 380 $sqlagrupamento = " SELECT d.".$agruparpor." FROM ".$dados["esquemadb"].".".$dados["tabela"]." as d group by ".$agruparpor." order by ".$agruparpor;
386 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 386 else{
391 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 391 $sql = str_replace("__dadosfiltro__",$dadosfiltro,$sql);
403 392 $sqlgeo = str_replace("__dadosfiltro__",$dadosfiltro,$sqlgeo);
404 393 //join com a tabela geo
... ... @@ -411,13 +400,11 @@ class Metaestat{
411 400 $sqlgeo .= " WHERE ".$j;
412 401  
413 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 403 $sqlgeo = $colunageo." from ( ".$sqlgeo." __filtro__ ) as foo using unique ".$dadosAgregacao["colunaligacao_regiaopai"]." using srid=".$dadosgeo["srid"];
416 404 }
417 405 else{
418 406 $sqlgeo = $colunageo." from (".$sqlgeo." __filtro__ ) as foo using unique ".$dados["colunaidgeo"]." using srid=".$dadosgeo["srid"];
419 407 }
420   - //echo $sqlgeo;exit;
421 408 //remove ambiguidades
422 409 $sqlgeo = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sqlgeo);
423 410 $sql = str_replace("d.".$dados["colunaidgeo"].",g.".$dados["colunaidgeo"],"d.".$dados["colunaidgeo"],$sql);
... ... @@ -1483,6 +1470,7 @@ class Metaestat{
1483 1470 $variavel = $this->listaMedidaVariavel("",$id_medida_variavel);
1484 1471 $codigo_tipo_regiao = $variavel["codigo_tipo_regiao"];
1485 1472 $regioes[] = $this->listaTipoRegiao($codigo_tipo_regiao);
  1473 + //var_dump($regioes);exit;
1486 1474 $agregacoes = $this->listaAgregaRegiao($codigo_tipo_regiao);
1487 1475 foreach($agregacoes as $a){
1488 1476 $regioes[] = $this->listaTipoRegiao($a["codigo_tipo_regiao_pai"]);
... ...
admin/php/conexao.php
1 1 <?php
2 2 /*
3   - Title: conexao.php
  3 +Title: conexao.php
4 4  
5 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 213 }
214 214 }
215 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 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 218 exit;
219 219 }
... ...