Commit e308665faa4ef4afc295a65ac06b95ea19d3574f

Authored by Edmar Moretti
1 parent 885990cd

inclusão de opção para excluir registros de atributos no editor de limites do METAESTAT

admin/admin.db
No preview for this file type
admin/php/classe_metaestat.php
... ... @@ -1707,7 +1707,35 @@ class Metaestat{
1707 1707 return array("Falhou: " . $e->getMessage());
1708 1708 }
1709 1709 return array("ok");
1710   -
  1710 + }
  1711 + function excluiAtributosMedidaVariavel($id_medida_variavel,$codigo_tipo_regiao,$identificador_regiao,$id){
  1712 + $medida = $this->listaMedidaVariavel("",$id_medida_variavel);
  1713 + if($medida["esquemadb"] != "i3geo_metaestat"){
  1714 + return "erro";
  1715 + }
  1716 + $c = $this->listaConexao($medida["codigo_estat_conexao"],true);
  1717 + $dbh = new PDO('pgsql:dbname='.$c["bancodedados"].';user='.$c["usuario"].';password='.$c["senha"].';host='.$c["host"].';port='.$c["porta"]);
  1718 + $sql = array();
  1719 + if($id_medida_variavel != "" && $codigo_tipo_regiao != "" && $identificador_regiao != "" && $id != ""){
  1720 + $s = "DELETE from i3geo_metaestat.".$medida["tabela"];
  1721 + $s .= " WHERE ".$medida["colunaidunico"]."::text = '".$id."' AND ".$medida["colunaidgeo"]."::text = '".$identificador_regiao."'";
  1722 + if($medida["filtro"] != ""){
  1723 + $s .= " AND ".$medida["filtro"];
  1724 + }
  1725 + $sql[] = $s;
  1726 + }
  1727 + try {
  1728 + $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  1729 + $dbh->beginTransaction();
  1730 + foreach($sql as $s){
  1731 + $sth = $dbh->exec($s);
  1732 + }
  1733 + $dbh->commit();
  1734 + } catch (Exception $e) {
  1735 + $dbh->rollBack();
  1736 + return array("Falhou: " . $e->getMessage());
  1737 + }
  1738 + return array("ok");
1711 1739 }
1712 1740 }
1713 1741 ?>
1714 1742 \ No newline at end of file
... ...
admin/php/metaestat.php
... ... @@ -75,7 +75,8 @@ $funcoesEdicao = array(
75 75 "ALTERANOMECOLUNADB",
76 76 "INSERIRDADOS",
77 77 "MANTEMDADOSREGIAO",
78   - "SALVAATRIBUTOSMEDIDAVARIAVEL"
  78 + "SALVAATRIBUTOSMEDIDAVARIAVEL",
  79 + "EXCLUIATRIBUTOSMEDIDAVARIAVEL"
79 80 );
80 81 if(in_array(strtoupper($funcao),$funcoesEdicao)){
81 82 if(verificaOperacaoSessao("admin/metaestat/geral") == false){
... ... @@ -1214,5 +1215,11 @@ switch (strtoupper($funcao))
1214 1215 retornaJSON($resultado);
1215 1216 exit;
1216 1217 break;
  1218 + case "EXCLUIATRIBUTOSMEDIDAVARIAVEL":
  1219 + $m = new Metaestat();
  1220 + $resultado = $m->excluiAtributosMedidaVariavel($id_medida_variavel,$codigo_tipo_regiao,$identificador_regiao,$id);
  1221 + retornaJSON($resultado);
  1222 + exit;
  1223 + break;
1217 1224 }
1218 1225 ?>
1219 1226 \ No newline at end of file
... ...
ferramentas/metaestat/editorlimites.js
... ... @@ -739,13 +739,13 @@ i3GEOF.editorlimites = {
739 739 ins = "";
740 740 //registros
741 741 for(i=0;i<n;i++){
742   - ins += "<hr><br>";
743 742 //descobre qual o indice que corresponde ao idunico do registro
744 743 for(j=0;j<nj;j++){
745 744 if(atr.aliascolunas[j] == "idunico"){
746 745 idunico = atr.dados[i][atr.colunas[j]];
747 746 }
748 747 }
  748 + ins += "<hr><div><p class=paragrafo style='color:blue;cursor:pointer' onclick='i3GEOF.editorlimites.editarAtributos.excluir("+idunico+")' >excluir</p>";
749 749 //colunas
750 750 for(j=0;j<nj;j++){
751 751 if(atr.aliascolunas[j] !== "idunico"){
... ... @@ -766,7 +766,7 @@ i3GEOF.editorlimites = {
766 766 '<input class=digitar id="" value="" name="'+atr.colunas[j]+'" /></p>';
767 767 }
768 768 }
769   - ins + "<br>";
  769 + ins + "<br></div>";
770 770 novoel.innerHTML = ins;
771 771 $i("editarAtributosForm").appendChild(novoel);
772 772 }}}
... ... @@ -780,6 +780,22 @@ i3GEOF.editorlimites = {
780 780 };
781 781 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);
782 782 },
  783 + //TODO redesenhar as camadas que sofrerem alterações em função do salvar ou excluir
  784 + excluir: function(id){
  785 + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=excluiAtributosMedidaVariavel",
  786 + codigo_tipo_regiao = $i("i3geoCartoRegioesEditaveis").value,
  787 + id_medida_variavel = $i("editarAtributosComboMedidas").value,
  788 + identificador_regiao = $i("editarAtributosidentificador_regiao").value,
  789 + temp = function(retorno){
  790 + i3GEOF.editorlimites.editarAtributos.pegaDados();
  791 + i3GEO.janela.fechaAguarde("aguardeSalvaAtributos");
  792 + };
  793 + i3GEO.janela.AGUARDEMODAL = true;
  794 + i3GEO.janela.abreAguarde("aguardeSalvaAtributos","Salvando...");
  795 + i3GEO.janela.AGUARDEMODAL = false;
  796 + cpJSON.call(p,"foo",temp,"&codigo_tipo_regiao="+codigo_tipo_regiao+"&identificador_regiao="+identificador_regiao+"&id_medida_variavel="+id_medida_variavel+"&id="+id);
  797 +
  798 + },
783 799 salva: function(){
784 800 if(i3GEO.login.verificaCookieLogin() === false){
785 801 i3GEO.janela.tempoMsg("Voc&ecirc; precisa fazer login para usar essa op&ccedil;&atilde;o");
... ...