From e308665faa4ef4afc295a65ac06b95ea19d3574f Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 5 Nov 2012 04:51:02 +0000 Subject: [PATCH] inclusão de opção para excluir registros de atributos no editor de limites do METAESTAT --- admin/admin.db | Bin 152576 -> 0 bytes admin/php/classe_metaestat.php | 30 +++++++++++++++++++++++++++++- admin/php/metaestat.php | 9 ++++++++- ferramentas/metaestat/editorlimites.js | 20 ++++++++++++++++++-- 4 files changed, 55 insertions(+), 4 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index b763212..9dd2088 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index d93c6ee..a7dba67 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -1707,7 +1707,35 @@ class Metaestat{ return array("Falhou: " . $e->getMessage()); } return array("ok"); - + } + function excluiAtributosMedidaVariavel($id_medida_variavel,$codigo_tipo_regiao,$identificador_regiao,$id){ + $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"]); + $sql = array(); + if($id_medida_variavel != "" && $codigo_tipo_regiao != "" && $identificador_regiao != "" && $id != ""){ + $s = "DELETE from i3geo_metaestat.".$medida["tabela"]; + $s .= " WHERE ".$medida["colunaidunico"]."::text = '".$id."' AND ".$medida["colunaidgeo"]."::text = '".$identificador_regiao."'"; + if($medida["filtro"] != ""){ + $s .= " AND ".$medida["filtro"]; + } + $sql[] = $s; + } + try { + $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $dbh->beginTransaction(); + foreach($sql as $s){ + $sth = $dbh->exec($s); + } + $dbh->commit(); + } catch (Exception $e) { + $dbh->rollBack(); + return array("Falhou: " . $e->getMessage()); + } + return array("ok"); } } ?> \ No newline at end of file diff --git a/admin/php/metaestat.php b/admin/php/metaestat.php index 10c82ba..8af63ad 100644 --- a/admin/php/metaestat.php +++ b/admin/php/metaestat.php @@ -75,7 +75,8 @@ $funcoesEdicao = array( "ALTERANOMECOLUNADB", "INSERIRDADOS", "MANTEMDADOSREGIAO", - "SALVAATRIBUTOSMEDIDAVARIAVEL" + "SALVAATRIBUTOSMEDIDAVARIAVEL", + "EXCLUIATRIBUTOSMEDIDAVARIAVEL" ); if(in_array(strtoupper($funcao),$funcoesEdicao)){ if(verificaOperacaoSessao("admin/metaestat/geral") == false){ @@ -1214,5 +1215,11 @@ switch (strtoupper($funcao)) retornaJSON($resultado); exit; break; + case "EXCLUIATRIBUTOSMEDIDAVARIAVEL": + $m = new Metaestat(); + $resultado = $m->excluiAtributosMedidaVariavel($id_medida_variavel,$codigo_tipo_regiao,$identificador_regiao,$id); + retornaJSON($resultado); + exit; + break; } ?> \ No newline at end of file diff --git a/ferramentas/metaestat/editorlimites.js b/ferramentas/metaestat/editorlimites.js index 5ad12db..e47e516 100644 --- a/ferramentas/metaestat/editorlimites.js +++ b/ferramentas/metaestat/editorlimites.js @@ -739,13 +739,13 @@ i3GEOF.editorlimites = { ins = ""; //registros for(i=0;iexcluir

"; //colunas for(j=0;j

'; } } - ins + "
"; + ins + "
"; novoel.innerHTML = ins; $i("editarAtributosForm").appendChild(novoel); }}} @@ -780,6 +780,22 @@ i3GEOF.editorlimites = { }; cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&id_medida_variavel="+id_medida_variavel+"&x="+i3GEOF.editorlimites.editarAtributos.x+"&y="+i3GEOF.editorlimites.editarAtributos.y); }, + //TODO redesenhar as camadas que sofrerem alterações em função do salvar ou excluir + excluir: function(id){ + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=excluiAtributosMedidaVariavel", + codigo_tipo_regiao = $i("i3geoCartoRegioesEditaveis").value, + id_medida_variavel = $i("editarAtributosComboMedidas").value, + identificador_regiao = $i("editarAtributosidentificador_regiao").value, + temp = function(retorno){ + i3GEOF.editorlimites.editarAtributos.pegaDados(); + i3GEO.janela.fechaAguarde("aguardeSalvaAtributos"); + }; + i3GEO.janela.AGUARDEMODAL = true; + i3GEO.janela.abreAguarde("aguardeSalvaAtributos","Salvando..."); + i3GEO.janela.AGUARDEMODAL = false; + cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador_regiao="+identificador_regiao+"&id_medida_variavel="+id_medida_variavel+"&id="+id); + + }, salva: function(){ if(i3GEO.login.verificaCookieLogin() === false){ i3GEO.janela.tempoMsg("Você precisa fazer login para usar essa opção"); -- libgit2 0.21.2