package gcom.gui.cadastro; import gcom.cadastro.cliente.FiltroFoneTipo; import gcom.cadastro.cliente.FoneTipo; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * [UC1052] Informar Telefone * * @author Daniel Alves * @date 05/08/2010 */ public class ExibirInformarTelefoneAction extends GcomAction { /** * Description of the Method * * @param actionMapping * Description of the Parameter * @param actionForm * Description of the Parameter * @param httpServletRequest * Description of the Parameter * @param httpServletResponse * Description of the Parameter * @return Description of the Return Value */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("informarTelefone"); HttpSession sessao = getSessao(httpServletRequest); InformarTelefoneActionForm informarTelefoneActionForm = (InformarTelefoneActionForm) actionForm; String idCliente = (String) httpServletRequest.getParameter("idCliente"); String idImovel = (String) httpServletRequest.getParameter("idImovel"); String limparForm = (String) httpServletRequest.getParameter("limparForm"); if(idCliente != null && !idCliente.equals("")){ informarTelefoneActionForm.setIdCliente(idCliente); } if(idImovel != null && !idImovel.equals("")){ informarTelefoneActionForm.setIdImovel(idImovel); } if(limparForm != null && limparForm.equals("S")){ informarTelefoneActionForm.setTipoTelefone(""); informarTelefoneActionForm.setTelefonePrincipal(""); informarTelefoneActionForm.setMunicipio(""); informarTelefoneActionForm.setMunicipioId(""); informarTelefoneActionForm.setNomeContato(""); informarTelefoneActionForm.setNumeroTelefone(""); informarTelefoneActionForm.setRamal(""); informarTelefoneActionForm.setDdd(""); } // Colecao de Tipos Telefone Collection<FoneTipo> colecaoTiposTelefone = null; colecaoTiposTelefone = this.pesquisarColecaoTiposTelefone(); if(colecaoTiposTelefone!= null && colecaoTiposTelefone.size() !=0){ httpServletRequest.setAttribute("tiposTelefone", colecaoTiposTelefone); } //se pesquisar o municipio pelo popup, para selecionar o ddd. String tipoConsulta = (String)httpServletRequest.getParameter("tipoConsulta"); if(tipoConsulta != null && !tipoConsulta.equals("") && tipoConsulta.equals("municipio")){ informarTelefoneActionForm.setMunicipioId((String)httpServletRequest.getParameter("idCampoEnviarDados")); informarTelefoneActionForm.setMunicipio((String)httpServletRequest.getParameter("descricaoCampoEnviarDados")); if(informarTelefoneActionForm.getMunicipioId() != null && !informarTelefoneActionForm.getMunicipioId().equals("")){ Municipio municipio = pesquisarMunicipio( Integer.valueOf(informarTelefoneActionForm.getMunicipioId())); if(municipio != null){ informarTelefoneActionForm.setDdd( municipio.getDdd().toString() ); } } } // Flag indicando que o usu�rio fez uma consulta a partir da tecla Enter String objetoConsulta = httpServletRequest.getParameter("objetoConsulta"); // Pesquisar com enter if (objetoConsulta != null && !objetoConsulta.trim().equals("")){ // Faz a consulta de Municipio if(objetoConsulta.trim().equals("1")){ this.pesquisarMunicipio(informarTelefoneActionForm); }else if(objetoConsulta.trim().equals("2")){ this.pesquisarDDD(informarTelefoneActionForm); } } //Seta os request�s encontrados this.setaRequest(httpServletRequest,informarTelefoneActionForm); if(httpServletRequest.getParameter("nomeDigitado")!=null && httpServletRequest.getParameter("cpfCnpj")!=null && httpServletRequest.getParameter("clienteImovel")!=null){ sessao.setAttribute("nomeDigitado", httpServletRequest.getParameter("nomeDigitado")); sessao.setAttribute("cpfCnpj", httpServletRequest.getParameter("cpfCnpj")); sessao.setAttribute("clienteImovel", httpServletRequest.getParameter("clienteImovel")); } return retorno; } /** * Pesquisa Colecao Tipos de Telefone * @author Daniel Alves */ private Collection pesquisarColecaoTiposTelefone() { FiltroFoneTipo filtroFoneTipo = new FiltroFoneTipo(); Collection colecaoTiposTelefone = this.getFachada().pesquisar(filtroFoneTipo, FoneTipo.class.getName()); if (colecaoTiposTelefone != null && !colecaoTiposTelefone.isEmpty()) { return (Collection) colecaoTiposTelefone; } else { throw new ActionServletException("atencao.entidade_sem_dados_para_selecao", null,"Tipo de Telefone"); } } /** * Pesquisa Municipio * * @author Daniel Alves * @date 03/08/2010 */ private Municipio pesquisarMunicipio(int municipioId) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.ID, municipioId)); Collection colecaoMunicipio = this.getFachada().pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()) { return (Municipio) Util.retonarObjetoDeColecao( colecaoMunicipio); } else { throw new ActionServletException("atencao.naocadastrado", null,"Municipio"); } } /** * Pesquisa Municipio * * @author Daniel Alves * @date 21/07/2010 */ private void pesquisarMunicipio(InformarTelefoneActionForm form) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.ID, form.getMunicipioId())); // Recupera Municipio Collection colecaoMunicipio = this.getFachada().pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()) { Municipio municipio = (Municipio) Util.retonarObjetoDeColecao(colecaoMunicipio); form.setMunicipioId(municipio.getId().toString()); form.setMunicipio(municipio.getNome()); form.setDdd( municipio.getDdd().toString() ); } else { form.setMunicipioId(null); form.setMunicipio("Municipio inexistente"); } } /** * Pesquisa Municipio * * @author Daniel Alves * @date 21/07/2010 */ private void pesquisarDDD(InformarTelefoneActionForm form) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.DDD, form.getDdd())); // Recupera Municipio Collection colecaoMunicipio = this.getFachada().pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()) { Municipio municipio = (Municipio) Util.retonarObjetoDeColecao(colecaoMunicipio); form.setMunicipioId(municipio.getId().toString()); form.setMunicipio(municipio.getNome()); form.setDdd( municipio.getDdd().toString() ); } else { form.setMunicipioId(null); form.setMunicipio("Municipio inexistente"); } } /** * Seta os request com os id encontrados * * @author Rafael Pinto * @date 23/11/2007 */ private void setaRequest(HttpServletRequest httpServletRequest, InformarTelefoneActionForm form){ //Municipio if(form.getMunicipioId() != null && !form.getMunicipioId().equals("") && form.getMunicipio() != null && !form.getMunicipio().equals("")){ httpServletRequest.setAttribute("municipioEncontrado","true"); }else{ httpServletRequest.setAttribute("municipioEncontrado","false"); } } }