diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index 1496c0e..b940d0f 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -294,7 +294,7 @@ class Metaestat{ * @param codigo do tipo de regiao. Se nao for definido, utiliza-se o default da variavel * @return array("sqlagrupamento"=>,"sql"=>,"sqlmapserver"=>,"filtro"=>,"colunas"=>,"alias"=>,"colunavalor"=>,"titulo"=>,"nomeregiao"=>) */ - function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = "",$suportaWMST = false,$filtro = ""){ + function sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor="",$tipolayer="polygon",$codigo_tipo_regiao = "",$suportaWMST = false,$filtro = "",$direto=false){ /* Modelo de SQL SELECT regiao.*,sum(j.valorcalculado) OVER (PARTITION BY regiao.co_municipio) AS valorcalculado FROM i3geo_metaestat.municipios AS regiao @@ -406,13 +406,13 @@ class Metaestat{ } //verifica o tipo de calculo para agragacao de valores $tipoconta = ""; - if($dados["permitesoma"] == 1){ + if($dados["permitesoma"] == 1 && $direto == false){ $tipoconta = "sum"; if($agregaregiao == true){ $titulo .= " - soma"; } } - elseif($dados["permitemedia"] == 1){ + elseif($dados["permitemedia"] == 1 && $direto == false){ $tipoconta = "avg"; if($agregaregiao == true){ $titulo .= " - media"; @@ -421,21 +421,21 @@ class Metaestat{ //obtem o SQL que faz o acesso aos dados da media da variavel $sqlDadosMedidaVariavel = "SELECT ".$dados["colunaidgeo"]." AS cod_regiao,$tipoconta(".$dados["colunavalor"].") AS valorcalculado FROM ".$dados["esquemadb"].".".$dados["tabela"]; - if($suportaWMST == true){ + if($suportaWMST == true && $direto == false){ $sqlDadosMedidaVariavel = "SELECT $sqlWMST as dimtempo,".$dados["colunaidgeo"]." AS cod_regiao,".$dados["colunavalor"]." AS valorcalculado FROM ".$dados["esquemadb"].".".$dados["tabela"]; } - if(!empty ($filtro)){ + if(!empty ($filtro) && $direto == false){ $sqlDadosMedidaVariavel .= " WHERE ".$filtro . "AND ".$dados["colunavalor"]." IS NOT NULL "; } else{ $sqlDadosMedidaVariavel .= " WHERE ".$dados["colunavalor"]." IS NOT NULL "; } - if($suportaWMST != true){ + if($suportaWMST != true && $direto == false){ $sqlDadosMedidaVariavel .= " /*FA*//*FA*/ /*FAT*//*FAT*/ GROUP BY cod_regiao "; } $sqlagrupamento = ""; //sql que retorna a lista de ocorrencias agrupados de uma coluna especifica - if(!empty($agruparpor)){ + if(!empty($agruparpor) && $direto == false){ $sqlagrupamento = " SELECT $agruparpor FROM ".$dados["esquemadb"].".".$dados["tabela"]; if(!empty ($filtro)){ $sqlagrupamento .= " WHERE ".$filtro; @@ -449,7 +449,7 @@ class Metaestat{ " INNER JOIN ( __SQLDADOS__ ) ". " AS j ON j.cod_regiao::text = regiao.".$dadosgeo["identificador"]."::text"; //inclui os sqls de regioes de niveis inferiores - if($agregaregiao == true){ + if($agregaregiao == true && $direto == false){ $hierarquia = $this->regiaoFilhaAoPai($dados["codigo_tipo_regiao"],$codigo_tipo_regiao); $caminho = $hierarquia["caminho"]; $dadosColunas = $hierarquia["colunas"]; @@ -484,7 +484,7 @@ class Metaestat{ //o SQL com os dados contem um filtro ou nao? $contemfiltro = false; - if(!empty($filtro)){ + if(!empty($filtro) && $direto == false){ $contemfiltro = true; $titulo .= " ".$filtro; } @@ -986,9 +986,9 @@ class Metaestat{ * @param limite do numero de registros * @return execSQL */ - function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = "",$limite=""){ + function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = "",$limite="",$direto=false){ set_time_limit(0); - $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,"polygon","",false,$filtro); + $sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor,"polygon","",false,$filtro,$direto); $sqlf = $sql["sqlmapserver"]; //remove marcadores geo $sqlf = explode("/*SE*/",$sqlf); @@ -1038,12 +1038,12 @@ class Metaestat{ * @param coluna de agrupamento * @return array("colunavalor"=>,"soma"=>,"media"=>,"menor"=>,"maior"=>,"quantidade"=>,"histograma"=>,"grupos"=>,"unidademedida"=>,"quartis"=>) */ - function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor="",$limite=""){ + function sumarioMedidaVariavel($id_medida_variavel,$filtro="",$agruparpor="",$limite="",$direto=false){ if(!empty($agruparpor)){ - $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1,"",$limite); + $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,1,"",$limite,$direto); } else{ - $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,0,"",$limite); + $dados = $this->dadosMedidaVariavel($id_medida_variavel,$filtro,0,"",$limite,$direto); } if($dados){ $metaVariavel = $this->listaMedidaVariavel("",$id_medida_variavel); diff --git a/admin/php/metaestat.php b/admin/php/metaestat.php index 8b4d290..5244348 100755 --- a/admin/php/metaestat.php +++ b/admin/php/metaestat.php @@ -498,11 +498,11 @@ switch (strtoupper($funcao)) $cores = explode(";",$cores); } if(empty($limite)){ - $limite = 10000; + $limite = ""; } if($tipo == "quebrasnaturais"){ $m = new Metaestat(); - $dados = $m->dadosMedidaVariavel($id_medida_variavel,"",0,"",$limite); + $dados = $m->dadosMedidaVariavel($id_medida_variavel,"",0,"",$limite,true); $metaVariavel = $m->listaMedidaVariavel("",$id_medida_variavel); $colunavalor = $metaVariavel["colunavalor"]; $valores = array(); @@ -538,7 +538,7 @@ switch (strtoupper($funcao)) } if($tipo == "quartil"){ $m = new Metaestat(); - $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite); + $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite,true); if($dados == false){ retornaJSON("erro"); exit; @@ -567,7 +567,7 @@ switch (strtoupper($funcao)) } if($tipo == "intiguais5" || $tipo == "intiguais"){ $m = new Metaestat(); - $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite); + $dados = $m->sumarioMedidaVariavel($id_medida_variavel,"","",$limite,true); if($dados == false){ retornaJSON("erro"); exit; -- libgit2 0.21.2