histórico de modificações

19
Governo do Estado da Bahia Histórico de Modificações - Geosnic

Upload: igornogueirasantos

Post on 18-Jun-2015

91 views

Category:

Documents


0 download

DESCRIPTION

Histórico de Modificações Geosnoc- Bahia

TRANSCRIPT

Page 1: Histórico de Modificações

Governo do Estado da Bahia

Histórico de Modificações - Geosnic

Page 2: Histórico de Modificações

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

Page 3: Histórico de Modificações

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

Page 4: Histórico de Modificações

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.

Page 5: Histórico de Modificações

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)

Page 6: Histórico de Modificações

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.

Page 7: Histórico de Modificações

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:

Page 8: Histórico de Modificações

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:

Page 9: Histórico de Modificaçõ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;

Page 10: Histórico de Modificações

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’ "

Page 11: Histórico de Modificações

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.

Page 12: Histórico de Modificações

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:

Page 13: Histórico de Modificações

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:

Page 14: Histórico de Modificações

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:

Page 15: Histórico de Modificações

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.

Page 16: Histórico de Modificações

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:

Page 17: Histórico de Modificações

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.

Page 18: Histórico de Modificações

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;

Page 19: Histórico de Modificações

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.