histórico de modificações

Post on 18-Jun-2015

91 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Histórico de Modificações Geosnoc- Bahia

TRANSCRIPT

Governo do Estado da Bahia

Histórico de Modificações - Geosnic

1

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

GOVERNO DO ESTADO DA BAHIA Jaques Wagner SECRETARIA DE DESENVOLVIMENTO URBANO Afonso Bandeira Florence

Superintendência de Habitação – SH Liana de Viveiros e Oliveira

Superintendência de Saneamento – SAN João Lopes

Superintendência de Planejamento e Gestão Territorial – SPGT Maria das Graças Torreão Ferreira

Coordenação de Informações Geográficas - CGI

Leonardo Euler Santos Elaboração Coordenação de Informações Geográficas - CGI Alípio Dantas Arnaldo Bispo Igor Nogueira Santos Lenir Ferreira Silva Leonardo Euler Santos Renatto Attiê Lima

2

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

APRESENTAÇÃO .......................................................................................................................... 3 Manual de Instalação........................................................................................................................ 4

Instalando Postgres 8.1.3 .............................................................................................................. 4 Instalando servidor Apache 2.2.0.................................................................................................. 5 Instalando PHP 4.4.8.................................................................................................................... 6 Instalando Biblioteca Terraweb .................................................................................................... 6 Levantando a aplicação ................................................................................................................ 8 Alterando Tabelas ........................................................................................................................ 8 Alterando a conexão com o banco ................................................................................................ 8 Modificando chave API-GOOGLE............................................................................................... 8 Instalando aplicação Java e atualizando os dados:......................................................................... 8 Rotina de Atualização .................................................................................................................. 9 Servidor de E-mail ....................................................................................................................... 9 Rotina de Atualização .................................................................................................................. 9 Servidor de E-mail ..................................................................................................................... 10

Modificações na Interface .............................................................................................................. 11 Centralização do Mapa de Visualização...................................................................................... 11 Modificações nas imagens e cores da visualização...................................................................... 13 Modificando direção do eyebird , do menu de botões do mapa e rodapé. .................................... 13 Modificando Camadas e vistas ................................................................................................... 15 Modificando os arquivos pdf ...................................................................................................... 15 Filtrando Obras OGU................................................................................................................. 15 Modificando as consultas simples............................................................................................... 16 Adicionando Novos Filtros......................................................................................................... 16

3

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

APRESENTAÇÃO

Geosnic é um sistema web disponibilizado pelo Ministério das Cidades que permite acesso a diversas informações através da visualização de mapas. Através dele é possível, por exemplo, obter desde o número de votos em branco nas últimas eleições, até dados do Censo 2000 e da contagem populacional de 2007, passando por arrecadação de IPTU (Imposto Predial e Territorial Urbano) e ISS (Imposto Sobre Serviços de Qualquer Natureza), dentre outras informações.

Construído na plataforma de software livre, o Geosnic é baseado no Sistema

Operacional Linux, servidor web Apache, linguagem PHP, banco de dados postgres e na biblioteca de informações espacias terralib.

Este documento compila as principais modificações realizadas na aplicação a fim de

que a mesma melhor se adequasse à utilização pela SEDUR-BA.

4

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Manual de Instalação

Instalando Postgres 8.1.3

1. Copiar o arquivo de instalação para /usr/local; 2. Descompactar com o comando: tar -xvzf “nome do arquivo” sem as aspas duplas. 3. Liste a pasta criada com o comando ls. Leia o arquivo INSTALL através do comando gedit

INSTALL. Este arquivo contém os passos para a instalação do Postgres, mas não siga ainda esses passos.

4. Crie o diretório postgres

# /usr/local:~$ mkdir postgres ; 5. Acesse a pasta descompactada

#/usr/local:~$ cd Postgres-8.1.3 6. Instale o Postgres:

#/usr/local/Postgres-8.1.3:~$ ./configure --prefix= “/usr/local/postgres” #/usr/local/Postgres-8.1.3:~$ make #/usr/local/Postgres-8.1.3:~$ make install

7. Durante a instalação podem ser pedidas as instalações de algumas bibliotecas. Neste caso foi

pedida a instalação das bibliotecas readline e zlib. É possível buscar as bibliotecas através do comando aptitude search “nome da bibilioteca”, após identifica-la aptitude install “nome da bibilioteca”. Na listagem do comando aptitude search os arquivos indicados com v são virtuais, i os que já estã instalados e p os que estão prontos para a instalação.

8. Em seguida criar o usuário postgres:

#/usr/local/Postgres-8.1.3:~$ add user postgres 9. Mudar o dono da pasta postgres para o usuário postgres: #/usr/local/postgres:~$ chown -R postgres . (o ponto faz parte do comando) 10. Acesse como usuário postgres

#/usr/local/Postgres-8.1.3:~$ su postgres 11. Criar pasta data no diretorio /usr/local/postgres$

#/usr/local/Postgres-8.1.3:~$ cd .. #/usr/local:~$ cd postgres

#/usr/local/postgres:~$ mkdir data 12. Acessa a pasta data.

#/usr/local/postgres:~$ cd data #/usr/local/postgres/data: /usr/local/postgres/bin/initdb -E=latin1 --locale=pt_br . (o ponto faz parte do comando)

5

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

13. Após concluído editar o arquivo pg_hba.conf em /usr/local/postgres/data: #/usr/local/postgres/data:~$ gedit pg_hba.conf na propriedade Ipv4 substituir o ip por 10.56.0.0/16. Incluir na linha abaixo de local: host all all

10.56.0.0/16 md5. 14. Acessar também o arquivo postgresql.conf modificando a propriedade #listen_adress =

'localhost' para listen_adress = '*', lembrando de suprimir o #. 15. Inicie o postgres:

#/usr/local/postgres/bin:~$ ./pg_ctl -D /usr/local/postgres/data / start 16. Para acessar o banco em /usr/local/postgres/bin digite ./psql como usuário postgres

# /usr/local/postgres/bin:~$ ./psql (como usuário postgres) 17. Criar usuário cgi:

postgres=# create user cgi with password 'xxxx'; 18. Criar o banco geosnic com o comando: create database geosnic with owner=cgi;

postgres=# create database geosnic with owner=cgi; 19. Copie o backup do banco em /usr/local; 20. Entre na pasta usr/local/postgres/bin e restaure o banco:

# /usr/local/postgres/bin=~$ pg_restore -h localhost -p 5432 -U cgi -F c -v -d geosnic -O “caminho e nome do arquivo de dump”;

Instalando servidor Apache 2.2.0

1. Copie o arquivo httpd-2.2.0.tar.gz para /usr/local 2. Descompacte-o

#/usr/local:~$ tar -xvzf httpd-2.2.0.tar.gz 3. Na pasta /usr/local criar o diretório apache

#/usr/local:~$ mkdir apache; 4. Acesse a pasta criada após a descompactação, e observe os parâmetros de configuração no

arquivo INSTALL. (Somente a título de conhecimento) #/Desktop/httpd-2.2.0:~$ gedit INSTALL

5. Na mesma pasta execute: # /Desktop/httpd-2.2.0:~$ ./cofigure –prefix=”/usr/local/apache” 6. Quando concluir o procedimento:

#/Desktop/httpd-2.2.0:~$ make #/Desktop/httpd-2.2.0:~$ make install

7. Inicie o serviço.

6

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

# /usr/local/apache/bin:~$ ./apachectl start 8. Libere as permissões de acesso para as pasta /usr/local/apache/htdocs/geosnic/tmp e

/usr/local/apache/htdocs/geosnic/log #/usr/local/apache/htdocs/geosnic/tmp:~$ chmod -R 777 . (o ponto faz parte do comando) #/usr/local/apache/htdocs/geosnic/log:~$ chmod -R 777 .

Instalando PHP 4.4.8

1. Verficar se estão instalados os seguintes pacotes: 1. zlib 2. libpng 3. libgd2-xpm-dev 4. libfreetype

2. copie o arquivo php-4.4.8.tar.gz para /usr/local 3. descompacte o arquivo : #/usr/local:~$ tar -xvzf php-4.4.8.tar.gz 4. Acesse a pasta criada

#/usr/local:~$ cd php-4.4.8 4. Faça o processo de instalação:

#/usr/local/php-4.4.8:~$ aptitude install flex #/usr/local/php-4.4.8:~$ ./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-magic-

quotes --enable-track-vars --enable-calendar --with-gettext --with-xml --with-gd --with-freetype-dir=/usr --enable-gd-native-ttf --enable-gd-imgstrttf --with-zlib --enable-ftp --enable-debugger --enable-inline-optimization --enable-memory-limit --enable-posix --enable-session --without-kerberos --enable-trans-sid --enable-safe-mode --with-exec-dir=/usr/bin –with-pgsql =/usr/local/postgres

#/usr/local/php-4.4.8:~$ make #/usr/local/php-4.4.8:~$ make install 5. Copie os arquivos mod_php.conf e httpd.conf para /usr/local/apache/conf (estes arquivos se

encontram no cd da aplicação) 6. Copie o arquivo php.ini para /usr/local/lib

Instalando Biblioteca Terraweb

1. Copiar o arquivo lib.tar.gz para /usr/local 2. Descompacte o arquivo:

7

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

#/usr/local:~$ tar -xvzf lib.tar.gz 3. Acesse a pasta gerada após a descompactação e copie os arquivos *.so.* do pacote terralib

para /usr/local/lib. (os arquivos estão no cd da aplicação) 4. Reinicie o apache:

#/usr/local/apache/bin:~$ ./apachectl –restart 5. Crie um arquivo teste.php em /usr/local/apache/htdocs e coloque o seguinte conteúdo: <?php phpinfo();?> 6. Abra o navegador e digite a seguinte URL: localhost/teste.php. Uma tela, semelhante à figura

abaixo, deverá ser exibida:

Para certificar que a instalação da biblioteca foi bem sucedida, faça uma busca pela palavre “terraweb”. Caso a instalação tenha terminado de maneira correta, a seguinte ocorrência será encontrada nas informações:

8

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Levantando a aplicação

1. Copiar o arquivo geosnic.tar.gz para /usr/local/apache/htdocs (o arquivo está no cd da aplicação)

2. Descompactar como o comando: tar -xvzf “nome do arquivo” 3. Altere as permissões de acesso das pastas tmp e log através do comando:

1. chmod 777 -R /usr/local/apache/htdocs/geosnic/tmp 2. chmod 777 -R /usr/local/apache/htdocs/geosnic/log

4. Entre na pasta /usr/local/apache/htdocs e modifique o usuário e o grupo da aplicação geosnic # /usr/local/apache/htdocs:~$ chown -R www-data:www-data geosnic

Alterando Tabelas

1. te_view 1. na coluna user_name colocar o mesmo nome do usuário postgres

2. te_database 1. na coluna db_version mudar a versão de acordo com a do terraview, utilizamos a 3.2.0.1

Alterando a conexão com o banco

1. Acesse o arquivo /usr/local/apache/htdocs/geosnic/etc/conf/str.connect_postgres.php e altere as configurações de conexão com os dados do banco.

Modificando chave API-GOOGLE Para modificar a chave google, entrar no site http://code.google.com/intl/pt-BR/apis/maps/signup.html e gerar a chave da API. Com o código gerado, modificar o arquivo “parametros_iniciais.php” localizado na pasta /usr/local/apache/htdocs/geosnic/etc/conf, substituindo o código antigo pelo novo na sessão $_SESSION[“key_google”].

Instalando aplicação Java e atualizando os dados:

1. No Windows, copiar pasta GEOSNIC_OGU do cd de instalação para a pasta C:\Arquivos de Programas;

2. Nessa pasta, execute com um duplo clique o arquivo GEOSNIC.jar; 3. Baixar ao arquivo de atualização no site da Caixa no endereço

http://www1.caixa.gov.br/download; 4. Na página de Downloads, escolher a opção Órgãos Públicos e baixar o arquivo de

atualização;

9

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

5. Abra o arquivo .dbf através do Access e retire todos os apóstrofes ('); 6. Na aplicação Java, selecione a opção "Efetuar" ; 7. Na janela que se abre, escolha Dados Legados; 8. Selecione a opção "OGU" ; 9. Por último, navegue pelas pastas e selecione o arquivo .dbf baixado da Caixa para que o

processo de atualização tenha início;

A aplicação está pronta para ser utilizada acessando o navegador e acessando o link http://localhost/geosnic/src/php/app.php

Rotina de Atualização

A rotina de atualização das obras OGU na base Geosnic se dá pela aplicação Java através das informações fornecidas pela Caixa. A fim de atualizar somente informações específicas do Estado ou Região é necessário modificar as consultas do arquivo EfetuarCargaDadosLegados.java, no método iniciarProcessosOGU(). Por exemplo, a consulta: "select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null "

Pode ser modificada para: "select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null and UF='BA’ "

Desse modo, somente os dados cadastrais da Bahia serão considerados na rotina de atualização.

Servidor de E-mail

Para o envio de e-mails, o servidor SMTP deve ser local. Caso não seja o caso, é possível utilizar a classe PhpMailer para enviar e-mail através de servidores remotos.

Além disso, é no arquivo /etc/conf/parametrosiniciais.php onde deve ser modificado o endereço de e-mail do novo administrador do sistema.

Rotina de Atualização

A rotina de atualização das obras OGU na base Geosnic se dá pela aplicação Java através das informações fornecidas pela Caixa. A fim de atualizar somente informações específicas do Estado ou Região é necessário modificar as consultas do arquivo EfetuarCargaDadosLegados.java, no método iniciarProcessosOGU(). Por exemplo, a consulta: "select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null "

Pode ser modificada para: "select pt from [DADOS CADASTRAIS DA OPERAÇÃO] where pt is not null and UF='BA’ "

10

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Desse modo, somente os dados cadastrais da Bahia serão considerados na rotina de atualização.

Servidor de E-mail

Para o envio de e-mails, o servidor SMTP deve ser local. Caso não seja o caso, é possível utilizar a classe PhpMailer para enviar e-mail através de servidores remotos.

Além disso, é no arquivo /etc/conf/parametrosiniciais.php onde deve ser modificado o endereço de e-mail do novo administrador do sistema.

11

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Modificações na Interface

Centralização do Mapa de Visualização

A tela inicial do Geosnic apresenta as camadas de visualização de informações e o mapa de visualização, que está centralizado no Brasil.

A primeira modificação foi realizada nos arquivos /src/php/mapa.php e /src/php/index.php com o intuito de centralizar, na Bahia, a visualização do mapa. Para tanto, as seguintes informações foram modificadas nos arquivos mencionados: De:

$_SESSION["x1"] = -78; //x1 $_SESSION["y1"] = -34; //y1 $_SESSION["x2"] = -24; //x2 $_SESSION["y2"] = 5; //y2

Para: $_SESSION["x1"] = -46; //x1

$_SESSION["y1"] = -20; //y1 $_SESSION["x2"] = -35; //x2

$_SESSION["y2"] = -8; //y2

Feitas as modificações nas coordenadas, a visualização inicial do mapa passou a ser a seguinte:

13

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Modificações nas imagens e cores da visualização

As cores da aplicação e o logo podem ser modificados no arquivo flutuante.css, na pasta /src/css, que utiliza as imagens localizadas na pasta geosnic/img. As imagens que compõem o layout básico do sistema são as seguinte:

banner.png – contém o logo exibido na página inicial do sistema; bgBarraPrincipal.png – contém a imagem de fundo do logo que compõe o banner da página

principal, cuja ilustração se encontra a seguir.

barraFina – é o logo apresentado no banner das subtelas de consulta; bgBarra – representa o fundo do banner das telas de consulta.

O aspecto básico das telas de consultas pode ser visto na figura abaixo:

Além dessas, existem outras imagens que merecem destaque:

bgBt_, bgBt – que contêm o fundo colorido exibido nos botões do sistema; barraFina_pdf – é o arquivo que contém o logo exibido nos relatórios pdf; bgMini – é imagem de fundo exibida no rodapé do mapa.

Modificando direção do eyebird , do menu de botões do mapa e rodapé.

Uma das modificações adotadas no Geosnic Bahia foi a alteração de posição do Mapa eyebird e da Barra de botões do mapa.

Antes da modificação, a disposição dos itens no mapa seguia a seguinte configuração:

14

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Para modificar a posição do mapa eyebird, é preciso modificar o arquivo mapa.php. No caso específico do Geosnic-Bahia, o arquivo foi alterado da da seguinte maneira: De <div id="smallMap" style="position:absolute; top:0px; left:0px; z-index:80; height:<?=$h_eye_ifrm?>px;" class="smallMap">

Para: <div id="smallMap" style="position:absolute; top:0px; right:0px; z-index:80; height:<?=$h_eye_ifrm?>px;" class="smallMap">

Para modificar a barra de menus, deve ser modificado o arquivo flutuanteMenus.js, alterando a formação do menu de colunas para linhas. Para remover os espaços entre os botões, basta retirar as seguintes ocorrências do menu:

'<tr><td><img onmouseover=parent.swapClassNameInMenu(this);

onmouseout=parent.swapClassNameInMenu(this); id="menu8" src="../../img/btFantasma.gif" border="0" /></td></tr>'

Caso seja necessário modificar as informações contidas no rodapé do mapa, onde estão contidas as informações de Escala, do tema e da localização basta modificar o arquivo ifrmMapa.js. Já para modificar o rodapé com o intuito de adicionar novas informações, o arquivo a ser modificado é o rodape.js, onde a tabela de rodapé é montada.

Feitas as modificações citadas, o mapa do Geosnic ficou da seguinte forma:

15

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Modificando Camadas e vistas

No arquivo geosnic\etc\conf\parametros_iniciais.php é possível modificar as variáveis $vista_inicial, $tema_corrente, $vista_eyebird e $tema_eyebird para trocar o nome da vista do mapa, do tema padrão do mapa, da vista do eyebird e do tema inicial do eyebird. Por exemplo, caso o nome da vista original (web) seja alterada na base através da ferramenta terraweb, para que essa informação seja exibida na aplicação a variável $vista_inicial deve ser modificada. Se, por outro lado, seja necessário modificar o tema padrão (no modelo do Ministério, o tema “Municipios”) basta modificar a variável $tema_corrente para que ela contanha o nome do novo tema.

Outra modificação implementada foi o carregamento automático do mapa na escolha do tema na árvore de temas e vistas, sem a necessidade de pressionar o botão “Redesenhar mapa” da barra de menu do mapa. Para tanto, o arquivo /src/php/frmMatrixLayer.php foi alterado de adicionando o evento onclick na montagem dos checkbox, como pode ser visto no trecho de código abaixo: $strCheck = '<input type="checkbox"'. 'onclick=parent.submeter_("mapa.php"); class="input" name="treeCheckLayer"'. 'value="'.$arrayThemes[$j].'" id="'.$arrayViews[$i].$arrayThemes[$j].'" '.((!$pos)?(''):('checked')). ' title="Seleção dos planos visíveis na área de mapas!">';

Modificando os arquivos pdf

Na geração dos PDFs, o rodapé pode ser modificado a fim de conter as informações pertinentes. Com esse intuito, podem ser modificados os arquivos pdf_Autor.php e pdf_FProg, da seguinte forma: De: $data = strftime("%A , %d/%m/%y "); $this->Cell(0,10,'©2007 Ministério das Cidades - '. $data,0,0,'C');

Para: $data = strftime("%d/%m/%y "); $this->Cell(0,10,'©2009 Secretaria de Desenvolvimento Urbano : SEDUR - '. $data,0,0,'C');

Filtrando Obras OGU

De modo a exibir somente as obras OGU da Bahia, foi aplicada uma alteração na tabela de contatos, de forma que os códigos correspondentes aos municípios baianos fossem preenchidos. A alteração aplicada consta no script abaixo: UPDATE con_contrato SET con_nomelocalidade = mct_municipiocontrato.mun_idibge from con_contrato con INNER JOIN mct_municipiocontrato ON (con.con_numcontrato = mct_municipiocontrato.con_numcontrato) where mct_municipiocontrato.con_numcontrato = con_contrato.con_numcontrato

Vale frisar, nesse caso, que a equipe do Ministério havia limpado a base e portanto, na tabela mct_municipiocontrato e con_contrato somente contiam municípios da Bahia. Mas, ainda assim, ao pedir a exibição da camada OGU, as obras de todo território nacional eram exibidas pelo fato das informações de geométricas estarem separadas das tabelas de atributos no banco.

16

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

Com a tabela “con_contrato” alterada, foi gerada uma camada, no Terraview, a partir da camada de Obras OGU original, de forma que fossem exibidas somente as obras cuja coluna con_nomelocalidade não fosse nula.

Modificando as consultas simples Para fazer as consultas simples retornarem somente as informações do Estado específico, modificar a tabela csp_consulta simples no banco. Nessa tabela, modifique as colunas csp_defespacialnomesroot, csp_defespacialidroot e csp_despacialnomes com os dados do seu Estado. Na coluna csp_defespacialids, apagar os códigos dos Munícipios originais. Como ilustração, a consulta simples por Dados Econômicos originalmente retornava os dados do Estado do Maranhão, como pode ser observado abaixo:

Adicionando Novos Filtros

1.1 Pesquisa Avançada

Outra importante modificação aplicada foi a criação de novos tipos de consulta que melhor se enquadravam aos dados da SEDUR. A primeira mudança foi feita no layout da página frmNivelAgrupamento.php, que ficou com o seguinte aspecto:

17

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

O arquivo /js/frmWizardsLibrary.js teve as funções setNivelAgrupamento e getTheme atualizadas para que comportassem os novos agrupamentos. A primeira função se encarrega de modificar o endereço da imagem que é exibida cada vez que um novo agrupamento é selecionado. Já a função getTheme obtém o tema correspondente para a exibição das informações no mapa.

O segundo script modificado foi o arquivo strDefEspacial que contém a definição do nível de agrupamento da árvore. Para adicionar as informações sobre os territórios e rds foram somadas as seguintes linhas ao código:

case "Territórios":

$strSQL = "select uf_sigla, uf_nome from uf_unidadefederacao WHERE uf_sigla= 'BA' order by 2"; findEstados(5, $strSQL, $objConexao, $str, $defEspacialIdsRoot, $defEspacialIds);

break; case "RDS":

$strSQL = "select uf_sigla, uf_nome from uf_unidadefederacao WHERE uf_sigla= 'BA' order by 2"; findEstados(6, $strSQL, $objConexao, $str, $defEspacialIdsRoot, $defEspacialIds); break; A função findEstados está localizada no arquivo /lib/functionsTree. Nela, a pesquisa ao

banco é realizada e árvore é preenchida com os dados. O trecho adicionado à definição da função findEstados, para o preenchimento da árvore de Territórios, é exibido a seguir:

case 5:// território $str .= "['".$straux.$matriz_pai[$i][1]."|".$matriz_pai[$i][0]."|".$matriz_pai[$i][1]."-

".$matriz_pai[$i][0]."', 0, "; $sql = "select adg_teid_id, adg_teid_id || ' - ' || adg_teid_nome from adg_territorio_identidade order by

adg_teid_id"; findChildren($sql, $objConexao, $str, $matriz_pai[$i][0], $defEspacialIds);

if ($i < $int_linhas_0-1) { $str .= "], \n"; } else { $str .= "]\n"; }

Por último, o arquivo /lib/functionsCosulta.php teve a função createVirtualTableEspacial alterada de forma a incluir a consulta que irá preencher os dados a serem exibidos no formulário frmConsultaRelatorio.php. Abaixo, segue o trecho de adição das informações de Território:

case "Territórios":

$tblEspacial = " (SELECT a.mun_idibge, c.adg_teid_nome as agrup, c.adg_teid_id as agrupId FROM mun_municipio a, adg_municipio_regionalizacao b, adg_territorio_identidade c ";

if (strpos($in, "select")===false) $tblEspacial .= "WHERE c.adg_teid_id in ('".$in."') ";

else $tblEspacial .= "WHERE c.adg_teid_id in (".$in.") ";

$tblEspacial .= "AND a.mun_idibge = b.muni_cd_municipio::varchar(6) AND b.teid_cd_territorio = c.adg_teid_id ".") UnidEspacial LEFT JOIN ";

break;

É importante frisar que os agrupamentos das consultas sempre têm ligação com a tabela de munícipios pois, a partir destes, é possível ter acesso às informações de histórico. Além dessa função, as funções findIdsMesmoNivel, currentThemeByNivel, currentNameByNivel, desagregarInfo e createLegendaAgregacao devem ser alteradas para contemplar o novo agrupamento.

18

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

1.2 Novos Agrupamentos

Uma extensão às consultas avançadas foi a adição dos novos agrupamentos à consulta de contratos, como é observado na figura abaixo:

A primeira adição a ser feita foi realizada no arquivo frmSimples.php, no trecho de código abaixo:

<option value='16'>Territórios</option> <option value='17'>RDS</option> O trecho acima ilustra a adição das novas opções ao combo de agrupamento. Para a consulta

de agrupamento, a página responsável pela geraração de dados é á locateContratosTotal.php. Nele, foi modificada a função MontaQuery de acordo com o excerto de código exibido abaixo:

if ($Agrupamento == "16"){//Território // query cartograma $theme = ""; $Titulo = "Territórios";

$tblEspacial = " left outer join adg_municipio_regionalizacao mun_reg ON mun_reg.muni_cd_municipio = mun.mun_idibge". " inner join adg_territorio_identidade ter ON mun_reg.teid_cd_territorio = ter.adg_teid_id ";

$sqlSelect = "select adg_teid_nome "; $gp_order_by = " group by adg_teid_id,adg_teid_nome order by to_ascii(adg_teid_nome,'LATIN1') ";

}else if ($Agrupamento == "17"){//RDS // query cartograma $theme = ""; $Titulo = "RDS"; $sqlSelect = "select rds_nome ";

$tblEspacial = " left outer join adg_municipio_regionalizacao mun_reg ON mun_reg.muni_cd_municipio = mun.mun_idibge".

" inner join adg_rds rds ON rds.rds_id = mun_reg.adg_rds_fk "; $gp_order_by = " group by rds_id,rds_nome order by to_ascii(rds_nome,'LATIN1') ; } Acima, de acordo com o código, é montada a consulta correspondente aos dados a serem

exibidos. Além do método citado, também foram alterados os métodos findOrderByAgroup, que determina qual coluna será utilizada na ordenação dos dados das consultas, como pode ser visto abaixo:

case "Territórios": $name_Order = "to_ascii(adg_teid_nome,'LATIN1')";

break; case "RDS": $name_Order = "to_ascii(rds_nome,'LATIN1')";

break;

19

Governo do Estado da Bahia

Secretaria de Desenvolvimento Urbano Av. Tancredo Neves, 450 – Ed. Suarez Trade, 34º andar - CEP 41820-020 – Salvador – Bahia – Brasil

Tel: (71) 3116-5700 – Fax: (71) 3116 5705 - site: www.sedur.ba.gov.br

E, também, o método findLabelByAgroups que tem por função estabelacer o nome da coluna de Agrupamento a ser exibida na grid de interface, como é ilustrado a seguir:

1.3 Novo Filtro Outra modificação implantada foi a criação de um novo filtro para a pesquisa de contratos.

Esse filtro de tomador foi adicionado à tela frmSimples, como é ilustrado abaixo:

Para o funcionamento do filtro é necessário, inicialmente, modificar o script frmSimples php, adicionando o combo e um hidden field, que irá conter o código escolhido. O trecho de adição od combo pode ser visto abaixo: <select id="cmbTomador" style="width:380px;" class="SELECT" size="1" onChange="Lista_Sit_Tomador();"> <? echo Carrega_Lista_Tomador($objConexao); ?> </select>

Como pode ser observado, esse trecho chama duas outras funções: Lista_Sit_Tomador e CarregaListaTomador. A primeira função é um javascript, inserida no arquivo /js/frmSimples.js, que captura o tomador escolhido e o armazena ao campo hidden adicionado ao formulário. A função Carrega_Lista_Tomador foi adicionada ao arquivo /lib/frmSimples.php e executa a query que retorna os dados que irão preencher o combo.

A próxima página do fluxo de consulta a ser executada é a página locateContratosPainel.php. Essa página, basicamente, formata o layout exibido e inclui os scripts que montam a tabela de dados exibida. Esses scripts são locateContratosTotal.php e locateContratosAvancado.php. Para cada um deles, o novo valor do novo filtro deve ser passado na querystring que chama página, de forma que a nova condição seja anexada à consulta montada. No arquivo e locateContratosAvancado.php, foi modificada a função Monta_Query, a fim de incorporar o tomador ao sql do banco, como é ilustrado no trecho abaixo:

//Inserção do filtro por tomador, caso tenha sido escolhido if ($Tomador_ != ""){

$sqlNotEmp .= "left join ctm_contratotomador ctm using(con_numcontrato) INNER JOIN tom_tomador tom USING (tom_idtomador) "; if($entrouNota == true){

$sqlNotEmpAux .= " and tom.tom_idtomador ".$Tomador_. " "; }else{

$sqlNotEmpAux .= " where tom.tom_idtomador ".$Tomador_. " "; } }

As mesmas modificações devem ser implementadas no script locateContratosTotal.php.

top related