package gcom.gui.micromedicao.hidrometro; import gcom.cadastro.imovel.FiltroImovel; import gcom.cadastro.imovel.Imovel; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.hidrometro.FiltroHidrometro; import gcom.micromedicao.hidrometro.FiltroHidrometroInstalacaoHistorico; import gcom.micromedicao.hidrometro.Hidrometro; import gcom.micromedicao.hidrometro.HidrometroInstalacaoHistorico; import gcom.util.filtro.FiltroParametro; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * < <Descri��o da Classe>> * * @author Administrador */ public class ConsultarHistoricoInstalacaoHidrometroAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta a a��o de retorno ActionForward retorno = null; ConsultarHistoricoInstalacaoHidrometroActionForm form = (ConsultarHistoricoInstalacaoHidrometroActionForm) actionForm; //Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); String codigoImovel = null; if(httpServletRequest.getParameter("codigoImovel")!=null){ codigoImovel = httpServletRequest.getParameter("codigoImovel"); }else{ if (form != null) { codigoImovel = form.getCodigoImovel(); } } String codigoHidrometro = null; if(httpServletRequest.getParameter("codigoHidrometro")!=null){ codigoHidrometro = httpServletRequest .getParameter("codigoHidrometro"); }else{ if (form != null) { codigoHidrometro =form.getCodigoHidrometro(); } } // Verifica se o usu�rio digitou os dois c�digos if ((codigoImovel != null && !codigoImovel.equals("")) && (codigoHidrometro != null && !codigoHidrometro.equals(""))) { throw new ActionServletException( "atencao.verificar.informado.imovel_hidrometro.ambos"); } // Verifica se o usu�rio n�o digitou c�digo if ((codigoImovel != null && codigoImovel.equals("")) && (codigoHidrometro != null && codigoHidrometro.equals(""))) { throw new ActionServletException( "atencao.verificar.informado.imovel_hidrometro"); } // Obt�m a facahda Fachada fachada = Fachada.getInstancia(); if (codigoImovel != null && !codigoImovel.trim().equals("")) { codigoImovel = codigoImovel.trim(); // Seta o retorno para a p�gina que vai detalhar o imovel retorno = actionMapping.findForward("consultarImovel"); // Pesquisa o imovel na base FiltroImovel filtroImovel = new FiltroImovel(); filtroImovel .adicionarParametro(new ParametroSimples(FiltroImovel.ID, codigoImovel, FiltroParametro.CONECTOR_OR)); filtroImovel.adicionarParametro(new ParametroSimples( FiltroImovel.LIGACAO_AGUA_ID, codigoImovel)); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("setorComercial.municipio.unidadeFederacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("quadra"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.cep"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTipo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTitulo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("enderecoReferencia"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoAguaSituacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("ligacaoEsgotoSituacao"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("logradouroBairro.bairro.municipio.unidadeFederacao"); /** * @author Adriana Muniz * @data 17/07/2013 * * Adi��o dos filtros para perimetro inicial e perimetro final do endere�o do im�vel */ filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroInicial.logradouroTipo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroInicial.logradouroTitulo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroFinal.logradouroTipo"); filtroImovel.adicionarCaminhoParaCarregamentoEntidade("perimetroFinal.logradouroTitulo"); Collection<Imovel> imovelPesquisado = fachada.pesquisar( filtroImovel, Imovel.class.getName()); // obtem o imovel pesquisado if (imovelPesquisado != null && !imovelPesquisado.isEmpty()) { Imovel imovel = imovelPesquisado.iterator().next(); // Manda o Imovel pelo request httpServletRequest.setAttribute("imovel", imovel); // Faz uma busca do historico de instalacao do hidrometro para // mostrar na pagina FiltroHidrometroInstalacaoHistorico filtroHidrometroInstalacaoHistorico = new FiltroHidrometroInstalacaoHistorico(); if (imovel.getLigacaoAgua() != null) { filtroHidrometroInstalacaoHistorico .adicionarParametro(new ParametroSimples( FiltroHidrometroInstalacaoHistorico.IMOVEL_ID, imovel.getId(), FiltroParametro.CONECTOR_OR)); filtroHidrometroInstalacaoHistorico .adicionarParametro(new ParametroSimples( FiltroHidrometroInstalacaoHistorico.LIGACAO_AGUA_ID, imovel.getLigacaoAgua().getId())); } else { filtroHidrometroInstalacaoHistorico .adicionarParametro(new ParametroSimples( FiltroHidrometroInstalacaoHistorico.IMOVEL_ID, imovel.getId())); } filtroHidrometroInstalacaoHistorico.adicionarCaminhoParaCarregamentoEntidade("medicaoTipo"); filtroHidrometroInstalacaoHistorico.adicionarCaminhoParaCarregamentoEntidade("hidrometroLocalInstalacao"); filtroHidrometroInstalacaoHistorico.adicionarCaminhoParaCarregamentoEntidade("hidrometroProtecao"); filtroHidrometroInstalacaoHistorico.adicionarCaminhoParaCarregamentoEntidade("hidrometro"); Collection<HidrometroInstalacaoHistorico> hidrometrosInstalacaoHistorico = fachada .pesquisar(filtroHidrometroInstalacaoHistorico, HidrometroInstalacaoHistorico.class.getName()); // Manda a colecao do historico de instalacao do hidrometro para // a pagina httpServletRequest.setAttribute( "hidrometrosInstalacaoHistorico", hidrometrosInstalacaoHistorico); //((HidrometroInstalacaoHistorico) hidrometrosInstalacaoHistorico.iterator().next()).getHidrometro().getNumero(); //((HidrometroInstalacaoHistorico) hidrometrosInstalacaoHistorico.iterator().next()).getHidrometro().getId(); sessao.setAttribute("codigoImovel",codigoImovel); sessao.setAttribute("codigoHidrometro",""); } // Se nenhum imovel for encontrado a mensagem � enviada para a // p�gina if (imovelPesquisado != null && imovelPesquisado.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Matr�cula"); } } if (codigoHidrometro != null && !codigoHidrometro.trim().equals("")) { codigoHidrometro = codigoHidrometro.trim(); codigoHidrometro = codigoHidrometro.toUpperCase(); // Seta o retorno para a p�gina que vai detalhar o hidrometro retorno = actionMapping.findForward("consultarHidrometro"); // Pesquisa o hidrometro na base FiltroHidrometro filtroHidrometro = new FiltroHidrometro(); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroMarca"); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroSituacao"); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroMotivoBaixa"); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroClasseMetrologica"); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroDiametro"); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroCapacidade"); filtroHidrometro .adicionarCaminhoParaCarregamentoEntidade("hidrometroTipo"); filtroHidrometro.adicionarParametro(new ParametroSimples( FiltroHidrometro.NUMERO_HIDROMETRO, codigoHidrometro)); Collection<Hidrometro> hidrometroPesquisado = fachada.pesquisar( filtroHidrometro, Hidrometro.class.getName()); // Se nenhum hidrometro for encontrado a mensagem � enviada para a // p�gina if (hidrometroPesquisado != null && hidrometroPesquisado.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Hidr�metro"); } // obtem o hidrometro pesquisado if (hidrometroPesquisado != null && !hidrometroPesquisado.isEmpty()) { Hidrometro hidrometro = hidrometroPesquisado.iterator().next(); // Manda o Hidrometro pelo request httpServletRequest.setAttribute("hidrometro", hidrometro); // Faz uma busca do historico de instalacao do hidrometro para // mostrar na pagina FiltroHidrometroInstalacaoHistorico filtroHidrometroInstalacaoHistorico = new FiltroHidrometroInstalacaoHistorico(); filtroHidrometroInstalacaoHistorico .adicionarParametro(new ParametroSimples( FiltroHidrometroInstalacaoHistorico.HIDROMETRO_ID, hidrometro.getId())); filtroHidrometroInstalacaoHistorico .adicionarCaminhoParaCarregamentoEntidade("medicaoTipo"); filtroHidrometroInstalacaoHistorico .adicionarCaminhoParaCarregamentoEntidade("hidrometroLocalInstalacao"); filtroHidrometroInstalacaoHistorico .adicionarCaminhoParaCarregamentoEntidade("hidrometroProtecao"); Collection<HidrometroInstalacaoHistorico> hidrometrosInstalacaoHistorico = fachada .pesquisar(filtroHidrometroInstalacaoHistorico, HidrometroInstalacaoHistorico.class.getName()); // Manda a colecao do historico de instalacao do hidrometro para // a pagina httpServletRequest.setAttribute( "hidrometrosInstalacaoHistorico", hidrometrosInstalacaoHistorico); sessao.setAttribute("codigoHidrometro",codigoHidrometro); sessao.setAttribute("codigoImovel",""); /** [MA2011061011] * Autor: Paulo Diniz * Data: 12/06/2011 * Inclusão do campo Data da Última Movimentação **/ Date dataHidrometroMovimentado = fachada.pesquisarMaiorDataHidrometroMovimentado(hidrometro.getId()); if(dataHidrometroMovimentado != null){ httpServletRequest.setAttribute( "dataHidrometroMovimentacao", dataHidrometroMovimentado); } } } return retorno; } }