package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.ImovelAtualizacaoCadastral; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Rota; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.List; 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; public class ExibirFiltrarImovelAtualizacaoCadastralDispositivoMovelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o retorno ActionForward retorno = actionMapping .findForward("exibirFiltrarImovelAtualizacaoCadastralDispositivoMovel"); //Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); //Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form = (GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm) actionForm; String idLocalidade = null; String codigoSetorComercial = null; String numeroQuadraInicial = null; String numeroQuadraFinal = null; idLocalidade = (String) form.getLocalidade(); codigoSetorComercial = (String) form.getSetorComercialCD(); numeroQuadraInicial = (String) form.getQuadraInicial(); numeroQuadraFinal = (String) form.getQuadraFinal(); String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")){ switch (Integer.parseInt(objetoConsulta)) { // Localidade case 1: this.pesquisarLocalidade(idLocalidade,form,fachada,httpServletRequest); break; // Setor Comercial case 2: this.pesquisarSetorComercial( idLocalidade,codigoSetorComercial,form,fachada,httpServletRequest); break; // Quadra Inicial case 3: this.pesquisarQuadraInicial(numeroQuadraInicial,codigoSetorComercial,idLocalidade,form,fachada,httpServletRequest); break; // Quadra Final case 4: if(new Integer(numeroQuadraInicial) > new Integer(numeroQuadraFinal)){ form.setQuadraFinal(""); form.setIdQuadraFinal(null); httpServletRequest.setAttribute( "codigoQuadraFinalNaoEncontrada", "true"); httpServletRequest.setAttribute("msgQuadra", "QUADRA FINAL MENOR QUE INICIAL"); }else{ this.pesquisarQuadraFinal(numeroQuadraFinal,codigoSetorComercial,idLocalidade,form,fachada,httpServletRequest); } break; //Rota case 5: this.pesquisarRota(form, fachada, httpServletRequest, form.getSetorComercialID()); break; //Im�vel case 6: this.pesquisarImovel(httpServletRequest, fachada, form); default: break; } } if (form.getIdRota() != null && !form.getIdRota().trim().equals("")) { FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarParametro(new ParametroSimples(FiltroRota.ID_ROTA, form.getIdRota())); Collection colecaoRota = fachada.pesquisar(filtroRota, Rota.class.getName()); if (colecaoRota != null && !colecaoRota.isEmpty()) { Rota rota = (Rota) Util.retonarObjetoDeColecao(colecaoRota); form.setCodigoRota(rota.getCodigo().toString()); } } Collection colecaoImovel = (Collection)sessao.getAttribute("colecaoImovel"); //Adicionar Im�vel String adicionarImovel = (String) httpServletRequest.getParameter("adicionarImovel"); if (adicionarImovel != null && !adicionarImovel.trim().equalsIgnoreCase("")){ //Usu�rio logado Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); ImovelAtualizacaoCadastral imovel = fachada.pesquisarImovelAtualizacaoCadastralInscricao(new Integer(form.getIdImovel().trim()), usuario.getEmpresa().getId()); if(imovel != null && !imovel.equals("")){ colecaoImovel = (Collection)sessao.getAttribute("colecaoImovel"); if(colecaoImovel == null || colecaoImovel.isEmpty()){ colecaoImovel = new ArrayList(); }else{ if(colecaoImovel.contains(imovel)){ throw new ActionServletException( "atencao.imovel_ja_incluido", null, form.getIdImovel()); } } colecaoImovel.add(imovel); sessao.setAttribute("colecaoImovel",colecaoImovel); httpServletRequest.setAttribute("existeColecaoImovel","Sim"); form.setIdImovel(""); form.setInscricaoImovel(""); }else{ form.setIdImovel(""); form.setInscricaoImovel("Im�vel Indispon�vel"); httpServletRequest.setAttribute("existeImovel","exception"); } } //Remover Im�vel if(httpServletRequest.getParameter("idImovelRemover") != null){ Integer idImovelRemover = new Integer(httpServletRequest.getParameter("idImovelRemover")); colecaoImovel = (Collection)sessao.getAttribute("colecaoImovel"); if(colecaoImovel != null && !colecaoImovel.isEmpty()){ ImovelAtualizacaoCadastral imovel = new ImovelAtualizacaoCadastral(); imovel.setIdImovel(idImovelRemover); colecaoImovel.remove(imovel); if(colecaoImovel != null && !colecaoImovel.isEmpty()){ sessao.setAttribute("colecaoImovel", colecaoImovel); httpServletRequest.setAttribute("existeColecaoImovel","Sim"); } } } if(colecaoImovel != null && !colecaoImovel.isEmpty()){ httpServletRequest.setAttribute("existeColecaoImovel","Sim"); } return retorno; } /** * Pesquisar Im�vel * @param httpServletRequest * @param fachada * @param filtrarImovelAtualizacaoCadastralDispositivoMovelActionForm */ private void pesquisarImovel(HttpServletRequest httpServletRequest, Fachada fachada, GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form) { String imovelEncontrado = fachada.pesquisarInscricaoImovel(new Integer(form.getIdImovel())); if (imovelEncontrado != null && !imovelEncontrado.equalsIgnoreCase("")) { // O imovel foi encontrado form.setIdImovel(form.getIdImovel()); form.setInscricaoImovel(imovelEncontrado); } else { form.setIdImovel(""); form.setInscricaoImovel(ConstantesSistema.CODIGO_IMOVEL_INEXISTENTE); httpServletRequest.setAttribute("existeImovel","exception"); } } /** * Pesquisar Localidade * @param filtroLocalidade * @param idLocalidade * @param localidades * @param filtrarImovelAtualizacaoCadastralDispositivoMovelActionForm * @param fachada * @param httpServletRequest */ public void pesquisarLocalidade( String idLocalidade, GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); // coloca parametro no filtro filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, new Integer(idLocalidade))); // pesquisa Collection localidades = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (localidades != null && !localidades.isEmpty()) { form.setLocalidade(((Localidade) ((List) localidades).get(0)).getId().toString()); form.setNomeLocalidade(((Localidade) ((List) localidades).get(0)).getDescricao()); httpServletRequest.setAttribute("localidadeNaoEncontrada","true"); httpServletRequest.setAttribute("nomeCampo","setorComercialCD"); } else { form.setLocalidade(""); form.setNomeLocalidade("Localidade inexistente"); httpServletRequest.setAttribute("localidadeNaoEncontrada","exception"); httpServletRequest.setAttribute("nomeCampo", "localidade"); } } /** * Pesquisar Setor Comercial * @param filtroSetorComercial * @param idLocalidadeFiltroFiltro * @param codigoSetorComercial * @param setorComerciais * @param filtrarImovelAtualizacaoCadastralDispositivoMovelActionForm * @param fachada * @param httpServletRequest */ public void pesquisarSetorComercial( String idLocalidadeFiltroFiltro, String codigoSetorComercial, GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); if (idLocalidadeFiltroFiltro != null && !idLocalidadeFiltroFiltro.toString().trim().equalsIgnoreCase("")) { // coloca parametro no filtro filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, new Integer( idLocalidadeFiltroFiltro))); } filtroSetorComercial.adicionarCaminhoParaCarregamentoEntidade("municipio"); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, new Integer( codigoSetorComercial))); // pesquisa Collection setorComerciais = fachada.pesquisar( filtroSetorComercial, SetorComercial.class.getName()); if (setorComerciais != null && !setorComerciais.isEmpty()) { form.setSetorComercialID("" + ((SetorComercial) ((List) setorComerciais).get(0)) .getId()); form.setSetorComercialCD("" + ((SetorComercial) ((List) setorComerciais).get(0)) .getCodigo()); form.setNomeSetorComercial( ((SetorComercial) ((List) setorComerciais).get(0)) .getDescricao()); httpServletRequest.setAttribute("setorComercialNaoEncontrada", "true"); httpServletRequest.setAttribute("nomeCampo", "quadraInicial"); } else { form.setSetorComercialCD( ""); form.setNomeSetorComercial("Setor comercial inexistente"); httpServletRequest.setAttribute("setorComercialNaoEncontrada", "exception"); httpServletRequest.setAttribute("nomeCampo","setorComercialCD"); } } /** * Pesquisar Quadra Inicial * * @param filtroQuadra * @param numeroQuadra * @param codigoSetorComercial * @param quadras * @param GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm * @param fachada * @param httpServletRequest */ public void pesquisarQuadraInicial(String numeroQuadra, String codigoSetorComercial, String idLocalidadeFiltroFiltro, GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroQuadra filtroQuadra = new FiltroQuadra(); if (idLocalidadeFiltroFiltro != null && !idLocalidadeFiltroFiltro.toString().trim().equalsIgnoreCase("")) { // coloca parametro no filtro filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer(idLocalidadeFiltroFiltro))); } if (codigoSetorComercial != null && !codigoSetorComercial.toString().trim().equalsIgnoreCase("")) { // coloca parametro no filtro filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, new Integer(codigoSetorComercial))); } filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, new Integer(numeroQuadra))); // pesquisa Collection quadras = fachada.pesquisar(filtroQuadra, Quadra.class .getName()); if (quadras != null && !quadras.isEmpty()) { // O cliente foi encontrado form.setQuadraInicial("" + ((Quadra) ((List) quadras).get(0)).getNumeroQuadra()); form.setIdQuadraInicial("" + ((Quadra) ((List) quadras).get(0)).getId()); httpServletRequest.setAttribute("nomeCampo", "quadraFinal"); } else { form.setQuadraInicial(""); form.setIdQuadraInicial(null); httpServletRequest.setAttribute( "codigoQuadraInicialNaoEncontrada", "true"); httpServletRequest.setAttribute("msgQuadra", "QUADRA INICIAL INEXISTENTE"); } } /** * Pesquisar Quadra Final * * @param filtroQuadra * @param numeroQuadra * @param codigoSetorComercial * @param quadras * @param GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm * @param fachada * @param httpServletRequest */ public void pesquisarQuadraFinal(String numeroQuadra, String codigoSetorComercial, String idLocalidadeFiltroFiltro, GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroQuadra filtroQuadra = new FiltroQuadra(); if (idLocalidadeFiltroFiltro != null && !idLocalidadeFiltroFiltro.toString().trim().equalsIgnoreCase("")) { // coloca parametro no filtro filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer(idLocalidadeFiltroFiltro))); } if (codigoSetorComercial != null && !codigoSetorComercial.toString().trim().equalsIgnoreCase("")) { // coloca parametro no filtro filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, new Integer(codigoSetorComercial))); } filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, new Integer(numeroQuadra))); // pesquisa Collection quadras = fachada.pesquisar(filtroQuadra, Quadra.class .getName()); if (quadras != null && !quadras.isEmpty()) { // O cliente foi encontrado form.setQuadraFinal("" + ((Quadra) ((List) quadras).get(0)).getNumeroQuadra()); form.setIdQuadraFinal("" + ((Quadra) ((List) quadras).get(0)).getId()); } else { form.setQuadraFinal(""); form.setIdQuadraFinal(null); httpServletRequest.setAttribute( "codigoQuadraFinalNaoEncontrada", "true"); httpServletRequest.setAttribute("msgQuadra", "QUADRA FINAL INEXISTENTE"); } } /** * * @param form * @param fachada * @param httpServletRequest */ private void pesquisarRota(GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form, Fachada fachada, HttpServletRequest httpServletRequest, String setorComercialId) { Rota objetoRota = null; String rotaCodigo = form.getCodigoRota(); FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.SETOR_COMERCIAL_ID, new Integer(setorComercialId))); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.CODIGO_ROTA, rotaCodigo)); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); //Retorna Rota Collection colecaorotas = fachada.pesquisar(filtroRota, Rota.class .getName()); if (colecaorotas == null || colecaorotas.isEmpty()) { //Rota nao encontrada //Limpa o campo idRota do formul�rio form.setCodigoRota(""); form.setIdRota(""); httpServletRequest.setAttribute( "codigoRotaNaoEncontrada", "true"); httpServletRequest.setAttribute("msgRota", "ROTA INEXISTENTE"); } else { objetoRota = (Rota) Util .retonarObjetoDeColecao(colecaorotas); form.setCodigoRota(objetoRota.getCodigo().toString()); form.setIdRota(String.valueOf(objetoRota.getId())); } } }