Commit e308665faa4ef4afc295a65ac06b95ea19d3574f
1 parent
885990cd
Exists in
master
and in
7 other branches
inclusão de opção para excluir registros de atributos no editor de limites do METAESTAT
Showing
4 changed files
with
55 additions
and
4 deletions
Show diff stats
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ê precisa fazer login para usar essa opção"); | ... | ... |