package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.Imovel; 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 FiltrarImovelAtualizacaoCadastralDispositivoMovelAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); ActionForward retorno = actionMapping .findForward("gerarArquivoTextoAtualizacaoCadastralDispositivoMovel"); HttpSession sessao = httpServletRequest.getSession(false); GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form = (GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm) actionForm; Collection<Imovel> colecaoImovelFiltrado = new ArrayList(); //Caso informe a inscri��o if(form.getLocalidade() != null && !form.getLocalidade().equals("")){ //Usu�rio logado Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); //Localidade Integer localidade = new Integer(form.getLocalidade()); this.pesquisarLocalidade(localidade.toString(),form,fachada,httpServletRequest); //Setor comercial String codigoSetorComercial = form.getSetorComercialCD(); if(codigoSetorComercial != null && !codigoSetorComercial.equals("")){ if(form.getSetorComercialID() == null || form.getSetorComercialID().equals("")){ this.pesquisarSetorComercial(localidade.toString(),codigoSetorComercial,form,fachada,httpServletRequest); } //Integer idsetor = new Integer(form.getSetorComercialID()); //Quadra if(form.getQuadraInicial() != null && !form.getQuadraInicial().equals("")){ String numeroQuadraInicial = form.getQuadraInicial(); String numeroQuadraFinal = form.getQuadraFinal(); this.pesquisarQuadraInicial(numeroQuadraInicial,codigoSetorComercial,localidade.toString(),form,fachada,httpServletRequest); if(new Integer(numeroQuadraInicial) > new Integer(numeroQuadraFinal)){ throw new ActionServletException( "atencao.quadra_final_menor", null, form.getIdImovel()); }else{ this.pesquisarQuadraFinal(numeroQuadraFinal,codigoSetorComercial,localidade.toString(),form,fachada,httpServletRequest); } colecaoImovelFiltrado = fachada.obterImoveisAtualizacaoCadastral(localidade, codigoSetorComercial, new Integer(numeroQuadraInicial), new Integer(numeroQuadraFinal), usuario.getEmpresa().getId(), null); form.setDescricaoArquivo("Loc"+localidade+"Set"+codigoSetorComercial+"QuadInic"+numeroQuadraInicial+"QuadFin"+numeroQuadraFinal); form.setCodigoRota(""); form.setIdRota(null); }else if(form.getCodigoRota() != null && !form.getCodigoRota().equals("")){//Rota this.pesquisarRota(form, fachada, httpServletRequest, form.getSetorComercialID()); Integer idRota = new Integer(form.getIdRota()); colecaoImovelFiltrado = fachada.obterImoveisAtualizacaoCadastral(localidade, codigoSetorComercial, null, null, usuario.getEmpresa().getId(), idRota); form.setDescricaoArquivo("Loc"+localidade+"Set"+codigoSetorComercial+"Rota"+form.getCodigoRota()); form.setIdQuadraInicial(null); form.setQuadraInicial(""); form.setIdQuadraFinal(null); form.setQuadraFinal(""); }else{ colecaoImovelFiltrado = fachada.obterImoveisAtualizacaoCadastral(localidade, codigoSetorComercial, null, null, usuario.getEmpresa().getId(), null); form.setDescricaoArquivo("Localidade"+localidade); } }else{ colecaoImovelFiltrado = fachada.obterImoveisAtualizacaoCadastral(localidade, null, null, null, usuario.getEmpresa().getId(), null); form.setDescricaoArquivo("Localidade"+localidade); } sessao.removeAttribute("informarDescricao"); if (colecaoImovelFiltrado == null || colecaoImovelFiltrado.isEmpty() ) { //Nenhum Imovel cadastrado throw new ActionServletException("atencao.pesquisa.nenhumresultado"); } }else{//Caso informe os im�veis colecaoImovelFiltrado = (Collection)sessao.getAttribute("colecaoImovel"); form.setDescricaoArquivo(""); sessao.setAttribute("informarDescricao","Sim"); } sessao.setAttribute("colecaoImovelFiltrado",colecaoImovelFiltrado); return retorno; } /** * 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 { throw new ActionServletException( "atencao.localidade.inexistente", null, form.getIdImovel()); } } /** * 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 { throw new ActionServletException( "atencao.setor_comercial.inexistente", null, form.getIdImovel()); } } /** * 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()); } else { throw new ActionServletException( "atencao.quadra.inexistente", null, form.getIdImovel()); } } /** * 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 { throw new ActionServletException( "atencao.quadra.inexistente", null, form.getIdImovel()); } } /** * * @param form * @param fachada * @param httpServletRequest */ private void pesquisarRota(GerarArquivoTextoAtualizacaoCadastralDispositivoMovelActionForm form, Fachada fachada, HttpServletRequest httpServletRequest, String setorComercialId) { Rota objetoRota = null; //Recebe o valor do campo rotaID do formul�rio. 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 throw new ActionServletException( "atencao.pesquisa.rota_inexistente", null, form.getIdImovel()); } else { objetoRota = (Rota) Util .retonarObjetoDeColecao(colecaorotas); form.setCodigoRota(objetoRota.getCodigo().toString()); form.setIdRota(String.valueOf(objetoRota.getId())); httpServletRequest.setAttribute("corRotaMensagem", "valor"); httpServletRequest.setAttribute("nomeCampo", "botaoSelecionar"); } } }