diff --git a/admin/admin.db b/admin/admin.db index 7f582a3..b6e3369 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/js/estat_variavel.js b/admin/js/estat_variavel.js index c787a65..879fa63 100755 --- a/admin/js/estat_variavel.js +++ b/admin/js/estat_variavel.js @@ -413,6 +413,8 @@ i3GEOadmin.variaveis = { ] }; ins += core_geraLinhas(param); + //utilizado para passar o codigo da variavel qd for necessario + ins += ""; ins += "


"; $i("editor_bd").innerHTML = ins; } @@ -1026,7 +1028,7 @@ i3GEOadmin.variaveis = { prog = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraParametroMedida"; } if(tipo == "classificacaoMedida"){ - campos = new Array("nome","observacao"); + campos = new Array("id_medida_variavel","nome","observacao"); par = "&id_classificacao="+id; prog = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraClassificacaoMedida"; } diff --git a/admin/php/classe_metaestat.php b/admin/php/classe_metaestat.php index 41c50b9..8de3cb5 100755 --- a/admin/php/classe_metaestat.php +++ b/admin/php/classe_metaestat.php @@ -1281,5 +1281,14 @@ class Metaestat{ $xml .= '' . PHP_EOL; return $xml; } + //busca o valor de uma chave em um array multiplo + function buscaNoArray($lista,$chave,$valor){ + foreach($lista as $l){ + if($l[$chave] == $valor){ + return true; + } + } + return false; + } } ?> \ No newline at end of file diff --git a/admin/php/metaestat.php b/admin/php/metaestat.php index 84a96a6..4a33ee7 100644 --- a/admin/php/metaestat.php +++ b/admin/php/metaestat.php @@ -229,6 +229,7 @@ switch (strtoupper($funcao)) case "ALTERAVARIAVEL": $m = new Metaestat(); if(empty($codigo_variavel)){ + //isso ira criar um novo registro $codigo_variavel = $m->alteraVariavel(); if(!empty($nome)){ $m->alteraVariavel($codigo_variavel,$nome,$descricao); @@ -252,6 +253,7 @@ switch (strtoupper($funcao)) case "ALTERAMEDIDAVARIAVEL": $m = new Metaestat(); if(empty($id_medida_variavel)){ + //isso ira criar um novo registro $id_medida_variavel = $m->alteraMedidaVariavel($codigo_variavel); if(!empty($nomemedida)){ $m->alteraMedidaVariavel("",$id_medida_variavel,$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$filtro,$nomemedida); @@ -260,6 +262,43 @@ switch (strtoupper($funcao)) else{ $m->alteraMedidaVariavel("",$id_medida_variavel,$codigo_unidade_medida,$codigo_tipo_periodo,$codigo_tipo_regiao,$codigo_estat_conexao,$esquemadb,$tabela,$colunavalor,$colunaidgeo,$filtro,$nomemedida); } + //verifica se a criacao da medida esta sendo feita para a tabela default + if($codigo_tipo_periodo < 5 && $codigo_estat_conexao == 0 && $esquemadb == "public" && $colunaidgeo == "codigoregiao"){ + $parametros = $m->listaParametro($id_medida_variavel); + //adiciona os parametros de tempo conforme o tipo de periodo escolhido + //anual + if($codigo_tipo_periodo >= 0){ + if($m->buscaNoArray($parametros,"coluna","ano") == false){ + $id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","",""); + $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Ano","","ano",""); + } + $codigo_tipo_periodo = 1; + } + //mensal + if($codigo_tipo_periodo >= 1){ + if($m->buscaNoArray($parametros,"coluna","mes") == false){ + $id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","",""); + $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Mes","","mes",""); + } + $codigo_tipo_periodo = 2; + } + //diario + if($codigo_tipo_periodo >= 2){ + if($m->buscaNoArray($parametros,"coluna","dia") == false){ + $id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","",""); + $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Dia","","dia",""); + } + $codigo_tipo_periodo = 3; + } + //horario + if($codigo_tipo_periodo >= 3){ + if($m->buscaNoArray($parametros,"coluna","hora") == false){ + $id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel,"","","","",""); + $m->alteraParametroMedida($id_medida_variavel,$id_parametro_medida,"Hora","","hora",""); + } + } + } + retornaJSON($m->listaMedidaVariavel("",$id_medida_variavel)); exit; break; @@ -275,6 +314,7 @@ switch (strtoupper($funcao)) case "ALTERAPARAMETROMEDIDA": $m = new Metaestat(); if(empty($id_parametro_medida)){ + //isso ira criar um novo registro $id_parametro_medida = $m->alteraParametroMedida($id_medida_variavel); } else{ @@ -295,7 +335,11 @@ switch (strtoupper($funcao)) case "ALTERACLASSIFICACAOMEDIDA": $m = new Metaestat(); if(empty($id_classificacao)){ + //isso ira criar um novo registro $id_classificacao = $m->alteraClassificacaoMedida($id_medida_variavel); + if(!empty($nome)){ + $m->alteraClassificacaoMedida($id_classificacao,$id_classificacao,$nome,$observacao); + } } else{ $m->alteraClassificacaoMedida("",$id_classificacao,$nome,$observacao); @@ -315,6 +359,7 @@ switch (strtoupper($funcao)) case "ALTERACLASSECLASSIFICACAO": $m = new Metaestat(); if(empty($id_classe)){ + //isso ira criar um novo registro $id_classe = $m->alteraClasseClassificacao($id_classificacao); } else{ @@ -326,6 +371,7 @@ switch (strtoupper($funcao)) case "ALTERALINKMEDIDA": $m = new Metaestat(); if(empty($id_link)){ + //isso ira criar um novo registro $id_link = $m->alteraLinkMedida($id_medida_variavel); } else{ @@ -337,6 +383,7 @@ switch (strtoupper($funcao)) case "ALTERARFONTEINFO": $m = new Metaestat(); if(empty($id_fonteinfo)){ + //isso ira criar um novo registro $id_fonteinfo = $m->alteraFonteinfo(); } else{ @@ -438,7 +485,10 @@ switch (strtoupper($funcao)) $codigo_tipo_periodo = $m->alteraTipoPeriodo(); } else{ - $codigo_unidade_medida = $m->alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao); + //impede a alteracao dos valores reservados + if($codigo_tipo_periodo > 4){ + $codigo_unidade_medida = $m->alteraTipoPeriodo($codigo_tipo_periodo,$nome,$descricao); + } } retornaJSON($m->listaTipoPeriodo($codigo_tipo_periodo)); exit; @@ -482,15 +532,22 @@ switch (strtoupper($funcao)) {JSON} */ case "EXCLUIRTIPOPERIODO": - $tabela = "i3geoestat_tipo_periodo"; - $id = $codigo_tipo_periodo; - $f = verificaFilhos(); - if(!$f){ - $m = new Metaestat(); - retornaJSON($m->excluirRegistro("i3geoestat_tipo_periodo","codigo_tipo_periodo",$id)); + //impede a alteracao dos valores reservados + if($codigo_tipo_periodo > 4){ + $tabela = "i3geoestat_tipo_periodo"; + $id = $codigo_tipo_periodo; + $f = verificaFilhos(); + if(!$f){ + $m = new Metaestat(); + retornaJSON($m->excluirRegistro("i3geoestat_tipo_periodo","codigo_tipo_periodo",$id)); + } + else{ + retornaJSON("erro"); + } } - else + else{ retornaJSON("erro"); + } exit; break; /* @@ -543,15 +600,22 @@ switch (strtoupper($funcao)) {JSON} */ case "EXCLUIRCONEXAO": - $tabela = "i3geoestat_conexao"; - $id = $codigo_estat_conexao; - $f = verificaFilhos(); - if(!$f){ - $m = new Metaestat(); - retornaJSON($m->excluirRegistro("i3geoestat_conexao","codigo_estat_conexao",$id)); + //impede a alteracao dos valores reservados + if($codigo_estat_conexao > 0){ + $tabela = "i3geoestat_conexao"; + $id = $codigo_estat_conexao; + $f = verificaFilhos(); + if(!$f){ + $m = new Metaestat(); + retornaJSON($m->excluirRegistro("i3geoestat_conexao","codigo_estat_conexao",$id)); + } + else{ + retornaJSON("erro"); + } } - else + else{ retornaJSON("erro"); + } exit; break; /* diff --git a/classesjs/classe_php.js b/classesjs/classe_php.js index 48722d8..c4c7d4e 100644 --- a/classesjs/classe_php.js +++ b/classesjs/classe_php.js @@ -1484,6 +1484,15 @@ i3GEO.php = { i3GEO.util.ajaxGet(p,funcao); }, /* + Function: listaClasseClassificacao + + Lista as classes de uma classificacao de uma medida de variavel do sistema de metadados estatísticos + */ + listaClasseClassificacao: function(id_classificacao,funcao){ + var p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=listaClasseClassificacao&id_classificacao="+id_classificacao; + i3GEO.util.ajaxGet(p,funcao); + }, + /* Function: mapfileMedidaVariavel Adiciona uma camada ao mapa baseado no sistema de metadados estatísticos diff --git a/documentacao/diagramas/metaestat.erm b/documentacao/diagramas/metaestat.erm index 62836d6..46d623c 100644 --- a/documentacao/diagramas/metaestat.erm +++ b/documentacao/diagramas/metaestat.erm @@ -11,8 +11,8 @@ 0 1.0 - -372 - 51 + 219 + -89 255 128 @@ -110,7 +110,7 @@ false 2012-07-17 15:03:53 - 2012-09-24 00:15:20 + 2012-09-25 10:02:07 Project Name @@ -1259,7 +1259,7 @@ - 36 + 37 6 @@ -1291,7 +1291,7 @@ - 18 + 17 7 @@ -1386,7 +1386,7 @@ - 38 + 40 9 @@ -1418,7 +1418,7 @@ - 17 + 18 10 @@ -1530,7 +1530,7 @@ - 40 + 38 12 @@ -2243,7 +2243,7 @@ 2 - 2 + 3 8 1..n 1 @@ -2260,7 +2260,7 @@ 3 - 3 + 12 8 1..n 1 @@ -2311,7 +2311,7 @@ 6 - 12 + 2 8 1..n 1 @@ -2369,7 +2369,7 @@ 32 0 - 2 + 6 @@ -2402,7 +2402,7 @@ 33 5 - 3 + 2 @@ -2468,7 +2468,7 @@ 35 55 - 6 + 3 @@ -2837,7 +2837,7 @@ - 37 + 41 45 @@ -3144,7 +3144,7 @@ - 41 + 36 51 @@ -4304,6 +4304,34 @@ + + + 5 + 3 + + + 6 + Diário + + + 7 + + + + + + 5 + 4 + + + 6 + Horário + + + 7 + + + 0 diff --git a/ferramentas/metaestat/dicionario1.js b/ferramentas/metaestat/dicionario1.js index 81f01dd..9fcbb52 100644 --- a/ferramentas/metaestat/dicionario1.js +++ b/ferramentas/metaestat/dicionario1.js @@ -58,13 +58,34 @@ it:"" }], "9":[ { -pt:"", +pt:"Salvar", en:"", es:"", it:"" }], "10":[ { +pt:"Utilize um dos métodos abaixo para gerar as classes que serão utilizadas para representar os dados no cartograma", +en:"", +es:"", +it:"" +}], +"11":[ +{ +pt:"Divisão em quartis", +en:"", +es:"", +it:"" +}], +"12":[ +{ +pt:"5 intervalos iguais", +en:"", +es:"", +it:"" +}], +"13":[ +{ pt:"", en:"", es:"", diff --git a/ferramentas/metaestat/index.js b/ferramentas/metaestat/index.js index aa64eaf..e7f1cd0 100644 --- a/ferramentas/metaestat/index.js +++ b/ferramentas/metaestat/index.js @@ -1,23 +1,23 @@ /* T i*tle: Cartogramas estatísticos - + Arquivo: - + i3geo/ferramentas/metaestat/index.js - + 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@mma.gov.br - + 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. @@ -32,7 +32,7 @@ if(typeof(i3GEOF) === 'undefined'){ } /* C l*asse: i3GEOF.metaestat - + Gerencia os componentes do módulo de geração de cartogramas estatísticos */ i3GEOF.metaestat = { @@ -222,7 +222,7 @@ i3GEOF.metaestat = { } }, comboTipoClassificacaoOnchange: function(){ - + }, comboRegiao: function(id_medida_variavel){ i3GEOF.metaestat.comum.aguarde($i("i3geoCartoRegioesMedidasVariavel")); @@ -400,6 +400,7 @@ i3GEOF.metaestat = { } }, editor: { + //TODO incluir botao para remover registros inicia: function(){ YAHOO.namespace("admin.container"); if(typeof(i3GEOF.metaestat.dicionario1) === 'undefined'){ @@ -506,7 +507,7 @@ i3GEOF.metaestat = { i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t2"); // Enome e o id do input onde o usuario escolheu o nome da nova variavel i3GEOF.metaestat.editor.t2(true,$i("Enomemedida").value); - //TODO adicionar os parametros de tempo que ja existem na tabela + //TODO inserir fontes e links }; i3GEOadmin.variaveis.editar("medidaVariavel",""); //passa o codigo da variavel @@ -522,6 +523,10 @@ i3GEOF.metaestat = { $i("Ecolunavalor").value = "valor_num"; //id que liga com o geo $i("Ecolunaidgeo").value = "codigoregiao"; + //unidade de medida + $i("Ecodigo_unidade_medida").value = 1; + //periodo + $i("Ecodigo_tipo_periodo").value = 0; //impede a alteracao do filtro $i("Efiltro").disabled = "disabled"; }, @@ -538,6 +543,30 @@ i3GEOF.metaestat = { i3GEOadmin.variaveis.editar("medidaVariavel",id_medida_variavel); } }, + criaClassificacao: function(){ + i3GEOadmin.variaveis.aposGravar = function(){ + core_carregando("desativa"); + //refaz o conteudo para mostrar a nova adicao + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3"); + // Enome e o id do input onde o usuario escolheu o nome da nova variavel + i3GEOF.metaestat.editor.t3(true,$i("Enome").value); + }; + i3GEOadmin.variaveis.editar("classificacaoMedida",""); + $i("Eid_medida_variavel").value = $i("i3geoCartoComboMedidaVariavelEditor").value; + }, + editaClassificacao: function(){ + i3GEOadmin.variaveis.aposGravar = function(){ + core_carregando("desativa"); + //refaz o conteudo para mostrar a nova adicao + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3"); + // Enome e o id do input onde o usuario escolheu o nome da nova variavel + i3GEOF.metaestat.editor.t3(true,$i("Enome").value); + }; + var id_classificacao = $i("i3geoCartoComboClassificacoesEditor").value; + if(id_classificacao !== ""){ + i3GEOadmin.variaveis.editar("classificacaoMedida",id_classificacao); + } + }, removeEl:function(id){ var no = $i(id); if(no){ @@ -562,6 +591,12 @@ i3GEOF.metaestat = { comboMedidaVariavelOnchange: function(combo){ i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3"); }, + quartis: function(){ + //TODO + }, + intervalosIguais: function(){ + + }, t0: function(){ var ins = "

" + $trad(2,i3GEOF.metaestat.dicionario1) + "

" + @@ -622,18 +657,18 @@ i3GEOF.metaestat = { i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t1()","i3GEOF.metaestat.editor.t3()",ins,"i3GEOF.metaestat.editor.t2","i3GEOFmetaestatEditor",true); new YAHOO.widget.Button( "i3GEOFmetaestatEditorBotao4", - {onclick:{fn: i3GEOF.metaestat.editor.editaMedidaVariavel}} + {onclick:{fn: i3GEOF.metaestat.editor.editaMedidaVariavel}} ); $i("i3GEOFmetaestatEditorBotao4-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; new YAHOO.widget.Button( "i3GEOFmetaestatEditorBotao4a", - {onclick:{fn: i3GEOF.metaestat.editor.criaMedidaVariavel}} + {onclick:{fn: i3GEOF.metaestat.editor.criaMedidaVariavel}} ); $i("i3GEOFmetaestatEditorBotao4a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; if(textoSelecionado){ i3GEOF.metaestat.editor.selComboPorTexto("i3geoCartoComboMedidaVariavelEditor",textoSelecionado); } - + }, codigo_variavel = $i("i3geoCartoComboVariavelEditor").value; if(codigo_variavel == ""){ @@ -645,7 +680,7 @@ i3GEOF.metaestat = { } }, t3: function(remove,textoSelecionado){ - //TODO escolha dos parametros de classificacao + //TODO incluir opcao de upload de dados if(remove == true){ //remove o conteudo anteriormente construido i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t3"); @@ -657,17 +692,55 @@ i3GEOF.metaestat = { else{ var temp = function(dados){ var ins = "

" + $trad(7,i3GEOF.metaestat.dicionario1) + "

" + - "" + i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel(dados,"i3geoCartoComboClassificacoesMedidaVariavelEditor","") + "" + - "


"; + "" + i3GEOF.metaestat.principal.comboClassificacoesMedidaVariavel(dados,"i3geoCartoComboClassificacoesEditor","") + "" + + "

" + + " 
"; i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t2()","i3GEOF.metaestat.editor.t4()",ins,"i3GEOF.metaestat.editor.t3","i3GEOFmetaestatEditor",true); new YAHOO.widget.Button( "i3GEOFmetaestatEditorBotao5", - {onclick:{fn: i3GEOF.metaestat.editor.criaClassificacao}} + {onclick:{fn: i3GEOF.metaestat.editor.editaClassificacao}} ); $i("i3GEOFmetaestatEditorBotao5-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao5a", + {onclick:{fn: i3GEOF.metaestat.editor.criaClassificacao}} + ); + $i("i3GEOFmetaestatEditorBotao5a-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; + }; i3GEO.php.listaClassificacaoMedida($i("i3geoCartoComboMedidaVariavelEditor").value,temp); } + }, + t4: function(remove,textoSelecionado){ + //TODO incluir as opcoes de escolha de cores e criacao de classes por quartil e intervalos iguais + if(remove == true){ + //remove o conteudo anteriormente construido + i3GEOF.metaestat.editor.removeEl("i3GEOF.metaestat.editor.t4"); + } + if($i("i3geoCartoComboMedidaVariavelEditor").value === ""){ + alert($trad(9,i3GEOF.metaestat.dicionario)); + i3GEOF.metaestat.editor.t3(false); + } + else{ + var temp = function(dados){ + var ins = "

" + $trad(10,i3GEOF.metaestat.dicionario1) + "

" + + "" + + "

" + + " "; + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t3()","i3GEOF.metaestat.editor.t5()",ins,"i3GEOF.metaestat.editor.t4","i3GEOFmetaestatEditor",true); + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao6", + {onclick:{fn: i3GEOF.metaestat.editor.quartis}} + ); + $i("i3GEOFmetaestatEditorBotao6-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao7", + {onclick:{fn: i3GEOF.metaestat.editor.intervalosIguais}} + ); + $i("i3GEOFmetaestatEditorBotao7-button").style.width = (i3GEOF.metaestat.LARGURA / 2) + "px"; + }; + i3GEO.php.listaClasseClassificacao($i("i3geoCartoComboClassificacoesEditor").value,temp); + } } }, parametros: { @@ -985,7 +1058,7 @@ i3GEOF.metaestat = { return ins; }, comboClassificacoesMedidaVariavelOnchange: function(){ - + } } }; \ No newline at end of file -- libgit2 0.21.2