package gcom.gui.cadastro.cliente; import gcom.cadastro.cliente.EsferaPoder; import gcom.cadastro.cliente.FiltroEsferaPoder; import gcom.cadastro.endereco.Cep; import gcom.cadastro.endereco.FiltroCep; import gcom.cadastro.endereco.FiltroLogradouro; import gcom.cadastro.endereco.Logradouro; import gcom.cadastro.geografico.Bairro; import gcom.cadastro.geografico.FiltroBairro; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; 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; /** * [UC0000] Filtrar Cliente * Pr�-processamento para a p�gina de filtro de cliente * * @author Rodrigo Silveira, Roberta Costa * @created 23/07/2005, 12/07/2006 */ public class ExibirFiltrarClienteAction 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) { ActionForward retorno = actionMapping.findForward("filtrarCliente"); FiltrarClienteActionForm filtrarClienteActionForm = (FiltrarClienteActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); if(filtrarClienteActionForm.getAtualizarFiltro()== null || filtrarClienteActionForm.getAtualizarFiltro().equals("") ){ filtrarClienteActionForm.setAtualizarFiltro("1"); httpServletRequest.setAttribute("nomeCampo", "cpfClienteFiltro"); } // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); if (sessao.getAttribute("consultaCliente") != null) { sessao.removeAttribute("consultaCliente"); } if (httpServletRequest.getParameter("menu") != null && !httpServletRequest.getParameter("menu").trim().equals("")) { FiltroEsferaPoder filtroEsferaPoder = new FiltroEsferaPoder(); filtroEsferaPoder.setCampoOrderBy(FiltroEsferaPoder.DESCRICAO); Collection colecaoEsferaPoder = fachada.pesquisar(filtroEsferaPoder, EsferaPoder.class.getName()); sessao.setAttribute("colecaoEsferaPoder", colecaoEsferaPoder); } // C�digo do Munic�pio String codigoDigitadoMunicipioEnter = (String) filtrarClienteActionForm .getMunicipioClienteFiltro(); // Verifica se o c�digo foi digitado if (codigoDigitadoMunicipioEnter != null && !codigoDigitadoMunicipioEnter.trim().equals("") && Integer.parseInt(codigoDigitadoMunicipioEnter) > 0) { // Manda para a p�gina a informa��o do campo para que seja // focado no retorno da pesquisa httpServletRequest.setAttribute("nomeCampo", "municipioClienteFiltro"); FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.ID, codigoDigitadoMunicipioEnter)); Collection municipioEncontrado = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (municipioEncontrado != null && !municipioEncontrado.isEmpty()) { // O cliente foi encontrado filtrarClienteActionForm.setMunicipioClienteFiltro( ""+ ((Municipio) ((List) municipioEncontrado).get(0)).getId()); filtrarClienteActionForm.setDescricaoMunicipioClienteFiltro( ((Municipio) ((List) municipioEncontrado).get(0)).getNome()); httpServletRequest.setAttribute("codigoMunicipioNaoEncontrado", "true"); httpServletRequest.setAttribute("nomeCampo", "bairroClienteFiltro"); } else { filtrarClienteActionForm.setMunicipioClienteFiltro(""); httpServletRequest.setAttribute("codigoMunicipioNaoEncontrado", "exception"); filtrarClienteActionForm.setDescricaoMunicipioClienteFiltro("Munic�pio Inexistente"); } } // C�digo do Munic�pio String codigoDigitadoLogradouroEnter = (String) filtrarClienteActionForm .getLogradouroClienteFiltro(); // C�digo do Bairro String codigoDigitadoBairroEnter = (String) filtrarClienteActionForm .getBairroClienteFiltro(); // Verifica se o c�digo foi digitado if (codigoDigitadoBairroEnter != null && !codigoDigitadoBairroEnter.trim().equals("") && Integer.parseInt(codigoDigitadoBairroEnter) > 0) { // Manda para a p�gina a informa��o do campo para que seja // focado no retorno da pesquisa httpServletRequest.setAttribute("nomeCampo", "bairroClienteFiltro"); FiltroBairro filtroBairro = new FiltroBairro(); filtroBairro.adicionarParametro(new ParametroSimples( FiltroBairro.CODIGO, codigoDigitadoBairroEnter)); // Adiciona a busca por munic�pio se ele foi digitado na p�gina if (codigoDigitadoMunicipioEnter != null && !codigoDigitadoMunicipioEnter.equalsIgnoreCase("")) { filtroBairro .adicionarParametro(new ParametroSimples( FiltroBairro.MUNICIPIO_ID, codigoDigitadoMunicipioEnter)); } Collection bairroEncontrado = fachada.pesquisar(filtroBairro, Bairro.class.getName()); if (bairroEncontrado != null && !bairroEncontrado.isEmpty()) { // O cliente foi encontrado filtrarClienteActionForm.setBairroClienteFiltro( ""+ ((Bairro) ((List) bairroEncontrado).get(0)).getCodigo()); filtrarClienteActionForm.setDescricaoBairroClienteFiltro( ((Bairro) ((List) bairroEncontrado).get(0)).getNome()); httpServletRequest.setAttribute("codigoBairroNaoEncontrado", "true"); httpServletRequest.setAttribute("nomeCampo", "logradouroClienteFiltro"); } else { filtrarClienteActionForm.setBairroClienteFiltro(""); httpServletRequest.setAttribute("codigoBairroNaoEncontrado", "exception"); filtrarClienteActionForm.setDescricaoBairroClienteFiltro( "Bairro Inexistente"); } } // Verifica se o c�digo foi digitado if (codigoDigitadoLogradouroEnter != null && !codigoDigitadoLogradouroEnter.trim().equals("") && Integer.parseInt(codigoDigitadoLogradouroEnter) > 0) { // Manda para a p�gina a informa��o do campo para que seja // focado no retorno da pesquisa httpServletRequest.setAttribute("nomeCampo", "logradouroClienteFiltro"); FiltroLogradouro filtroLogradouro = new FiltroLogradouro(); filtroLogradouro .adicionarCaminhoParaCarregamentoEntidade("logradouroTipo"); filtroLogradouro .adicionarCaminhoParaCarregamentoEntidade("logradouroTitulo"); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.ID, codigoDigitadoLogradouroEnter)); Collection logradouroEncontrado = fachada.pesquisar( filtroLogradouro, Logradouro.class.getName()); if (logradouroEncontrado != null && !logradouroEncontrado.isEmpty()) { // O logradouro foi encontrado filtrarClienteActionForm.setLogradouroClienteFiltro( ""+ ((Logradouro) ((List) logradouroEncontrado).get(0)).getId()); filtrarClienteActionForm.setDescricaoLogradouroClienteFiltro( ((Logradouro) ((List) logradouroEncontrado).get(0)).getDescricaoFormatada()); httpServletRequest.setAttribute("idLogradouroNaoEncontrado", "true"); } else { filtrarClienteActionForm.setLogradouroClienteFiltro(""); httpServletRequest.setAttribute("idLogradouroNaoEncontrado", "exception"); filtrarClienteActionForm.setDescricaoLogradouroClienteFiltro( "Logradouro Inexistente"); } } // C�digo do Munic�pio String idCep = (String) filtrarClienteActionForm.getCepClienteFiltro(); // PESQUISAR CEP if (idCep != null && !idCep.toString().trim().equalsIgnoreCase("")) { this.pesquisarCep(idCep, filtrarClienteActionForm, fachada, httpServletRequest); } if (filtrarClienteActionForm.getTipoPesquisa() == null || filtrarClienteActionForm.getTipoPesquisa().equals("")) { filtrarClienteActionForm.setTipoPesquisa( ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); } if (filtrarClienteActionForm.getTipoPesquisaNomeMae() == null || filtrarClienteActionForm.getTipoPesquisaNomeMae().equals("")) { filtrarClienteActionForm.setTipoPesquisaNomeMae( ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); } return retorno; } /** * Pesquisar Cep * @param filtroMunicipio * @param idMunicipioFiltro * @param codigoSetorComercial * @param municipios * @param filtrarImovelFiltrarActionForm * @param fachada * @param httpServletRequest */ public void pesquisarCep( String idCepFiltro, FiltrarClienteActionForm filtrarClienteActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroCep filtroCep = new FiltroCep(); filtroCep.adicionarParametro(new ParametroSimples( FiltroCep.CODIGO, idCepFiltro)); filtroCep.adicionarParametro(new ParametroSimples( FiltroCep.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection cepEncontrado = null; //pesquisa cepEncontrado = fachada.pesquisar(filtroCep, Cep.class .getName()); if (cepEncontrado != null && !cepEncontrado.isEmpty()) { // O municipio foi encontrado filtrarClienteActionForm.setCepClienteFiltro("" + ((Cep) ((List) cepEncontrado).get(0)) .getCodigo()); filtrarClienteActionForm.setCepDescricaoClienteFiltro( ((Cep) ((List) cepEncontrado).get(0)) .getDescricaoLogradouroFormatada()); httpServletRequest.setAttribute( "cepImovelNaoEncontrado", "true"); httpServletRequest.setAttribute("nomeCampo", "idMunicipioFiltro"); } else { filtrarClienteActionForm.setCepClienteFiltro(""); httpServletRequest.setAttribute( "cepImovelNaoEncontrado", "exception"); filtrarClienteActionForm.setCepDescricaoClienteFiltro( "Cep inexistente"); httpServletRequest.setAttribute("nomeCampo", "cepFiltro"); } } }