Commit 2f7e4fa4446b3f3306615d45a67805d427bd5949
1 parent
4d5209bd
Exists in
master
V5 - correção nos cálculos de classes no sistema metaestat
Showing
2 changed files
with
18 additions
and
18 deletions
Show diff stats
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; |