Implementação de Mapa de Requerimentos no SAPL 2.5 O Mapa

Propaganda
Implementação de Mapa de Requerimentos no SAPL 2.5
O Mapa de Requerimentos fui uma implementação realizada na Câmara Municipal de
Jataí. Não foi compartilhada diretamente no Colab por exigir alteração em Banco de Dados.
Devido o interesse manifestado por outra casa legislativa em utilizar a funcionalidade,
este documento foi desenvolvido com a finalidade de se compartilhar a ideia para implementação
particular.
O Mapa de Requerimentos (MR) utiliza a API Javascript do Google Maps com base nas
latitudes e longitudes associadas aos requerimentos registrados no SAPL. A Câmara Municipal de
Jataí (CMJ) realiza esse procedimento apenas para Requerimentos, porém, a partir de uma pesquisa
qualquer matéria legislativa pode ser apontada a partir da pesquisa.
Lembra-se ainda que para implementação do MR, o interessado deve ter acesso ao
código de sua instância SAPL.
Todos os códigos citados e com figuras demostrativas podem ser baixados, do servidor
da CMJ em... [http://www.camarajatai.go.gov.br/mr.zip]. No entanto, não utilize o arquivo de forma
integral, atente apenas às alterações citadas nas figuras deste documento, pois podem haver outras
alterações particulares alteradas pela CMJ ou, se seu código é oficial, outras alterações feitas por
outros usuários.
O restante deste documento apresenta as alterações de código e, quando couber, as
possibilidades geradas.
1.
2.
3.
4.
5.
Latitude e Longitude da Casa Legislativa
Banco de Dados
Consulta
Alteração e Inclusão
Mapa de Requerimentos
1. Latitude e Longitude da Casa Legislativa
Para que o MR seja iniciado com o foco em sua cidade é necessário fazer um
levantamento inicial das Coordenadas de Latitude e Longitude (CLL) da cidade que o
implementará. Para uma melhor exatidão dessa informação, tanto para o marco zero quanto para os
requerimentos, a CMJ utiliza sempre a CLL com precisão de seis casas decimais.
O primeiro passo, portanto é descobrir o CLL de sua cidade.
Como exemplo, o CLL de Jataí é:
Latitude: -17.885295
Longitude: -51.720401
Observe que os números estão com o ponto como divisão decimal e, assim deve ser.
Para que estes dados possam ser utilizados e não sejam inseridos de forma estática no
código do MR, a sua edição/armazenamento foi adicionada nas (Tabelas Auxiliares – Casas
Legislativas). Esta alteração no SAPL para armazenamento da CLL da cidade é diferente da
alteração para armazenamento da CLL para as matérias legislativas, sendo que, a primeira, é feita
na ZMI, e será discutida nessa seção e, a segunda, que é discutida na seção 2.
•
Armazenamento da CLL da cidade
Pois bem, os dados registrados em (Tabelas Auxiliares – Casas Legislativas) são
configurados na ZMI a partir do objeto que representa seu SAPL.
Acesse em sua ZMI /sapl_documentos/props_sapl e clique na aba Properties
Nota: Se você tem acesso ao Root Folder da ZMI então, possivelmente, o link acima
deverá ser iniciado dentro a partir do objeto sapl, ou seja, o link terá prefixo “/sapl”.
Você verá que os dados de (Tabelas Auxiliares – Casas Legislativas) estão
armazenados nessa tela. Adicione, no final dessa tela, outros dois campos do tipo string, chamados:
i) txt_latitude ii) txt_longitude. Neste instante você já pode adicionar a CLL, porém, o poderá fazer
também na interface web do SAPL. Ficará semelhante a figura abaixo.
•
Edição da CLL da cidade na interface do SAPL.
Para que se possa fazer alterações na CLL da cidade através do SAPL é necessário
alterar o arquivo
/cadastros/auxiliares/casa_legislativa/casa_legislativa_form.dtml
•
Guardar alteração da CLL da cidade na interface do SAPL.
Ao Clicar no botão [Salvar] o arquivo abaixo é chamado. As alterações feitas nele estão
na imagem abaixo.
/cadastros/auxiliares/casa_legislativa/casa_legislativa_salvar_proc.dtml
2. Banco de Dados
A CLL para as matérias legislativas, diferentemente da de cidade, devem ser guardadas
no banco de dados interlegis... pra realizar essa alteração na base de dados, deve existir apenas uma
alteração na tabela materia_legislativa que pode ser feita através do sql abaixo:
ALTER TABLE `materia_legislativa`
ADD `txt_latitude` `txt_latitude` VARCHAR( 15 )
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
ADD `txt_longitude` `txt_longitude` VARCHAR( 15 )
CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL
Além da alteração na base, existem alguns arquivos zsql que devem ser alterados, são
eles:
skins/sk_sapl/zsql/materia_incluir_zsql.zsql
skins/sk_sapl/zsql/materia_obter_zsql.zsql
skins/sk_sapl/zsql/materia_pesquisar_zsql.zsql
skins/sk_sapl/zsql/materia_atualizar_zsql.zsql
em todos esses arquivos existe apenas a adição necessária para tratamento dos dois
novos campos.
3. Consulta
A consulta do MR (/generico/materia_pesquisar_maps) funciona exatamente
como a consulta feita pela Pesquisa Básica de Matéria Legislativa
(/generico/materia_pesquisar_proc). Diferenciando-se pelo fato que na versão “maps” não
existe paginação.
Em uma pesquisa já feita, o mapa pode ser mostrado simplesmente trocando “proc” por
“maps”, porém, serão criados pontos para aquelas matérias que tiverem armazenada a CLL. Neste
sentido, não se trata apenas de um MR, mas um mapa que pode ser para qualquer matéria
legislativa.
Na CMJ é que foi apenas criado um item no menu lateral chamado MR e passado em
seu link uma pesquisa por tipo Requerimento que, inclusive, depende do código que pode, e
possivelmente é, diferente em várias casas legislativas. Como o link MR foi criado será tratado na
seção 5.
Na CMJ, além de ter sido criado o link no menu lateral MR, ocorreu também uma
alteração no arquivo (/generico/materia_pesquisar_proc) afim de incluir duas
características:
1) todo documento que aparece nos resultados e tem CLL aparece ao lado de seu título a
imagem abaixo
2) além disso a versão maps da pesquisa atual pode ser visualizada ao clicar no link,
indicado pela mesma imagem acima, posicionado no canto direito superior, ao lado da Assinatura
de RSS
Na figura abaixo pode ser observado essas duas características.
•
Alteração de código em (/generico/materia_pesquisar_proc)
Este arquivo está disponibilizado também mas existem diversas alterações em relação
ao oficial. Seu uso completo não é recomendado sem conhecimento das outras partes. Se das
alterações citadas acima, tem-se respectivamente aos itens abordados:
1) imagem que informa que o documento possui CLL.
Inserido no início da construção do item da listagem.
<dtml-if expr="txt_latitude != ''">
<img align="absmiddle"
src="&dtml-portal_url;/imagens/img_mapa.jpg"
alt="Icone do Mapa"
title="Proposição possui cadastro de georreferenciamento"
style="width: 16px;"/>
</dtml-if>
2) O link geral. A figura abaixo mostra a inserção de código feita logo após o RSS que
cria o link citado no item (2) anterior:
<a style="float:right;" href="&dtml-portal_url;/generico/materia_pesquisar_maps?<dtml-var
"REQUEST.get('QUERY_STRING','')">">
<img src="&dtml-portal_url;/imagens/img_mapa.jpg" style="height: 20px;"/>
</a>
A imagem chamada na tag <img> também está no material que citado neste tutorial.
4. Alteração e Inclusão
A possibilidade de o usuário registrar a CLL é feita na alteração e inclusão. Três
arquivos devem ser alterados com esse fim:
skins/sk_sapl/cadastros/materia/materia_form_resumido.dtml
skins/sk_sapl/cadastros/materia/materia_form.dtml
skins/sk_sapl/cadastros/materia/materia_salvar_proc.dtml
Estes três arquivos estão disponíveis e suas diferenças com relação aos oficiais se
restringem a inclusão dos novos campos.
5. Mapa de Requerimentos
•
Item de Menu
Apesar de o código (/generico/materia_pesquisar_maps) e todas alterações
contemplar qualquer matéria legislativa, a CMJ alimenta com CLL apenas os requerimentos.
Para oferecer esta consulta basta inserir um item no menu lateral, no arquivo
skins/sk_sapl/standard_html_lateral
código do item:
<li><a href="&dtml-portal_url;/generico/materia_pesquisar_maps?
incluir=0&existe_ocorrencia=0&lst_tip_materia=3&txt_numero=&txt_ano=&txt_npc=&txt_num_protocolo=&dt_apres=&dt_apr
es2=&dt_public=&dt_public2=&hdn_txt_autor=&hdn_cod_autor=&lst_tip_autor=&lst_cod_partido=&txt_relator=&txt_assunto
=&rad_tramitando=&lst_localizacao=&lst_status=&rd_ordenacao=1&rd_ordem_td=1&chk_coautor=&btn_materia_pesquisar=Pes
quisar">Mapa de Requerimentos</a></li>
Observe que nosso tipo de matéria Requerimento tem identificador 3, o que pode ser
diferente em cada casa legislativa.
•
O mapa gerado pelo código (/generico/materia_pesquisar_maps)
O código gera um mapa básico implementando a API Javascript do Google Maps. Além
disso constrói um menu lateral com os autores parlamentares ativos.
O mapa é apresentado na versão de usuário anônimo e na versão usuário logado, sendo
que a diferença entre eles é o auxílio para a captura da CLL.
A versão usuário logado é acessível apenas via URL, ou clicando no link lateral direito
da tela de pesquisa, citado na seção 3. Nesta forma não aparecem pontos, sendo, pois, apenas o
mapa. Útil para captura de ponto através de cliques no mapa... a cada clique os dois números no
topo da imagem e são alterados e referem-se a CLL, sendo respectivamente latitude e longitude.
A versão usuário anônimo apresenta os pontos referentes a pesquisa, seja sendo filtrado
por autores parlamentares, o toda a base de dados seguindo o link do MR, acima customizado.
Toda a base registrada da CMJ:
Aplicação para o centro da cidade:
Um clique em uma marcação, sendo que clicar no título do caixa, leva de volta para o
SAPL na tela de consulta da matéria legislativa:
Agradeço o interesse do Juliano Rafael Bringer Nunes de Domingos Martins-ES que
pediu compartilhamento deste implementação.
Produzi este documento bem corrido, vão desculpando aí as falhas...
qualquer dúvida... pode entrar em contato...
==============================
Leandro Roberto - (64) 9995-3850
Câmara Municipal de Jataí - (64) 3636-0816
Departamento de Tecnologia de Informação e Comunicação
http://www.camarajatai.go.gov.
Download