package gcom.gui.cadastro; import gcom.cadastro.imovel.CadastroOcorrencia; import gcom.cadastro.imovel.EloAnormalidade; import gcom.cadastro.imovel.FiltroCadastroOcorrencia; import gcom.cadastro.imovel.FiltroEloAnormalidade; import gcom.cadastro.imovel.FiltroImovelCadastroOcorrencia; import gcom.cadastro.imovel.FiltroImovelEloAnormalidade; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.imovel.ImovelCadastroOcorrencia; import gcom.cadastro.imovel.ImovelEloAnormalidade; import gcom.cadastro.imovel.bean.ImovelDadosGeraisHelper; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.commons.fileupload.DiskFileUpload; import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Exibe o caso de uso [UC0491] Informar Ocorr�ncia de Cadastro e/ou Anormalidade de Elo * * @author Tiago Moreno * @date 20/11/2006 */ public class ExibirInformarOcorrenciaCadastroAnormalidadeEloAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirInformarOcorrenciaCadastroAnormalidadeElo"); Fachada fachada = Fachada.getInstancia(); //Mudar Isso Quando Tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); String idDigitadoEnterImovel = null; Collection ocorrenciaRemovidas = new ArrayList(); Collection anormalidadesRemovidas = new ArrayList(); //essa rotina recupera os dados da Jsp inicial sem usar ActionForm if (httpServletRequest.getParameter("objetoConsulta") != null) { try { DiskFileUpload upload = new DiskFileUpload(); //Parse the Request List items = upload.parseRequest(httpServletRequest); if (items != null) { FileItem item = null; //Pega uma Lista de Itens do Form Iterator iter = items.iterator(); while (iter.hasNext()) { item = (FileItem) iter.next(); if (item.getFieldName().equals("idImovel")) { idDigitadoEnterImovel = item.getString(); } } } } catch (FileUploadException e) { throw new ActionServletException("erro.sistema", e); } } //Instaciando o Objeto Imovel Imovel imovel = new Imovel(); if(idDigitadoEnterImovel == null || idDigitadoEnterImovel.trim().equals("")){ idDigitadoEnterImovel = httpServletRequest.getParameter("idImovel"); } if (idDigitadoEnterImovel != null && !idDigitadoEnterImovel.equalsIgnoreCase("")){ //Recuperando os dados do imovel imovel = (Imovel) fachada.pesquisarImovelDigitado(new Integer (idDigitadoEnterImovel)); if (imovel != null && !imovel.equals("")){ //Recuperando a Inscricao do Imovel Formatada String matriculaImovel = fachada.pesquisarInscricaoImovel(new Integer (idDigitadoEnterImovel)); //Recuperando o Endereco do imovel Formatado String enderecoImovel = fachada.pesquisarEndereco(new Integer (idDigitadoEnterImovel)); //recuperando a situacao de agua do imovel String situacaoAgua = imovel.getLigacaoAguaSituacao().getDescricao(); //recuperando a situacao de esgoto do imovel String situacaoEsgoto = imovel.getLigacaoEsgotoSituacao().getDescricao(); //Setando no Objeto Helper dos Valores a Serem Recuperados na JSP ImovelDadosGeraisHelper imovelDadosGeraisHelper = new ImovelDadosGeraisHelper (new Integer (idDigitadoEnterImovel), matriculaImovel, enderecoImovel, situacaoAgua, situacaoEsgoto); //Enviando o Objeto Helper Via Request httpServletRequest.setAttribute("imovel", imovelDadosGeraisHelper); /** * Alterado por Arthur Carvalho * @date 28/12/2009 */ //Fluxo necessario no reload da pesquisa do imovel if ( httpServletRequest.getParameter("objetoConsulta") != null && httpServletRequest.getParameter("objetoConsulta").equals("1") ) { //resgatando as ocorrencias de cadastro do imovel digitado FiltroImovelCadastroOcorrencia filtroImovelCadastroOcorrencia = new FiltroImovelCadastroOcorrencia(); filtroImovelCadastroOcorrencia.adicionarParametro( new ParametroSimples(FiltroImovelCadastroOcorrencia.IMOVEL_ID, idDigitadoEnterImovel)); filtroImovelCadastroOcorrencia.setCampoOrderBy(FiltroImovelCadastroOcorrencia.DATA_OCORRENCIA); filtroImovelCadastroOcorrencia.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroImovelCadastroOcorrencia.adicionarCaminhoParaCarregamentoEntidade("cadastroOcorrencia"); Collection colecaoImovelCadastroOcorrencia = fachada.pesquisar( filtroImovelCadastroOcorrencia, ImovelCadastroOcorrencia.class.getName()); //setando no request sessao.setAttribute("cadastroOcorrencia", colecaoImovelCadastroOcorrencia); //resgatando as anormalidades de elo do imovel digitado FiltroImovelEloAnormalidade filtroImovelEloAnormalidade = new FiltroImovelEloAnormalidade(); filtroImovelEloAnormalidade.adicionarParametro( new ParametroSimples(FiltroImovelEloAnormalidade.IMOVEL_ID, idDigitadoEnterImovel)); filtroImovelEloAnormalidade.setCampoOrderBy(FiltroImovelEloAnormalidade.DATA_ANORMALIDADE); filtroImovelEloAnormalidade.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroImovelEloAnormalidade.adicionarCaminhoParaCarregamentoEntidade("eloAnormalidade"); Collection colecaoImovelEloAnormalidade = fachada.pesquisar( filtroImovelEloAnormalidade, ImovelEloAnormalidade.class.getName()); //setando no request sessao.setAttribute("eloAnormalidade", colecaoImovelEloAnormalidade); } else { //Fluxo necessario no reload para remo��o da ocorrencia/anormalidade do imovel. //Remove Imovel Ocorrencia ArrayList colecaoImovelCadastroOcorrencia = (ArrayList) sessao.getAttribute("cadastroOcorrencia"); if ( httpServletRequest.getParameter("acao") != null && httpServletRequest.getParameter("acao").equals("remover") ){ int obj = new Integer(httpServletRequest.getParameter("id")).intValue(); if ( colecaoImovelCadastroOcorrencia.size() >= ( obj - 1) ) { if ( sessao.getAttribute("imovelCadastroOcorrenciaRemover") != null ) { ocorrenciaRemovidas = (Collection) sessao.getAttribute("imovelCadastroOcorrenciaRemover"); } ocorrenciaRemovidas.add(colecaoImovelCadastroOcorrencia.get(obj-1)); colecaoImovelCadastroOcorrencia.remove(obj-1); sessao.setAttribute("imovelCadastroOcorrenciaRemover", ocorrenciaRemovidas); } } //setando no request sessao.setAttribute("cadastroOcorrencia", colecaoImovelCadastroOcorrencia); //Remove Anormalidade Elo ArrayList colecaoImovelEloAnormalidade = (ArrayList) sessao.getAttribute("eloAnormalidade"); if (httpServletRequest.getParameter("acao") != null && httpServletRequest.getParameter("acao").equals("removerAnormalidade") ){ int objElo = new Integer(httpServletRequest.getParameter("idElo")).intValue(); if ( colecaoImovelEloAnormalidade.size() >= objElo ) { if ( sessao.getAttribute("imovelAnormalidadeRemover") != null ) { anormalidadesRemovidas = (Collection) sessao.getAttribute("imovelAnormalidadeRemover"); } anormalidadesRemovidas.add(colecaoImovelEloAnormalidade.get(objElo-1)); colecaoImovelEloAnormalidade.remove(objElo-1); sessao.setAttribute("imovelAnormalidadeRemover", anormalidadesRemovidas); } } //setando no request sessao.setAttribute("eloAnormalidade", colecaoImovelEloAnormalidade); /** * Fim da Altera��o * @author Arthur Carvalho */ } } else{ httpServletRequest.setAttribute("inexistente", "1"); } } //recuperando lista de tipos de Ocorrencias de Cadastro FiltroCadastroOcorrencia filtroCadastroOcorrencia = new FiltroCadastroOcorrencia(); Collection colecaoCadastroOcorrencia = fachada.pesquisar(filtroCadastroOcorrencia, CadastroOcorrencia.class.getName()); //recuperando lista de tipos de Anormalidades de Elo FiltroEloAnormalidade FiltroEloAnormalidade = new FiltroEloAnormalidade(); Collection colecaoEloAnormalidade = fachada.pesquisar(FiltroEloAnormalidade, EloAnormalidade.class.getName()); //setando os tipos de Ocorrencias de Cadastro na sessao para ser recuperado na jsp sessao.setAttribute("cadastro", colecaoCadastroOcorrencia); //setando tipos de Anormalidades de Elo na sessao para ser recuperado na jsp sessao.setAttribute("anormalidade", colecaoEloAnormalidade); return retorno; } }