";
diff --git a/admin/js/estat_uploaddados.js b/admin/js/estat_uploaddados.js
index 2d3dee2..4261bb5 100644
--- a/admin/js/estat_uploaddados.js
+++ b/admin/js/estat_uploaddados.js
@@ -130,7 +130,12 @@ i3GEOadmin.uploaddados = {
argument: { foo:"foo", bar:"bar" }
};
core_carregando("inserindo dados...");
- core_makeRequest("../php/metaestat.php?funcao=inserirDados"+par,callback);
+ if(i3GEO && i3GEO.configura.locaplic){
+ core_makeRequest(i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=inserirDados"+par,callback);
+ }
+ else{
+ core_makeRequest("../php/metaestat.php?funcao=inserirDados"+par,callback);
+ }
}
},
conexao:{
diff --git a/admin/js/estat_variavel.js b/admin/js/estat_variavel.js
index 86dce5d..918d1f4 100755
--- a/admin/js/estat_variavel.js
+++ b/admin/js/estat_variavel.js
@@ -298,16 +298,17 @@ i3GEOadmin.variaveis = {
{titulo:"Nome:",id:"Enomemedida",size:"50",value:i.nomemedida,tipo:"text",div:""},
{titulo:"Unidade de medida:",id:"",size:"50",value:i.codigo_unidade_medida,tipo:"text",div:""},
{titulo:"Tipo de período:",id:"",size:"50",value:i.codigo_tipo_periodo,tipo:"text",div:""},
- {titulo:"Tipo de região:",id:"",size:"50",value:i.codigo_tipo_regiao,tipo:"text",div:""}
- ]
+ {titulo:"Tipo de região:",id:"",size:"50",value:i.codigo_tipo_regiao,tipo:"text",div:""},
+ {titulo:"Tabela do banco que contem os valores: ",id:"Etabela",size:"50",value:i.tabela,tipo:"text",div:""}
+
+ ]
};
ins += core_geraLinhas(param);
- ins += "
";
+ ins += "
";
param = {
"linhas":[
{titulo:"Conexão:",id:"",size:"50",value:i.codigo_estat_conexao,tipo:"text",div:""},
{titulo:"Esquema do banco: ",id:"Eesquemadb",size:"50",value:i.esquemadb,tipo:"text",div:""},
- {titulo:"Tabela do banco: ",id:"Etabela",size:"50",value:i.tabela,tipo:"text",div:""},
{titulo:"Coluna com os valores: ",id:"Ecolunavalor",size:"50",value:i.colunavalor,tipo:"text",div:""},
{titulo:"Coluna de ligação com a tabela GEO: ",id:"Ecolunaidgeo",size:"50",value:i.colunaidgeo,tipo:"text",div:""},
{titulo:"Coluna com os IDs únicos que identificam cada registro da tabela com os valores: ",id:"Ecolunaidunico",size:"50",value:i.colunaidunico,tipo:"text",div:""},
@@ -315,6 +316,18 @@ i3GEOadmin.variaveis = {
]
};
ins += core_geraLinhas(param);
+ //utilizados pelo ajudante de criacao de variaveis
+ //para permitir a criacao de parametros de tempo
+ ins += "
";
+ param = {
+ "linhas":[
+ {titulo:"Coluna com o ano (se couber): ",id:"EcolunaAno",size:"50",value:i.colunaano,tipo:"text",div:""},
+ {titulo:"Coluna com o mês (se couber): ",id:"EcolunaMes",size:"50",value:i.colunames,tipo:"text",div:""},
+ {titulo:"Coluna com o dia (se couber): ",id:"EcolunaDia",size:"50",value:i.colunadia,tipo:"text",div:""},
+ {titulo:"Coluna com a hora (se couber): ",id:"EcolunaHora",size:"50",value:i.colunahora,tipo:"text",div:""}
+ ]
+ };
+ ins += core_geraLinhas(param);
ins += "
";
//utilizado para passar o codigo da variavel qd for necessario
ins += "";
@@ -343,6 +356,10 @@ i3GEOadmin.variaveis = {
temp += "";
$i("Ccodigo_estat_conexao").innerHTML = temp;
}
+ $i("Ecodigo_tipo_regiao").onchange = function(){
+ //alert("Escolha uma tabela compatível com essa região");
+ //$i("Etabela").value = "";
+ };
}
},
classificacao:{
@@ -1136,7 +1153,7 @@ i3GEOadmin.variaveis = {
prog = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraVariavel";
}
if(tipo == "medidaVariavel"){
- campos = new Array("codigo_variavel","codigo_unidade_medida","codigo_tipo_periodo","codigo_tipo_regiao","codigo_estat_conexao","esquemadb","tabela","colunavalor","colunaidgeo","colunaidunico","filtro","nomemedida");
+ campos = new Array("colunaAno","colunaMes","colunaDia","colunaHora","codigo_variavel","codigo_unidade_medida","codigo_tipo_periodo","codigo_tipo_regiao","codigo_estat_conexao","esquemadb","tabela","colunavalor","colunaidgeo","colunaidunico","filtro","nomemedida");
par = "&id_medida_variavel="+id;
prog = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraMedidaVariavel";
}
@@ -1349,7 +1366,10 @@ i3GEOadmin.variaveis = {
}
core_makeRequest(i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=esquemasConexao&formato=json&codigo_estat_conexao="+eleCodigoConexao.value,callback);
},
- selTabela: function(idEleValue,idEleCodigoConexao,idEleNomeEsquema){
+ selTabela: function(idEleValue,idEleCodigoConexao,idEleNomeEsquema,excluigeom){
+ if(!excluigeom){
+ excluigeom = "nao";
+ }
var eleValue = $i(idEleValue),
eleCodigoConexao = $i(idEleCodigoConexao),
eleNomeEsquema = $i(idEleNomeEsquema),
@@ -1384,7 +1404,7 @@ i3GEOadmin.variaveis = {
alert("Escolha um esquema");
return;
}
- core_makeRequest(i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=tabelasEsquema&formato=json&codigo_estat_conexao="+eleCodigoConexao.value+"&nome_esquema="+eleNomeEsquema.value,callback);
+ core_makeRequest(i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=tabelasEsquema&formato=json&codigo_estat_conexao="+eleCodigoConexao.value+"&nome_esquema="+eleNomeEsquema.value+"&excluigeom="+excluigeom,callback);
},
selColuna: function(idEleValue,idEleCodigoConexao,idEleNomeEsquema,idEleNomeTabela){
var eleValue = $i(idEleValue),
diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php
index b561ce6..7a2afb1 100755
--- a/admin/php/classe_metaestat.php
+++ b/admin/php/classe_metaestat.php
@@ -729,6 +729,7 @@ class Metaestat{
}
function dadosMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$agruparpor = ""){
$sql = $this->sqlMedidaVariavel($id_medida_variavel,$todasascolunas,$agruparpor);
+ //var_dump($sql);exit;
$sqlf = $sql["sql"];
if($sql["filtro"] == true){
if(!empty($filtro)){
@@ -1345,7 +1346,7 @@ class Metaestat{
$codigo_variavel - opcional
*/
function listaVariavel($codigo_variavel="",$filtro_esquema=""){
- $sql = "select a.* from ".$this->esquemaadmin."i3geoestat_variavel as a ";
+ $sql = "select DISTINCT a.* from ".$this->esquemaadmin."i3geoestat_variavel as a ";
if($codigo_variavel != ""){
$sql .= "WHERE a.codigo_variavel = $codigo_variavel ";
}
@@ -1645,8 +1646,12 @@ class Metaestat{
function criaEsquemaDB($codigo_estat_conexao,$nome_esquema){
return $this->execSQLDB($codigo_estat_conexao,"create schema $nome_esquema");
}
- function tabelasEsquema($codigo_estat_conexao,$nome_esquema){
- return $this->execSQLDB($codigo_estat_conexao,"SELECT table_name as tabela FROM information_schema.tables where table_schema = '$nome_esquema'");
+ function tabelasEsquema($codigo_estat_conexao,$nome_esquema,$excluigeom=""){
+ $sql = "SELECT table_name as tabela FROM information_schema.tables where table_schema = '$nome_esquema'";
+ if(strtolower($excluigeom) == "sim"){
+ $sql = "SELECT c.table_name as tabela FROM information_schema.tables as c left join (SELECT distinct a.table_name FROM information_schema.tables as a left join information_schema.columns as b on a.table_name = b.table_name where a.table_schema = '$nome_esquema' and udt_name = 'geometry' ) as d on c.table_name = d.table_name where c.table_schema = '$nome_esquema' and d.table_name isnull";
+ }
+ return $this->execSQLDB($codigo_estat_conexao,$sql);
}
function criaTabelaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela){
return $this->execSQLDB($codigo_estat_conexao,"create table ".$nome_esquema.".".$nome_tabela." (gid serial, CONSTRAINT ".$nome_tabela."_pkey PRIMARY KEY (gid ))");
@@ -1940,6 +1945,8 @@ class Metaestat{
$linha = fgets($handle);
if($linha != $cabecalho){
$linha = str_replace("\n",'',$linha);
+ $linha = str_replace('"','',$linha);
+ $linha = str_replace("'",'',$linha);
$linha = explode($separador,$linha);
//var_dump($linha);exit;
if(count($linha) > 2){
@@ -1964,6 +1971,7 @@ class Metaestat{
}
}
fclose ($handle);
+ //var_dump($linhas);
//pega a conexao
$c = $this->listaConexao($medidavariavel["codigo_estat_conexao"],true);
//gera o objeto pdo
@@ -2157,6 +2165,33 @@ class Metaestat{
}
return array("ok");
}
+ //altera os registros de uma medida de variavel (muda para negativo)
+ function negativaValoresMedidaVariavel($id_medida_variavel){
+ $medida = $this->listaMedidaVariavel("",$id_medida_variavel);
+ if($medida["esquemadb"] != "i3geo_metaestat"){
+ return "erro";
+ }
+ $c = $this->listaConexao($medida["codigo_estat_conexao"],true);
+ $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]);
+ if($id_medida_variavel != ""){
+ if($medida["filtro"] != ""){
+ $sql = "UPDATE from i3geo_metaestat.".$medida["tabela"];
+ $sql .= "SET id_medida_variavel = id_medida_variavel * -1 WHERE id_medida_variavel = $id_medida_variavel";
+ try {
+ $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
+ $dbh->beginTransaction();
+ $sth = $dbh->exec($sql);
+ $dbh->commit();
+ } catch (Exception $e) {
+ $dbh->rollBack();
+ return array("Falhou: " . $e->getMessage());
+ }
+ }
+ }
+ return array("ok");
+ }
+
+ //exclui o valor de uma medida em uma regiao especifica (utilizado pelo editor de limites)
function excluiAtributosMedidaVariavel($id_medida_variavel,$codigo_tipo_regiao,$identificador_regiao,$id){
$medida = $this->listaMedidaVariavel("",$id_medida_variavel);
if($medida["esquemadb"] != "i3geo_metaestat"){
diff --git a/admin/php/metaestat.php b/admin/php/metaestat.php
index 409a989..d6f4389 100644
--- a/admin/php/metaestat.php
+++ b/admin/php/metaestat.php
@@ -370,31 +370,48 @@ switch (strtoupper($funcao))
$m->alteraMedidaVariavel("",$id_medida_variavel,$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$colunaidunico,$filtro,$nomemedida);
}
//adiciona os parametros de tempo conforme o tipo de periodo escolhido
+ //
+ //se os nomes das colunas com os parametros de tempo forem definidas
+ //os parametros sao criados
+ //isso acontece se a criacao da medida estiver sendo feita em uma tabela que nao e a default
+ //
if($default == true){
$m->excluirRegistro("i3geoestat_parametro_medida","id_medida_variavel",$id_medida_variavel);
$id_pai = 0;
//anual
if($codigo_tipo_periodo >= 1){
+ if(empty($nomeAno)){
+ $nomeAno = "ano";
+ }
$id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","","","");
- $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Ano","","ano",$id_pai,1);
+ $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Ano","",$nomeAno,$id_pai,1);
$id_pai = $id_parametro_medida;
}
//mensal
if($codigo_tipo_periodo >= 2){
$id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","","","");
- $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Mes","","mes",$id_pai,2);
+ if(empty($nomeMes)){
+ $nomeMes = "mes";
+ }
+ $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Mes","",$nomeMes,$id_pai,2);
$id_pai = $id_parametro_medida;
}
//diario
if($codigo_tipo_periodo >= 3){
$id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","","","");
- $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Dia","","dia",$id_pai,3);
+ if(empty($nomeDia)){
+ $nomeDia = "dia";
+ }
+ $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Dia","",$nomeDia,$id_pai,3);
$id_pai = $id_parametro_medida;
}
//horario
if($codigo_tipo_periodo == 4){
$id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","","","");
- $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Hora","","hora",$id_pai,4);
+ if(empty($nomeHora)){
+ $nomeHora = "hora";
+ }
+ $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Hora","",$nomeHora,$id_pai,4);
}
}
retornaJSON($m->listaMedidaVariavel("",$id_medida_variavel));
@@ -946,6 +963,7 @@ switch (strtoupper($funcao))
$f = verificaFilhos();
if(!$f){
$m = new Metaestat();
+ $m->negativaValoresMedidaVariavel($id);
retornaJSON($m->excluirRegistro("i3geoestat_medida_variavel","id_medida_variavel",$id));
}
else
@@ -1260,8 +1278,11 @@ switch (strtoupper($funcao))
*/
case "TABELASESQUEMA":
$m = new Metaestat();
+ if(empty($excluigeom)){
+ $excluigeom = "";
+ }
if($formato == "json"){
- retornaJSON($m->tabelasEsquema($codigo_estat_conexao,$nome_esquema));
+ retornaJSON($m->tabelasEsquema($codigo_estat_conexao,$nome_esquema,$excluigeom));
}
exit;
break;
diff --git a/admin/php/metaestat_uploadcsv_submit.php b/admin/php/metaestat_uploadcsv_submit.php
new file mode 100644
index 0000000..8cb17f8
--- /dev/null
+++ b/admin/php/metaestat_uploadcsv_submit.php
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+