package gcom.gui.portal; import gcom.cadastro.ContaBraileHelper; import gcom.cadastro.cliente.FiltroOrgaoExpedidorRg; import gcom.cadastro.cliente.OrgaoExpedidorRg; import gcom.cadastro.geografico.FiltroUnidadeFederacao; import gcom.cadastro.geografico.UnidadeFederacao; import gcom.cadastro.sistemaparametro.SistemaParametro; 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; /** * * [RM2923] Solicitar Conta Braile - Loja Virtual da Compesa * * @author Magno Gouveia * @date 19/05/2011 * */ public class InserirCadastroContaBrailePortalAction extends GcomAction { private static final String EXCEPTION = "exception"; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("validarDados"); Fachada fachada = Fachada.getInstancia(); httpServletRequest.setAttribute("voltarServicos", true); InserirCadastroContaBrailePortalActionForm form = (InserirCadastroContaBrailePortalActionForm) actionForm; ContaBraileHelper contaBraileHelper = new ContaBraileHelper(); FiltroOrgaoExpedidorRg filtroOrgaoExpedidor = new FiltroOrgaoExpedidorRg(FiltroOrgaoExpedidorRg.DESCRICAO_ABREVIADA); filtroOrgaoExpedidor.adicionarParametro(new ParametroSimples(FiltroOrgaoExpedidorRg.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection orgaosExpedidores = fachada.pesquisar(filtroOrgaoExpedidor, OrgaoExpedidorRg.class.getName()); httpServletRequest.setAttribute("orgaosExpedidores", orgaosExpedidores); FiltroUnidadeFederacao filtroUnidadeFederacao = new FiltroUnidadeFederacao(FiltroUnidadeFederacao.SIGLA); Collection unidadesFederacao = fachada.pesquisar(filtroUnidadeFederacao, UnidadeFederacao.class.getName()); httpServletRequest.setAttribute("unidadesFederacao", unidadesFederacao); if(httpServletRequest.getAttribute("cpfInvalido") != null){ httpServletRequest.removeAttribute("cpfInvalido"); } if(httpServletRequest.getAttribute("cpfJaExiste") != null){ httpServletRequest.removeAttribute("cpfJaExiste"); } if(httpServletRequest.getAttribute("cpfObrigatorio") != null){ httpServletRequest.removeAttribute("cpfObrigatorio"); } //Acessando direto pelo link, sem ser pelo link do email if (httpServletRequest.getParameter("confirmar") == null || !httpServletRequest.getParameter("confirmar").equals("sim")) { // Valida o CPF/CNPJ do Cliente // if (form.getCpfCnpjCliente() != null // && !form.getCpfCnpjCliente().equals("")) { // // if (form.isIndicadorCpf()) { // // if (form.getCpfCnpjCliente().length() < 11) { // // httpServletRequest.setAttribute("exception", "CPF/CNPJ n�o � v�lido!"); // return retorno; // } // // //� um CPF // boolean valido = gcom.util.Util.validacaoCPF(form.getCpfCnpjCliente()); // form.setIndicadorCpf(true); // // if (!valido) { // // httpServletRequest.setAttribute("exception", "CPF/CNPJ n�o � v�lido!"); // return retorno; // } else { // // //Verifica se o cpf ja esta associado a outro cliente // String cpf = form.getCpfCnpjCliente(); // FiltroCliente filtroCliente = new FiltroCliente(); // filtroCliente.adicionarParametro( new ParametroSimples( FiltroCliente.CPF, cpf)); // Collection clientes = fachada.pesquisar(filtroCliente, Cliente.class.getName()); // // if (clientes != null && !clientes.isEmpty()) { // // Cliente cliente = (Cliente) Util.retonarObjetoDeColecao(clientes); // // if (clientes.size() >= 1 // && !(cliente.getId().equals(form.getIdCliente()))) { // httpServletRequest.setAttribute("exception", "CPF/CNPJ j� est� cadastrado!"); // return retorno; // } // } // } // } else if (form.isIndicadorCnpj()) { // // if (form.getCpfCnpjCliente().length() < 14) { // // httpServletRequest.setAttribute("exception", "CPF/CNPJ n�o � v�lido!"); // return retorno; // } // // boolean valido = gcom.util.Util.validacaoCNPJ(form.getCpfCnpjCliente()); // form.setIndicadorCnpj(true); // // if (!valido) { // // httpServletRequest.setAttribute("exception", "CPF/CNPJ n�o � v�lido!"); // return retorno; // // } else { // // FiltroCliente filtroCliente = new FiltroCliente(); // filtroCliente.adicionarParametro( new ParametroSimples( FiltroCliente.CNPJ, form.getCpfCnpjCliente())); // Collection clientes = fachada.pesquisar(filtroCliente, Cliente.class.getName()); // if (clientes != null && !clientes.isEmpty()) { // // Cliente cliente = (Cliente) Util.retonarObjetoDeColecao(clientes); // // if (clientes.size() >= 1 // && !(cliente.getId().equals(form.getIdCliente()))) { // // httpServletRequest.setAttribute("exception", "CPF/CNPJ j� est� cadastrado!"); // return retorno; // } // } // } // } else { // httpServletRequest.setAttribute("exception", "CPF/CNPJ n�o � v�lido!"); // return retorno; // } // } else { // httpServletRequest.setAttribute("exception", "CPF/CNPJ � obrigat�rio!"); // return retorno; // } // Valida o email if (form.getEmail() != null && !form.getEmail().equals("")) { String email = form.getEmail(); if (!email.contains("@") || email.contains(" ")) { httpServletRequest.setAttribute(EXCEPTION, "E-mail inv�lido!"); return retorno; } } else { httpServletRequest.setAttribute(EXCEPTION, "E-mail � obrigat�rio!"); return retorno; } if ( httpServletRequest.getParameter("possuiDocumento") != null && (!httpServletRequest.getParameter("possuiDocumento").equals("true") || httpServletRequest.getParameter("possuiDocumento").equals("false"))){ if( form.getConfirmarCpfCnpjCliente() == null || !form.getConfirmarCpfCnpjCliente().equals("confirmado") ){ httpServletRequest.setAttribute(EXCEPTION, "� necess�rio confirma o CPF/CNPJ do cliente!"); return retorno; } } // Valida o CPF do Solicitante if (Util.verificarNaoVazio(form.getCpfSolicitante())) { if (form.getCpfSolicitante().length() < 11) { httpServletRequest.setAttribute(EXCEPTION, "CPF/CNPJ n�o � v�lido!"); return retorno; } //� um CPF boolean valido = Util.validacaoCPF(form.getCpfSolicitante()); if (!valido) { httpServletRequest.setAttribute(EXCEPTION, "CPF/CNPJ n�o � v�lido!"); return retorno; } } else { httpServletRequest.setAttribute(EXCEPTION, "CPF/CNPJ � obrigat�rio!"); return retorno; } // Montar Helper contaBraileHelper.setMatricula(form.getMatricula()); contaBraileHelper.setCpfCnpjCliente((String)this.getSessao(httpServletRequest).getAttribute("cpfCnpj")); contaBraileHelper.setCpfSolicitante(form.getCpfSolicitante()); contaBraileHelper.setDataExpedicao(form.getDataExpedicao()); contaBraileHelper.setEmail(form.getEmail()); contaBraileHelper.setNomeCliente(form.getNomeCliente()); contaBraileHelper.setNomeSolicitante(form.getNomeSolicitante()); contaBraileHelper.setOrgaoExpeditor(form.getOrgaoExpeditor()); contaBraileHelper.setRg(form.getRg()); if(form.getTelefoneContato() != null && !form.getTelefoneContato().trim().equals("")){ String telefone = form.getTelefoneContato().trim(); telefone = telefone.replace("(", ""); telefone = telefone.replace(")", ""); telefone = telefone.replace("-", ""); telefone = telefone.replace(" ", ""); contaBraileHelper.setTelefoneContato(telefone); } contaBraileHelper.setUnidadeFederacao(form.getUnidadeFederacao()); contaBraileHelper.setIndicadorCpf(form.isIndicadorCpf()); contaBraileHelper.setIndicadorCnpj(form.isIndicadorCnpj()); String protocolo = this.getFachada().obterProtocoloAtendimento(); contaBraileHelper.setProtocoloAtendimento(protocolo); this.getFachada().inserirSolicitacaoContaBraile(contaBraileHelper); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); httpServletRequest.setAttribute("contaBraileSolicitadaComSucesso", true); httpServletRequest.setAttribute("mensagemBraileSolicitadaComSucesso", sistemaParametro .getMensagemContaBraile() + ". Registro Atendimento: " + protocolo + "."); retorno = actionMapping.findForward("contaBraileSolicitadaComSucesso"); /* String mensagemsucesso = ; httpServletRequest.setAttribute("desabilitaMenu", true); montarPaginaSucesso(httpServletRequest, mensagemsucesso, "Solicitar outra Conta em BRAILE.", "exibirInserirCadastroContaBrailePortalAction.do?voltar=sim"); */ } return retorno; } }