Commit 2f7e4fa4446b3f3306615d45a67805d427bd5949

Authored by Edmar Moretti
1 parent 4d5209bd
Exists in master

V5 - correção nos cálculos de classes no sistema metaestat

admin/php/classe_metaestat.php
@@ -294,7 +294,7 @@ class Metaestat{ @@ -294,7 +294,7 @@ class Metaestat{
294 * @param codigo do tipo de regiao. Se nao for definido, utiliza-se o default da variavel 294 * @param codigo do tipo de regiao. Se nao for definido, utiliza-se o default da variavel
295 * @return array("sqlagrupamento"=>,"sql"=>,"sqlmapserver"=>,"filtro"=>,"colunas"=>,"alias"=>,"colunavalor"=>,"titulo"=>,"nomeregiao"=>) 295 * @return array("sqlagrupamento"=>,"sql"=>,"sqlmapserver"=>,"filtro"=>,"colunas"=>,"alias"=>,"colunavalor"=>,"titulo"=>,"nomeregiao"=>)
296 */ 296 */
297 - function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = "",$suportaWMST = false,$filtro = ""){ 297 + function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = "",$suportaWMST = false,$filtro = "",$direto=false){
298 /* Modelo de SQL 298 /* Modelo de SQL
299 SELECT regiao.*,sum(j.valorcalculado) OVER (PARTITION BY regiao.co_municipio) AS valorcalculado 299 SELECT regiao.*,sum(j.valorcalculado) OVER (PARTITION BY regiao.co_municipio) AS valorcalculado
300 FROM i3geo_metaestat.municipios AS regiao 300 FROM i3geo_metaestat.municipios AS regiao
@@ -406,13 +406,13 @@ class Metaestat{ @@ -406,13 +406,13 @@ class Metaestat{
406 } 406 }
407 //verifica o tipo de calculo para agragacao de valores 407 //verifica o tipo de calculo para agragacao de valores
408 $tipoconta = ""; 408 $tipoconta = "";
409 - if($dados["permitesoma"] == 1){ 409 + if($dados["permitesoma"] == 1 && $direto == false){
410 $tipoconta = "sum"; 410 $tipoconta = "sum";
411 if($agregaregiao == true){ 411 if($agregaregiao == true){
412 $titulo .= " - soma"; 412 $titulo .= " - soma";
413 } 413 }
414 } 414 }
415 - elseif($dados["permitemedia"] == 1){ 415 + elseif($dados["permitemedia"] == 1 && $direto == false){
416 $tipoconta = "avg"; 416 $tipoconta = "avg";
417 if($agregaregiao == true){ 417 if($agregaregiao == true){
418 $titulo .= " - media"; 418 $titulo .= " - media";
@@ -421,21 +421,21 @@ class Metaestat{ @@ -421,21 +421,21 @@ class Metaestat{
421 421
422 //obtem o SQL que faz o acesso aos dados da media da variavel 422 //obtem o SQL que faz o acesso aos dados da media da variavel
423 $sqlDadosMedidaVariavel = "SELECT ".$dados["colunaidgeo"]." AS cod_regiao,$tipoconta(".$dados["colunavalor"].") AS valorcalculado FROM ".$dados["esquemadb"].".".$dados["tabela"]; 423 $sqlDadosMedidaVariavel = "SELECT ".$dados["colunaidgeo"]." AS cod_regiao,$tipoconta(".$dados["colunavalor"].") AS valorcalculado FROM ".$dados["esquemadb"].".".$dados["tabela"];
424 - if($suportaWMST == true){ 424 + if($suportaWMST == true && $direto == false){
425 $sqlDadosMedidaVariavel = "SELECT $sqlWMST as dimtempo,".$dados["colunaidgeo"]." AS cod_regiao,".$dados["colunavalor"]." AS valorcalculado FROM ".$dados["esquemadb"].".".$dados["tabela"]; 425 $sqlDadosMedidaVariavel = "SELECT $sqlWMST as dimtempo,".$dados["colunaidgeo"]." AS cod_regiao,".$dados["colunavalor"]." AS valorcalculado FROM ".$dados["esquemadb"].".".$dados["tabela"];
426 } 426 }
427 - if(!empty ($filtro)){ 427 + if(!empty ($filtro) && $direto == false){
428 $sqlDadosMedidaVariavel .= " WHERE ".$filtro . "AND ".$dados["colunavalor"]." IS NOT NULL "; 428 $sqlDadosMedidaVariavel .= " WHERE ".$filtro . "AND ".$dados["colunavalor"]." IS NOT NULL ";
429 } 429 }
430 else{ 430 else{
431 $sqlDadosMedidaVariavel .= " WHERE ".$dados["colunavalor"]." IS NOT NULL "; 431 $sqlDadosMedidaVariavel .= " WHERE ".$dados["colunavalor"]." IS NOT NULL ";
432 } 432 }
433 - if($suportaWMST != true){ 433 + if($suportaWMST != true && $direto == false){
434 $sqlDadosMedidaVariavel .= " /*FA*//*FA*/ /*FAT*//*FAT*/ GROUP BY cod_regiao "; 434 $sqlDadosMedidaVariavel .= " /*FA*//*FA*/ /*FAT*//*FAT*/ GROUP BY cod_regiao ";
435 } 435 }
436 $sqlagrupamento = ""; 436 $sqlagrupamento = "";
437 //sql que retorna a lista de ocorrencias agrupados de uma coluna especifica 437 //sql que retorna a lista de ocorrencias agrupados de uma coluna especifica
438 - if(!empty($agruparpor)){ 438 + if(!empty($agruparpor) && $direto == false){
439 $sqlagrupamento = " SELECT $agruparpor FROM ".$dados["esquemadb"].".".$dados["tabela"]; 439 $sqlagrupamento = " SELECT $agruparpor FROM ".$dados["esquemadb"].".".$dados["tabela"];
440 if(!empty ($filtro)){ 440 if(!empty ($filtro)){
441 $sqlagrupamento .= " WHERE ".$filtro; 441 $sqlagrupamento .= " WHERE ".$filtro;
@@ -449,7 +449,7 @@ class Metaestat{ @@ -449,7 +449,7 @@ class Metaestat{
449 " INNER JOIN ( __SQLDADOS__ ) ". 449 " INNER JOIN ( __SQLDADOS__ ) ".
450 " AS j ON j.cod_regiao::text = regiao.".$dadosgeo["identificador"]."::text"; 450 " AS j ON j.cod_regiao::text = regiao.".$dadosgeo["identificador"]."::text";
451 //inclui os sqls de regioes de niveis inferiores 451 //inclui os sqls de regioes de niveis inferiores
452 - if($agregaregiao == true){ 452 + if($agregaregiao == true && $direto == false){
453 $hierarquia = $this->regiaoFilhaAoPai($dados["codigo_tipo_regiao"],$codigo_tipo_regiao); 453 $hierarquia = $this->regiaoFilhaAoPai($dados["codigo_tipo_regiao"],$codigo_tipo_regiao);
454 $caminho = $hierarquia["caminho"]; 454 $caminho = $hierarquia["caminho"];
455 $dadosColunas = $hierarquia["colunas"]; 455 $dadosColunas = $hierarquia["colunas"];
@@ -484,7 +484,7 @@ class Metaestat{ @@ -484,7 +484,7 @@ class Metaestat{
484 484
485 //o SQL com os dados contem um filtro ou nao? 485 //o SQL com os dados contem um filtro ou nao?
486 $contemfiltro = false; 486 $contemfiltro = false;
487 - if(!empty($filtro)){ 487 + if(!empty($filtro) && $direto == false){
488 $contemfiltro = true; 488 $contemfiltro = true;
489 $titulo .= " ".$filtro; 489 $titulo .= " ".$filtro;
490 } 490 }
@@ -986,9 +986,9 @@ class Metaestat{ @@ -986,9 +986,9 @@ class Metaestat{
986 * @param limite do numero de registros 986 * @param limite do numero de registros
987 * @return execSQL 987 * @return execSQL
988 */ 988 */
989 - function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = "",$limite=""){ 989 + function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = "",$limite="",$direto=false){
990 set_time_limit(0); 990 set_time_limit(0);
991 - $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,"polygon","",false,$filtro); 991 + $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,"polygon","",false,$filtro,$direto);
992 $sqlf = $sql["sqlmapserver"]; 992 $sqlf = $sql["sqlmapserver"];
993 //remove marcadores geo 993 //remove marcadores geo
994 $sqlf = explode("/*SE*/",$sqlf); 994 $sqlf = explode("/*SE*/",$sqlf);
@@ -1038,12 +1038,12 @@ class Metaestat{ @@ -1038,12 +1038,12 @@ class Metaestat{
1038 * @param coluna de agrupamento 1038 * @param coluna de agrupamento
1039 * @return array("colunavalor"=>,"soma"=>,"media"=>,"menor"=>,"maior"=>,"quantidade"=>,"histograma"=>,"grupos"=>,"unidademedida"=>,"quartis"=>) 1039 * @return array("colunavalor"=>,"soma"=>,"media"=>,"menor"=>,"maior"=>,"quantidade"=>,"histograma"=>,"grupos"=>,"unidademedida"=>,"quartis"=>)
1040 */ 1040 */
1041 - function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor="",$limite=""){ 1041 + function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor="",$limite="",$direto=false){
1042 if(!empty($agruparpor)){ 1042 if(!empty($agruparpor)){
1043 - $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1,"",$limite); 1043 + $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1,"",$limite,$direto);
1044 } 1044 }
1045 else{ 1045 else{
1046 - $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,0,"",$limite); 1046 + $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,0,"",$limite,$direto);
1047 } 1047 }
1048 if($dados){ 1048 if($dados){
1049 $metaVariavel = $this->listaMedidaVariavel("",$id_medida_variavel); 1049 $metaVariavel = $this->listaMedidaVariavel("",$id_medida_variavel);
admin/php/metaestat.php
@@ -498,11 +498,11 @@ switch (strtoupper($funcao)) @@ -498,11 +498,11 @@ switch (strtoupper($funcao))
498 $cores = explode(";",$cores); 498 $cores = explode(";",$cores);
499 } 499 }
500 if(empty($limite)){ 500 if(empty($limite)){
501 - $limite = 10000; 501 + $limite = "";
502 } 502 }
503 if($tipo == "quebrasnaturais"){ 503 if($tipo == "quebrasnaturais"){
504 $m = new Metaestat(); 504 $m = new Metaestat();
505 - $dados = $m->dadosMedidaVariavel($id_medida_variavel,"",0,"",$limite); 505 + $dados = $m->dadosMedidaVariavel($id_medida_variavel,"",0,"",$limite,true);
506 $metaVariavel = $m->listaMedidaVariavel("",$id_medida_variavel); 506 $metaVariavel = $m->listaMedidaVariavel("",$id_medida_variavel);
507 $colunavalor = $metaVariavel["colunavalor"]; 507 $colunavalor = $metaVariavel["colunavalor"];
508 $valores = array(); 508 $valores = array();
@@ -538,7 +538,7 @@ switch (strtoupper($funcao)) @@ -538,7 +538,7 @@ switch (strtoupper($funcao))
538 } 538 }
539 if($tipo == "quartil"){ 539 if($tipo == "quartil"){
540 $m = new Metaestat(); 540 $m = new Metaestat();
541 - $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite); 541 + $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite,true);
542 if($dados == false){ 542 if($dados == false){
543 retornaJSON("erro"); 543 retornaJSON("erro");
544 exit; 544 exit;
@@ -567,7 +567,7 @@ switch (strtoupper($funcao)) @@ -567,7 +567,7 @@ switch (strtoupper($funcao))
567 } 567 }
568 if($tipo == "intiguais5" || $tipo == "intiguais"){ 568 if($tipo == "intiguais5" || $tipo == "intiguais"){
569 $m = new Metaestat(); 569 $m = new Metaestat();
570 - $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite); 570 + $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite,true);
571 if($dados == false){ 571 if($dados == false){
572 retornaJSON("erro"); 572 retornaJSON("erro");
573 exit; 573 exit;