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