package gcom.gui.relatorio.cadastro.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.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * [UC1109] Filtrar Dados para Gera��o Boletim de Custo de Repavimenta��o * * @author Hugo Leonardo * * @date 30/12/2010 */ public class ExibirGerarRelatorioImoveisAlteracaoInscricaoViaBatchAction extends GcomAction { private String localidadeID = null; private String setorComercialCD = null; private String setorComercialID = null; private Collection colecaoPesquisa = null; private String quadraNM = null; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("exibirGerarRelatorioImoveisAlteracaoInscricaoViaBatch"); GerarRelatorioImoveisAlteracaoInscricaoViaBatchForm form = (GerarRelatorioImoveisAlteracaoInscricaoViaBatchForm) actionForm; Fachada fachada = Fachada.getInstancia(); String inscricaoTipo = (String) httpServletRequest .getParameter("inscricaoTipo"); String objetoConsulta = (String) httpServletRequest .getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("") && inscricaoTipo != null && !inscricaoTipo.trim().equalsIgnoreCase("")) { switch (Integer.parseInt(objetoConsulta)) { // Localidade case 1: this.pesquisarLocalidade(inscricaoTipo, form, fachada, httpServletRequest); break; // Setor Comercial case 2: this.pesquisarLocalidade(inscricaoTipo, form, fachada, httpServletRequest); this.pesquisarSetorComercial(inscricaoTipo, form, fachada, httpServletRequest); break; // Quadra case 3: this.pesquisarLocalidade(inscricaoTipo, form, fachada, httpServletRequest); this.pesquisarSetorComercial(inscricaoTipo, form, fachada, httpServletRequest); this.pesquisarQuadra(inscricaoTipo, form, fachada, httpServletRequest); break; default: break; } } return retorno; } /** * Pesquisar Localidade * * @author Hugo Leonardo * @date 18/01/2011 */ private void pesquisarLocalidade(String inscricaoTipo, GerarRelatorioImoveisAlteracaoInscricaoViaBatchForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); if (inscricaoTipo.equalsIgnoreCase("origem")) { // Recebe o valor do campo localidadeOrigemID do formul�rio. localidadeID = (String) form.getLocalidadeOrigemID(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, localidadeID)); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna localidade colecaoPesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Localidade nao encontrada // Limpa os campos localidadeOrigemID e nomeLocalidadeOrigem do // formul�rio form.setLocalidadeOrigemID(""); form.setNomeLocalidadeOrigem("Localidade Inexistente"); form.setLocalidadeDestinoID(""); form.setNomeLocalidadeDestino(""); httpServletRequest.setAttribute("corLocalidadeOrigem", "exception"); httpServletRequest.setAttribute("nomeCampo", "localidadeOrigemID"); } else { Localidade objetoLocalidade = (Localidade) Util.retonarObjetoDeColecao(colecaoPesquisa); form.setLocalidadeOrigemID(String.valueOf(objetoLocalidade.getId())); form.setNomeLocalidadeOrigem(objetoLocalidade.getDescricao()); httpServletRequest.setAttribute("corLocalidadeOrigem", "valor"); httpServletRequest.setAttribute("nomeCampo", "setorComercialOrigemCD"); //destino form.setLocalidadeDestinoID(String.valueOf(objetoLocalidade.getId())); form.setNomeLocalidadeDestino(objetoLocalidade.getDescricao()); httpServletRequest.setAttribute("corLocalidadeDestino", "valor"); } } else { // Recebe o valor do campo localidadeDestinoID do formul�rio. localidadeID = (String) form.getLocalidadeDestinoID(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, localidadeID)); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna localidade colecaoPesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Localidade nao encontrada // Limpa os campos localidadeDestinoID e nomeLocalidadeDestino // do formul�rio form.setLocalidadeDestinoID(""); form.setNomeLocalidadeDestino("Localidade inexistente."); httpServletRequest.setAttribute("corLocalidadeDestino", "exception"); httpServletRequest.setAttribute("nomeCampo","localidadeDestinoID"); } else { Localidade objetoLocalidade = (Localidade) Util.retonarObjetoDeColecao(colecaoPesquisa); form.setLocalidadeDestinoID(String.valueOf(objetoLocalidade.getId())); form.setNomeLocalidadeDestino(objetoLocalidade.getDescricao()); httpServletRequest.setAttribute("corLocalidadeDestino", "valor"); httpServletRequest.setAttribute("nomeCampo","setorComercialDestinoCD"); } } } /** * Pesquisar Setor Comercial * * @author Hugo Leonardo * @date 18/01/2011 */ private void pesquisarSetorComercial(String inscricaoTipo, GerarRelatorioImoveisAlteracaoInscricaoViaBatchForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); if (inscricaoTipo.equalsIgnoreCase("origem")) { // Recebe o valor do campo localidadeOrigemID do formul�rio. localidadeID = (String) form.getLocalidadeOrigemID(); // O campo localidadeOrigemID ser� obrigat�rio if (localidadeID != null && !localidadeID.trim().equalsIgnoreCase("")) { setorComercialCD = (String) form.getSetorComercialOrigemCD(); // Adiciona o id da localidade que est� no formul�rio para // compor a pesquisa. filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, localidadeID)); // Adiciona o c�digo do setor comercial que esta no formul�rio // para compor a pesquisa. filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercialCD)); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna setorComercial colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Setor Comercial nao encontrado // Limpa os campos setorComercialOrigemCD, // nomeSetorComercialOrigem e setorComercialOrigemID do // formul�rio form.setSetorComercialOrigemCD(""); form.setSetorComercialOrigemID(""); form.setNomeSetorComercialOrigem("Setor comercial inexistente."); httpServletRequest.setAttribute("corSetorComercialOrigem", "exception"); httpServletRequest.setAttribute("nomeCampo", "setorComercialOrigemCD"); //destino form.setSetorComercialDestinoCD(""); form.setSetorComercialDestinoID(""); } else { SetorComercial objetoSetorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoPesquisa); //setorComercialOrigem form.setSetorComercialOrigemCD(String.valueOf(objetoSetorComercial.getCodigo())); form.setSetorComercialOrigemID(String.valueOf(objetoSetorComercial.getId())); form.setNomeSetorComercialOrigem(objetoSetorComercial.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "quadraOrigemNM"); //setorComercialDestino form.setSetorComercialDestinoCD(String.valueOf(objetoSetorComercial.getCodigo())); form.setSetorComercialDestinoID(String.valueOf(objetoSetorComercial.getId())); form.setNomeSetorComercialDestino(objetoSetorComercial.getDescricao()); //setorComercialDestino httpServletRequest.setAttribute("corSetorComercialDestino", "valor"); } } else { // Limpa o campo setorComercialOrigemCD do formul�rio form.setSetorComercialOrigemCD(""); form.setNomeSetorComercialOrigem("Informe a localidade da inscri��o de origem."); httpServletRequest.setAttribute("corSetorComercialOrigem", "exception"); } } else { // Recebe o valor do campo localidadeDestinoID do formul�rio. localidadeID = (String) form.getLocalidadeDestinoID(); // O campo localidadeOrigem ser� obrigat�rio if (localidadeID != null && !localidadeID.trim().equalsIgnoreCase("")) { setorComercialCD = (String) form.getSetorComercialDestinoCD(); // Adiciona o id da localidade que est� no formul�rio para // compor a pesquisa. filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, localidadeID)); // Adiciona o c�digo do setor comercial que esta no formul�rio // para compor a pesquisa. filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercialCD)); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna setorComercial colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Setor Comercial nao encontrado // Limpa os campos setorComercialDestinoCD, // nomeSetorComercialDestino e setorComercialDestinoID do // formul�rio form.setSetorComercialDestinoCD(""); form.setSetorComercialDestinoID(""); form.setNomeSetorComercialDestino("Setor comercial inexistente."); httpServletRequest.setAttribute("corSetorComercialDestino", "exception"); httpServletRequest.setAttribute("nomeCampo", "setorComercialDestinoCD"); } else { SetorComercial objetoSetorComercial = (SetorComercial) Util.retonarObjetoDeColecao(colecaoPesquisa); form.setSetorComercialDestinoCD(String.valueOf(objetoSetorComercial.getCodigo())); form.setSetorComercialDestinoID(String.valueOf(objetoSetorComercial.getId())); form.setNomeSetorComercialDestino(objetoSetorComercial.getDescricao()); httpServletRequest.setAttribute("corSetorComercialDestino", "valor"); httpServletRequest.setAttribute("nomeCampo", "quadraDestinoNM"); } } else { // Limpa o campo setorComercialDestinoCD do formul�rio form.setSetorComercialDestinoCD(""); form.setNomeSetorComercialDestino("Informe a localidade da inscri��o de destino."); httpServletRequest.setAttribute("corSetorComercialDestino", "exception"); } } } /** * Pesquisar Quadra * * @author Hugo Leonardo * @date 18/01/2011 */ private void pesquisarQuadra(String inscricaoTipo, GerarRelatorioImoveisAlteracaoInscricaoViaBatchForm form, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroQuadra filtroQuadra = new FiltroQuadra(); //QUADRA if (inscricaoTipo.equalsIgnoreCase("origem")) { // Recebe os valores dos campos setorComercialOrigemCD e // setorComercialOrigemID do formul�rio. setorComercialCD = (String) form.getSetorComercialOrigemCD(); setorComercialID = (String) form.getSetorComercialOrigemID(); String idLocalidadeInicial = (String) form.getLocalidadeOrigemID(); // Os campos setorComercialOrigemCD e setorComercialID ser�o // obrigat�rios if (setorComercialCD != null && !setorComercialCD.trim().equalsIgnoreCase("") && setorComercialID != null && !setorComercialID.trim().equalsIgnoreCase("")) { quadraNM = (String) form.getQuadraOrigemNM(); // coloca parametro no filtro filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer( idLocalidadeInicial))); // Adiciona o id do setor comercial que est� no formul�rio para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_SETORCOMERCIAL, setorComercialID)); // Adiciona o n�mero da quadra que esta no formul�rio para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, quadraNM)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna quadra colecaoPesquisa = fachada.pesquisar(filtroQuadra, Quadra.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Quadra nao encontrada // Limpa os campos quadraOrigemNM e quadraOrigemID do // formul�rio form.setQuadraOrigemNM(""); form.setQuadraOrigemID(""); // Mensagem de tela httpServletRequest.setAttribute("msgQuadraInicial", "QUADRA INEXISTENTE"); httpServletRequest.setAttribute("corQuadraOrigem", "exception"); httpServletRequest.setAttribute("nomeCampo", "quadraOrigemNM"); //destino form.setQuadraDestinoNM(""); form.setQuadraDestinoID(""); } else { Quadra objetoQuadra = (Quadra) Util.retonarObjetoDeColecao(colecaoPesquisa); form.setQuadraOrigemNM(String.valueOf(objetoQuadra.getNumeroQuadra())); form.setQuadraOrigemID(String.valueOf(objetoQuadra.getId())); form.setQuadraDestinoNM(String.valueOf(objetoQuadra.getNumeroQuadra())); form.setQuadraDestinoID(String.valueOf(objetoQuadra.getId())); httpServletRequest.setAttribute("corQuadraOrigem", null); httpServletRequest.setAttribute("nomeCampo", "loteOrigem"); } } else { // Limpa o campo quadraOrigemNM do formul�rio form.setQuadraOrigemNM(""); form.setQuadraMensagemOrigem("Informe o setor comercial da inscri��o de origem."); httpServletRequest.setAttribute("corQuadraOrigem", "exception"); } } else { //QUADRA FINAL // Recebe os valores dos campos setorComercialOrigemCD e // setorComercialOrigemID do formul�rio. setorComercialCD = (String) form.getSetorComercialDestinoCD(); setorComercialID = (String) form.getSetorComercialDestinoID(); String idLocalidadeFinal = (String) form.getLocalidadeDestinoID(); // Os campos setorComercialOrigemCD e setorComercialID ser�o obrigat�rios if (setorComercialCD != null && !setorComercialCD.trim().equalsIgnoreCase("") && setorComercialID != null && !setorComercialID.trim().equalsIgnoreCase("")) { quadraNM = (String) form.getQuadraDestinoNM(); // coloca parametro no filtro filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer( idLocalidadeFinal))); // Adiciona o id do setor comercial que est� no formul�rio para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_SETORCOMERCIAL, setorComercialID)); // Adiciona o n�mero da quadra que esta no formul�rio para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, quadraNM)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna quadra colecaoPesquisa = fachada.pesquisar(filtroQuadra, Quadra.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Quadra nao encontrada // Limpa os campos quadraOrigemNM e quadraOrigemID do // formul�rio form.setQuadraDestinoNM(""); form.setQuadraDestinoID(""); // Mensagem de tela //imovelOutrosCriteriosActionForm // .setQuadraMensagemDestino("Quadra inexistente."); httpServletRequest.setAttribute("msgQuadraFinal", "QUADRA INEXISTENTE"); httpServletRequest.setAttribute("corQuadraDestino", "exception"); httpServletRequest.setAttribute("nomeCampo", "quadraDestinoNM"); } else { Quadra objetoQuadra = (Quadra) Util.retonarObjetoDeColecao(colecaoPesquisa); form.setQuadraDestinoNM(String.valueOf(objetoQuadra.getNumeroQuadra())); form.setQuadraDestinoID(String.valueOf(objetoQuadra.getId())); httpServletRequest.setAttribute("corQuadraDestino", null); httpServletRequest.setAttribute("nomeCampo","loteDestino"); } } else { // Limpa o campo setorComercialOrigemCD do formul�rio form.setQuadraDestinoNM(""); // Mensagem de tela form.setQuadraMensagemDestino("Informe o setor comercial da inscri��o."); httpServletRequest.setAttribute("corQuadraDestino", "exception"); } } } }