From db51d3431c006ab94d4ae4d5e9685c18e9c4baa3 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Thu, 20 Apr 2017 17:01:10 -0300 Subject: [PATCH] criação do formulário para cadastramento de parâmetros vinculadas às medidas --- admin/admin.db | Bin 340992 -> 0 bytes admin1/dicionario/core.js | 25 +++++++++++++++++++++++++ admin1/dicionario/estat_variavel.js | 15 +++++++++++++++ admin1/metaestat/variaveis/medidas/funcoes.php | 35 +++++++++++++++++++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/exec.php | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/funcoes.php | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/index.js | 251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/index.php | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/templates/templateFormLista.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/templates/templateLista.php | 18 ++++++++++++++++++ admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesColunas.php | 3 +++ admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesParametrosPai.php | 3 +++ 12 files changed, 695 insertions(+), 0 deletions(-) create mode 100755 admin1/metaestat/variaveis/medidas/parametros/exec.php create mode 100755 admin1/metaestat/variaveis/medidas/parametros/funcoes.php create mode 100755 admin1/metaestat/variaveis/medidas/parametros/index.js create mode 100755 admin1/metaestat/variaveis/medidas/parametros/index.php create mode 100755 admin1/metaestat/variaveis/medidas/parametros/templates/templateFormLista.php create mode 100755 admin1/metaestat/variaveis/medidas/parametros/templates/templateLista.php create mode 100755 admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesColunas.php create mode 100755 admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesParametrosPai.php diff --git a/admin/admin.db b/admin/admin.db index a28c931..b097c8a 100755 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin1/dicionario/core.js b/admin1/dicionario/core.js index e250a72..30554e0 100755 --- a/admin1/dicionario/core.js +++ b/admin1/dicionario/core.js @@ -430,6 +430,31 @@ i3GEOadmin.core.dicionario = { pt : "Escolha da lista", en : "", es : "" + } ], + 'NonDef' : [ { + pt : "Não definido", + en : "", + es : "" + } ], + 'Ano' : [ { + pt : "Ano", + en : "", + es : "" + } ], + 'Mes' : [ { + pt : "Mês", + en : "", + es : "" + } ], + 'Dia' : [ { + pt : "Dia", + en : "", + es : "" + } ], + 'Hora' : [ { + pt : "Hora", + en : "", + es : "" } ] }; diff --git a/admin1/dicionario/estat_variavel.js b/admin1/dicionario/estat_variavel.js index 069d2cb..a8ace01 100755 --- a/admin1/dicionario/estat_variavel.js +++ b/admin1/dicionario/estat_variavel.js @@ -146,6 +146,21 @@ i3GEOadmin.variaveis.dicionario = { pt : "Escolha a fonte", en : "", es : "" + } ], + 'nomeParametro' : [ { + pt : "Nome do parâmetro", + en : "", + es : "" + } ], + 'colunaPar' : [ { + pt : "Coluna existente na tabela relacionada à medida e que contém os valores do parâmetro", + en : "", + es : "" + } ], + 'id_paiTxt' : [ { + pt : "Parâmetro de hierarquia superior (pai) que deve ser escolhido primeiro nos formulários (opcional)", + en : "", + es : "" } ] }; diff --git a/admin1/metaestat/variaveis/medidas/funcoes.php b/admin1/metaestat/variaveis/medidas/funcoes.php index 8a833d6..5ffe09a 100755 --- a/admin1/metaestat/variaveis/medidas/funcoes.php +++ b/admin1/metaestat/variaveis/medidas/funcoes.php @@ -1,5 +1,6 @@ 0 and a.attrelid = c.oid and a.atttypid = t.oid and c.relnamespace = p.oid ORDER BY a.attname"; + + try { + $q = $dbhBD->query($sql,PDO::FETCH_ASSOC); + $colunas = $q->fetchAll(); + } + catch (PDOException $e) { + $colunas = false; + } + $dbhBD = null; + return $colunas; +} +function nomesColunasMedida($dbh,$id_medida_variavel){ + $colunas = \admin\metaestat\variaveis\medidas\colunasMedida($dbh,$id_medida_variavel); + $nomesColunas = \admin\metaestat\variaveis\medidas\nomesColunas($colunas); + return $nomesColunas; +} +function nomesColunas($colunas){ + $nomes = array(); + foreach ($colunas AS $c){ + $nomes[] = array("nome" => $c["field"]); + } + return $nomes; +} ?> \ No newline at end of file diff --git a/admin1/metaestat/variaveis/medidas/parametros/exec.php b/admin1/metaestat/variaveis/medidas/parametros/exec.php new file mode 100755 index 0000000..c347353 --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/exec.php @@ -0,0 +1,89 @@ +$dados,"colunas"=>$colunas)); + } + break; + case "EXCLUIR" : + $retorna = \admin\metaestat\variaveis\medidas\parametros\excluir ( $id_parametro_medida, $dbhw ); + $dbhw = null; + $dbh = null; + if ($retorna === false) { + header ( "HTTP/1.1 500 erro ao consultar banco de dados" ); + } + break; + default: + if(!empty ($funcao)) header ( "HTTP/1.1 500 erro funcao nao existe" ); + break; +} +?> \ No newline at end of file diff --git a/admin1/metaestat/variaveis/medidas/parametros/funcoes.php b/admin1/metaestat/variaveis/medidas/parametros/funcoes.php new file mode 100755 index 0000000..4e6377d --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/funcoes.php @@ -0,0 +1,62 @@ +'', + "nome"=>'', + "descricao"=>'', + "id_pai"=>'', + "tipo"=>'', + "id_medida_variavel"=>$id_medida_variavel + ); + $id_parametro_medida = \admin\php\funcoesAdmin\i3GeoAdminInsertUnico ( $dbhw, "i3geoestat_parametro_medida", $dataCol, "nome", "id_parametro_medida" ); + $retorna = \admin\metaestat\variaveis\medidas\parametros\alterar ( $id_medida_variavel, $id_parametro_medida, $coluna, $nome, $descricao, $id_pai, $tipo, $dbhw ); + return $retorna; + } catch ( PDOException $e ) { + return false; + } +} +function alterar($id_medida_variavel, $id_parametro_medida, $coluna, $nome, $descricao, $id_pai, $tipo ,$dbhw) { + $esquemaadmin = $_SESSION ["esquemaadmin"]; + $convUTF = $_SESSION["convUTF"]; + if ($convUTF != true){ + $nome = utf8_decode($nome); + $descricao = utf8_decode($descricao); + } + $dataCol = array ( + "coluna"=>$coluna, + "nome"=>$nome, + "descricao"=>$descricao, + "id_pai"=>$id_pai, + "tipo"=>$tipo, + "id_medida_variavel"=>$id_medida_variavel + ); + $resultado = \admin\php\funcoesAdmin\i3GeoAdminUpdate ( $dbhw, "i3geoestat_parametro_medida", $dataCol, "WHERE id_parametro_medida = $id_parametro_medida" ); + if ($resultado === false) { + return false; + } + return $id_parametro_medida; +} +function excluir($id_parametro_medida, $dbhw) { + $esquemaadmin = $_SESSION ["esquemaadmin"]; + $resultado = \admin\php\funcoesAdmin\i3GeoAdminExclui ( $esquemaadmin . "i3geoestat_parametro_medida", "id_parametro_medida", $id_parametro_medida, $dbhw, false ); + return $resultado; +} +?> \ No newline at end of file diff --git a/admin1/metaestat/variaveis/medidas/parametros/index.js b/admin1/metaestat/variaveis/medidas/parametros/index.js new file mode 100755 index 0000000..84e9a36 --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/index.js @@ -0,0 +1,251 @@ +/* +Licenca: + +GPL2 + +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet + +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil +Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com + +Este programa é software livre; você pode redistribuí-lo +e/ou modificá-lo sob os termos da Licença Pública Geral +GNU conforme publicada pela Free Software Foundation; + +Este programa é distribuído na expectativa de que seja útil, +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. +Consulte a Licença Pública Geral do GNU para mais detalhes. +Você deve ter recebido uma cópia da Licença Pública Geral do +GNU junto com este programa; se não, escreva para a +Free Software Foundation, Inc., no endereço +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + + */ +i3GEOadmin.parametros = { + //variavel global indicando o elemento que recebera a lista de variaveis + ondeLista: "", + codigo_variavel: "", + id_medida_variavel: "", + //conteudo html do formulario de adicao de operacao + formAdiciona: "", + listaDeColunas: "", + listaDeParametros: "", + //parametros obtidos do formulario de edicao antes de abrir o modal de confirmacao + parametrosSalvar: "", + init: function(onde){ + i3GEOadmin.parametros.ondeLista = onde; + i3GEOadmin.parametros.lista(); + }, + /* +Function: lista + +Obtém a lista de variaveis + */ + lista: function(){ + i3GEOadmin.core.iconeAguarde(i3GEOadmin.parametros.ondeLista); + $.post( + "exec.php?funcao=lista", + "id_medida_variavel=" + i3GEOadmin.parametros.id_medida_variavel + ) + .done( + function(data, status){ + //objeto json com os dados viondos do banco + var json = jQuery.parseJSON(data); + i3GEOadmin.parametros.listaDeColunas = json.colunas; + i3GEOadmin.parametros.listaDeParametros = json.dados; + //template do form de cada operacao + var templateLista = $("#templateLista").html(); + //lista todas as variaveis + var html = Mustache.to_html( + "{{#data}}" + templateLista + "{{/data}}", + $.extend( + {}, + i3GEOadmin.parametros.dicionario, + { + "data": json.dados, + "onExcluir": "i3GEOadmin.parametros.excluirDialogo",//funcao + "onEditar": "i3GEOadmin.parametros.editarDialogo" + } + ) + ); + i3GEOadmin.parametros.ondeLista.html(html); + //monta um template para o modal de inclusao + if(i3GEOadmin.parametros.formAdiciona == ""){ + html = Mustache.to_html( + $("#templateFormLista").html(), + $.extend( + {}, + i3GEOadmin.parametros.dicionario, + { + "id_parametro_medida": "modal", + "escondido": "hidden", + "excluir": i3GEOadmin.parametros.dicionario.cancelar, + "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao + "onSalvar": "i3GEOadmin.parametros.adiciona", + "opcoesColuna": function(){ + var html = Mustache.to_html( + "{{#data}}" + $("#templateOpcoesColunas").html() + "{{/data}}", + {"data":i3GEOadmin.parametros.listaDeColunas} + ); + return html; + }, + "opcoesParametroPai": function(){ + var html = Mustache.to_html( + "{{#data}}" + $("#templateOpcoesParametrosPai").html() + "{{/data}}", + {"data":i3GEOadmin.parametros.listaDeParametros} + ); + return html; + } + } + ) + ); + i3GEOadmin.parametros.formAdiciona = html; + } + $.material.init(); + } + ) + .fail(function(data){ + i3GEOadmin.parametros.ondeLista.html(""); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + }); + }, + editarDialogo: function(id){ + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=listaunico", + "id_parametro_medida=" + id + ) + .done( + function(data, status){ + var json = jQuery.parseJSON(data); + //lista todas as variaveis + var html = Mustache.to_html( + "{{#data}}" + $("#templateFormLista").html() + "{{/data}}", + $.extend( + {}, + i3GEOadmin.parametros.dicionario, + { + "data": json, + "onExcluir": "i3GEOadmin.parametros.excluirDialogo",//funcao + "onSalvar": "i3GEOadmin.parametros.salvarDialogo", + "opcoesColuna": function(){ + var html = Mustache.to_html( + "{{#data}}" + $("#templateOpcoesColunas").html() + "{{/data}}", + {"data":i3GEOadmin.parametros.listaDeColunas} + ); + return html; + }, + "opcoesParametroPai": function(){ + var html = Mustache.to_html( + "{{#data}}" + $("#templateOpcoesParametrosPai").html() + "{{/data}}", + {"data":i3GEOadmin.parametros.listaDeParametros} + ); + return html; + } + } + ) + ); + i3GEOadmin.core.abreModalGeral(html); + i3GEOadmin.core.defineSelecionados("modalGeral",json); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + adicionaDialogo: function(){ + i3GEOadmin.core.abreModalGeral(i3GEOadmin.parametros.formAdiciona); + }, +// os parametros sao obtidos do formulario aberto do modal + adiciona: function(){ + var parametros = $("#modalGeral form").serialize(); + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=adicionar", + parametros + "&id_medida_variavel=" + i3GEOadmin.parametros.id_medida_variavel + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.parametros.ondeLista); + i3GEOadmin.parametros.lista(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + excluirDialogo: function(id){ + var hash = { + "mensagem": i3GEOadmin.parametros.dicionario.confirma, + "onBotao1": "i3GEOadmin.parametros.excluir('"+id+"')", + "botao1": i3GEOadmin.parametros.dicionario.sim, + "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.parametros.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + excluir: function(id){ + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=excluir", + "id_parametro_medida="+id + ) + .done( + function(data, status){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.parametros.lista(); + } + ) + .fail( + function(data){ + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + }, + salvarDialogo: function(id){ + i3GEOadmin.parametros.parametrosSalvar = $("#form-edicao-" + id).serialize(); + var hash = { + "mensagem": i3GEOadmin.parametros.dicionario.confirma, + "onBotao1": "i3GEOadmin.parametros.salvar('"+id+"')", + "botao1": i3GEOadmin.parametros.dicionario.sim, + "onBotao2": "i3GEOadmin.parametros.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", + "botao2": i3GEOadmin.parametros.dicionario.nao + }; + i3GEOadmin.core.abreModalConfirma(hash); + }, + salvar: function(id){ + var parametros = i3GEOadmin.parametros.parametrosSalvar; + i3GEOadmin.core.fechaModalGeral(); + i3GEOadmin.core.modalAguarde(true); + $.post( + "exec.php?funcao=alterar", + "id_medida_variavel=" + i3GEOadmin.parametros.id_medida_variavel + "&id_parametro_medida="+ id +"&"+parametros + ) + .done( + function(data, status){ + i3GEOadmin.parametros.parametrosSalvar = ""; + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.iconeAguarde(i3GEOadmin.parametros.ondeLista); + i3GEOadmin.parametros.lista(); + } + ) + .fail( + function(data){ + i3GEOadmin.parametros.parametrosSalvar = ""; + i3GEOadmin.core.modalAguarde(false); + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); + } + ); + } +}; \ No newline at end of file diff --git a/admin1/metaestat/variaveis/medidas/parametros/index.php b/admin1/metaestat/variaveis/medidas/parametros/index.php new file mode 100755 index 0000000..6d2ccdb --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/index.php @@ -0,0 +1,125 @@ + +
+ +
+
+
+
+ + +
+
+
+ + + + + + diff --git a/admin1/metaestat/variaveis/medidas/parametros/templates/templateFormLista.php b/admin1/metaestat/variaveis/medidas/parametros/templates/templateFormLista.php new file mode 100755 index 0000000..007f7c8 --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/templates/templateFormLista.php @@ -0,0 +1,69 @@ + diff --git a/admin1/metaestat/variaveis/medidas/parametros/templates/templateLista.php b/admin1/metaestat/variaveis/medidas/parametros/templates/templateLista.php new file mode 100755 index 0000000..6f065c7 --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/templates/templateLista.php @@ -0,0 +1,18 @@ + diff --git a/admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesColunas.php b/admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesColunas.php new file mode 100755 index 0000000..cc8936b --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesColunas.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesParametrosPai.php b/admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesParametrosPai.php new file mode 100755 index 0000000..e888967 --- /dev/null +++ b/admin1/metaestat/variaveis/medidas/parametros/templates/templateOpcoesParametrosPai.php @@ -0,0 +1,3 @@ + \ No newline at end of file -- libgit2 0.21.2