package gcom.gui.cadastro.cliente; import gcom.cadastro.cliente.Cliente; import gcom.cadastro.cliente.ClienteEndereco; import gcom.cadastro.cliente.ClienteFone; import gcom.cadastro.cliente.ClienteTipo; import gcom.cadastro.cliente.FiltroClienteEndereco; import gcom.cadastro.cliente.FiltroClienteTipo; import gcom.cadastro.cliente.OrgaoExpedidorRg; import gcom.cadastro.cliente.PessoaSexo; import gcom.cadastro.cliente.Profissao; import gcom.cadastro.cliente.RamoAtividade; import gcom.cadastro.descricaogenerica.DescricaoGenerica; import gcom.cadastro.descricaogenerica.FiltroDescricaoGenerica; import gcom.cadastro.geografico.UnidadeFederacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.integracao.webservice.spc.ConsultaWebServiceTest; import gcom.seguranca.AtributoGrupo; import gcom.seguranca.ConsultaCdl; import gcom.seguranca.acesso.OperacaoEfetuada; import gcom.seguranca.acesso.PermissaoEspecial; import gcom.seguranca.acesso.usuario.FiltroUsuarioPemissaoEspecial; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.acesso.usuario.UsuarioPermissaoEspecial; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; 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; import org.apache.struts.validator.DynaValidatorForm; /** * Description of the Class * * @author Rodrigo */ public class InserirClienteAction 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) { // localiza o action no objeto actionmapping ActionForward retorno = actionMapping.findForward("telaSucesso"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); // Usuario logado no sistema Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); // Pega o form do cliente DynaValidatorForm clienteActionForm = (DynaValidatorForm) actionForm; // C�digo do cliente que ser� inserido Integer codigoCliente = null; // Pega a cole��o de endere�os do cliente Collection colecaoEnderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); // Pega a cole��o de telefones do cliente Collection colecaoFones = (Collection) sessao .getAttribute("colecaoClienteFone"); // Cria o objeto do cliente para ser inserido String nome = ((String) clienteActionForm.get("nome")).toUpperCase(); String nomeAbreviado = ((String) clienteActionForm.get("nomeAbreviado")).toUpperCase(); String rg = (String) clienteActionForm.get("rg"); String cpf = (String) clienteActionForm.get("cpf"); String dataEmissao = (String) clienteActionForm.get("dataEmissao"); String dataNascimento = (String) clienteActionForm .get("dataNascimento"); String cnpj = (String) clienteActionForm.get("cnpj"); String email = (String) clienteActionForm.get("email"); Short indicadorUsoNomeFantasiaConta = ConstantesSistema.NAO; if(clienteActionForm.get("indicadorExibicaoNomeConta") != null && !clienteActionForm.get("indicadorExibicaoNomeConta").toString().equals("")){ String indicadorExibicaoNomeConta = null; indicadorExibicaoNomeConta = (String) clienteActionForm.get("indicadorExibicaoNomeConta").toString(); if(indicadorExibicaoNomeConta.equals(Cliente.INDICADOR_NOME_FANTASIA.toString())){ indicadorUsoNomeFantasiaConta = ConstantesSistema.SIM; } } OrgaoExpedidorRg orgaoExpedidorRg = null; if (clienteActionForm.get("idOrgaoExpedidor") != null && ((Integer) clienteActionForm.get("idOrgaoExpedidor")) .intValue() > 0) { orgaoExpedidorRg = new OrgaoExpedidorRg(); orgaoExpedidorRg.setId((Integer) clienteActionForm .get("idOrgaoExpedidor")); } PessoaSexo pessoaSexo = null; if (clienteActionForm.get("idPessoaSexo") != null && ((Integer) clienteActionForm.get("idPessoaSexo")).intValue() > 0) { pessoaSexo = new PessoaSexo(); pessoaSexo.setId((Integer) clienteActionForm.get("idPessoaSexo")); } Profissao profissao = null; if (clienteActionForm.get("idProfissao") != null && ((Integer) clienteActionForm.get("idProfissao")).intValue() > 0) { profissao = new Profissao(); profissao.setId((Integer) clienteActionForm.get("idProfissao")); } UnidadeFederacao unidadeFederacao = null; if (clienteActionForm.get("idUnidadeFederacao") != null && ((Integer) clienteActionForm.get("idUnidadeFederacao")) .intValue() > 0) { unidadeFederacao = new UnidadeFederacao(); unidadeFederacao.setId((Integer) clienteActionForm .get("idUnidadeFederacao")); } // Seta o clienteTipo ClienteTipo clienteTipo = new ClienteTipo(); // Short tipoPessoa = (Short) clienteActionForm.get("tipoPessoa"); // String tipoPessoaForm = tipoPessoa.toString() ; clienteTipo.setId(new Integer(((Short) clienteActionForm .get("tipoPessoa")).intValue())); // Faz a verifica��o se o tipo do cliente � pessoa jur�dica e se o cnpj // foi preenchido FiltroClienteTipo filtroClienteTipo = new FiltroClienteTipo(); filtroClienteTipo.adicionarParametro(new ParametroSimples( FiltroClienteTipo.ID, clienteTipo.getId().toString())); Short tipoPessoa = ((ClienteTipo) fachada.pesquisar(filtroClienteTipo, ClienteTipo.class.getName()).iterator().next()) .getIndicadorPessoaFisicaJuridica(); if (tipoPessoa != null) { if (tipoPessoa.equals(ClienteTipo.INDICADOR_PESSOA_JURIDICA)) { // N�o � mais obrigat�rio // Roberta Costa - Alterado em 09/08/2006 /* * if (cnpj == null || cnpj.trim().equalsIgnoreCase("")) { //O * CNPJ � obrigat�rio caso o tipo de pessoa seja jur�dica throw * new ActionServletException( "atencao.informe_campo", null, * "CNPJ"); } */ } else if (tipoPessoa.equals(ClienteTipo.INDICADOR_PESSOA_FISICA)) { if (clienteActionForm.get("idPessoaSexo").equals( ConstantesSistema.NUMERO_NAO_INFORMADO)) { // O Sexo � obrigat�rio caso o tipo de pessoa seja f�sica throw new ActionServletException("atencao.informe_campo", null, "Sexo"); } } } // Verifica se pelo menos um endere�o de correspond�ncia foi informado if (colecaoEnderecos == null || colecaoEnderecos.isEmpty()) { throw new ActionServletException("atencao.informe_campo", null, "Endere�o(s) do Cliente"); } /** * Autor: Mariana Victor * Data: 27/12/2010 * RM_3320 - [FS0016] Verificar Duplicidade de cliente */ if (this.getSistemaParametro().getIndicadorDuplicidadeCliente().toString() .equals(ConstantesSistema.SIM.toString())) { FiltroUsuarioPemissaoEspecial filtroUsuarioPemissaoEspecial = new FiltroUsuarioPemissaoEspecial(); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples(FiltroUsuarioPemissaoEspecial.USUARIO_ID, usuario.getId())); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples(FiltroUsuarioPemissaoEspecial.PERMISSAO_ESPECIAL_ID, PermissaoEspecial.INSERIR_CLIENTE_COM_MESMO_NOME_E_ENDERECO)); Collection colecaoUsuarioPermisao = fachada.pesquisar(filtroUsuarioPemissaoEspecial, UsuarioPermissaoEspecial.class.getName()); if (colecaoUsuarioPermisao == null || colecaoUsuarioPermisao.isEmpty()) { FiltroClienteEndereco filtroClienteEndereco = new FiltroClienteEndereco(); filtroClienteEndereco.adicionarParametro(new ParametroSimples(FiltroClienteEndereco.NOME, nome.toUpperCase())); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTipo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.logradouro.logradouroTitulo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("enderecoReferencia"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("logradouroBairro.bairro.municipio.unidadeFederacao"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("logradouroCep.cep"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("perimetroInicial.logradouroTipo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("perimetroInicial.logradouroTitulo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("perimetroFinal.logradouroTipo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("perimetroFinal.logradouroTitulo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("enderecoTipo"); filtroClienteEndereco.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection<ClienteEndereco> colecaoClienteEndereco = fachada.pesquisar(filtroClienteEndereco, ClienteEndereco.class.getName()); if (colecaoClienteEndereco != null && !colecaoClienteEndereco.isEmpty()){ Iterator iterator = colecaoClienteEndereco.iterator(); while (iterator.hasNext()) { ClienteEndereco clienteEnderecoIterator = (ClienteEndereco) iterator.next(); Iterator iteratorEnderecos = colecaoEnderecos.iterator(); while (iteratorEnderecos.hasNext()) { ClienteEndereco clienteEndereco = (ClienteEndereco) iteratorEnderecos .next(); if (clienteEndereco.getEnderecoFormatado().equals( clienteEnderecoIterator.getEnderecoFormatado())) { throw new ActionServletException("atencao.duplicidade.cliente", null, "Cliente"); } } } } } } /** * Autor: Mariana Victor * Data: 28/12/2010 * RM_3320 - [FS0017] Verificar Nome de Cliente com menos de 10 posi��es */ if (this.getSistemaParametro().getIndicadorNomeMenorDez().toString() .equals(ConstantesSistema.NAO.toString())) { FiltroUsuarioPemissaoEspecial filtroUsuarioPemissaoEspecial = new FiltroUsuarioPemissaoEspecial(); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples(FiltroUsuarioPemissaoEspecial.USUARIO_ID, usuario.getId())); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples(FiltroUsuarioPemissaoEspecial.PERMISSAO_ESPECIAL_ID, PermissaoEspecial.INSERIR_NOMES_COM_MENOS_DE_10_CARACTERES)); Collection colecaoUsuarioPermisao = fachada.pesquisar(filtroUsuarioPemissaoEspecial, UsuarioPermissaoEspecial.class.getName()); if (colecaoUsuarioPermisao == null || colecaoUsuarioPermisao.isEmpty()) { String nomeFormatado= nome.replaceAll(" ", ""); if (nomeFormatado.length() < 10) { throw new ActionServletException("atencao.nome.cliente.menos.dez.posicoes", null, "Nome do Cliente"); } } } /** * Autor: Mariana Victor * Data: 28/12/2010 * RM_3320 - [FS0018] Verificar Nome de Cliente com Descri��o Gen�rica */ if (this.getSistemaParametro().getIndicadorNomeClienteGenerico().toString() .equals(ConstantesSistema.NAO.toString())) { FiltroUsuarioPemissaoEspecial filtroUsuarioPemissaoEspecial = new FiltroUsuarioPemissaoEspecial(); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples(FiltroUsuarioPemissaoEspecial.USUARIO_ID, usuario.getId())); filtroUsuarioPemissaoEspecial.adicionarParametro(new ParametroSimples(FiltroUsuarioPemissaoEspecial.PERMISSAO_ESPECIAL_ID, PermissaoEspecial.INSERIR_NOME_CLIENTE_GENERICO)); Collection colecaoUsuarioPermisao = fachada.pesquisar(filtroUsuarioPemissaoEspecial, UsuarioPermissaoEspecial.class.getName()); if (colecaoUsuarioPermisao == null || colecaoUsuarioPermisao.isEmpty()) { FiltroDescricaoGenerica filtroDescricaoGenerica = new FiltroDescricaoGenerica(); Collection colecaoDescricaoGenerica = fachada.pesquisar(filtroDescricaoGenerica, DescricaoGenerica.class.getName()); if (colecaoDescricaoGenerica != null || !colecaoDescricaoGenerica.isEmpty()) { String nomeFormatado= nome.replaceAll(" ", ""); Iterator iteratorDescricaoGenerica = colecaoDescricaoGenerica.iterator(); while (iteratorDescricaoGenerica.hasNext()) { DescricaoGenerica descricaoGenerica = (DescricaoGenerica) iteratorDescricaoGenerica.next(); String nomeGenerico = descricaoGenerica.getNomeGenerico(); String nomeGenericoFormatado = nomeGenerico.replaceAll(" ", ""); if (nomeGenerico.equalsIgnoreCase(nome) || nomeGenericoFormatado.equalsIgnoreCase(nome) || nomeGenerico.equalsIgnoreCase(nomeFormatado) || nomeGenericoFormatado.equalsIgnoreCase(nomeFormatado)) { throw new ActionServletException("atencao.nome.cliente.descricao.generica", null, "Nome do Cliente"); } } } } } RamoAtividade ramoAtividade = null; // Caso o ramo ra if (clienteActionForm.get("idRamoAtividade") != null && ((Integer) clienteActionForm.get("idRamoAtividade")) .intValue() > 0) { ramoAtividade = new RamoAtividade(); ramoAtividade.setId((Integer) clienteActionForm .get("idRamoAtividade")); } Cliente clienteResponsavel = null; if (clienteActionForm.get("codigoClienteResponsavel") != null && !((String) clienteActionForm.get("codigoClienteResponsavel")) .trim().equalsIgnoreCase("")) { // Cria o objeto do cliente respons�vel clienteResponsavel = new Cliente(); clienteResponsavel.setId(new Integer((String) clienteActionForm .get("codigoClienteResponsavel"))); } SimpleDateFormat formatoData = new SimpleDateFormat("dd/MM/yyyy"); ConsultaCdl clienteCadastradoNaReceita = new ConsultaCdl(); try { if(cpf != null && cpf.equals("")){ cpf = null; } if(cnpj != null && cnpj.equals("")){ cnpj = null; } Cliente cliente = new Cliente( nome, nomeAbreviado, cpf, rg, dataEmissao != null && !dataEmissao.trim().equalsIgnoreCase("") ? formatoData.parse(dataEmissao): null, dataNascimento != null && !dataNascimento.trim().equalsIgnoreCase("") ? formatoData.parse(dataNascimento) : null, cnpj, email, ConstantesSistema.INDICADOR_USO_ATIVO, new Date(), orgaoExpedidorRg, clienteResponsavel, pessoaSexo, profissao, unidadeFederacao, clienteTipo, indicadorUsoNomeFantasiaConta, ramoAtividade); // Insere o indicador para Cobranca Acrescimos cliente.setIndicadorAcrescimos(new Short("1")); if (clienteActionForm.get("diaVencimento") != null && !(clienteActionForm.get("diaVencimento").equals(""))){ String diaVencimento = (String)clienteActionForm.get("diaVencimento"); cliente.setDataVencimento( new Short(diaVencimento)); }else{ cliente.setDataVencimento(null); } // Nome da M�e if (clienteActionForm.get("nomeMae") != null && (!(clienteActionForm.get("nomeMae").equals("")))) { cliente.setNomeMae(((String) clienteActionForm.get("nomeMae")).toUpperCase()); } if (clienteActionForm.get("indicadorGeraFaturaAntecipada") != null && !clienteActionForm.get("indicadorGeraFaturaAntecipada").equals("")) { cliente.setIndicadorGeraFaturaAntecipada(new Short((String) clienteActionForm.get("indicadorGeraFaturaAntecipada"))); } else { cliente.setIndicadorGeraFaturaAntecipada(ConstantesSistema.NAO); } if (clienteActionForm.get("diaVencimento") != null && !(clienteActionForm.get("diaVencimento").equals("")) && (clienteActionForm.get("indicadorVencimentoMesSeguinte") != null && !clienteActionForm.get("indicadorVencimentoMesSeguinte").equals(""))) { cliente.setIndicadorVencimentoMesSeguinte(new Short((String) clienteActionForm.get("indicadorVencimentoMesSeguinte"))); } else { cliente.setIndicadorVencimentoMesSeguinte(ConstantesSistema.NAO); } //Insere o Indicador de Negativa��o do Cliente if (clienteActionForm.get("indicadorPermiteNegativacao") != null && clienteActionForm.get("indicadorPermiteNegativacao").equals(ConstantesSistema.SIM.toString())){ cliente.setIndicadorPermiteNegativacao(ConstantesSistema.NAO); } else { cliente.setIndicadorPermiteNegativacao(ConstantesSistema.SIM); } //************************************************************************* // Autor: Ivan Sergio // Data: 06/08/2009 // CRC2103 // Verifica se a funcionalidade esta sendo executada dentro de um popup //************************************************************************* if (sessao.getAttribute("POPUP") != null) { if (sessao.getAttribute("POPUP").equals("true")) { if (sessao.getAttribute("idImovel") == null) { cliente.setId2(-1); colecaoEnderecos = this.setaId2ClienteEnderecos(colecaoEnderecos, -1); colecaoFones = this.setaId2ClienteFones(colecaoFones, -1); } else { Integer idImovel = new Integer(sessao.getAttribute("idImovel").toString()); cliente.setId2(idImovel); colecaoEnderecos = this.setaId2ClienteEnderecos(colecaoEnderecos, idImovel); colecaoFones = this.setaId2ClienteFones(colecaoFones, idImovel); } if (sessao.getAttribute("idClienteRelacaoTipo") != null) { Integer idClienteRelacaoTipo = new Integer(sessao.getAttribute("idClienteRelacaoTipo").toString()); Integer idAtributoGrupo = null; switch (idClienteRelacaoTipo) { case 1: idAtributoGrupo = AtributoGrupo.ATRIBUTOS_DO_PROPRIETARIO; break; case 2: idAtributoGrupo = AtributoGrupo.ATRIBUTOS_DO_USUARIO; break; } if (idAtributoGrupo != null) { AtributoGrupo atributoGrupo = new AtributoGrupo(); atributoGrupo.setId(idAtributoGrupo); OperacaoEfetuada operacaoEfetuada = new OperacaoEfetuada(); operacaoEfetuada.setAtributoGrupo(atributoGrupo); cliente.setOperacaoEfetuada(operacaoEfetuada); } } } } //************************************************************************* /** * Autor: Rodrigo Cabral * Data: 20/10/2010 * CRC4476 */ String confirmado = null; if ( httpServletRequest.getParameter("confirmado") != null ) { confirmado = httpServletRequest.getParameter("confirmado"); } Short indicadorConsultaDocumentoReceita = this.getSistemaParametro().getIndicadorConsultaDocumentoReceita(); if(cpf == null || cnpj == null){ indicadorConsultaDocumentoReceita = ConstantesSistema.NAO; } if (confirmado == null && indicadorConsultaDocumentoReceita.toString().equals(ConstantesSistema.SIM.toString())){ ConsultaWebServiceTest consultaWebService = new ConsultaWebServiceTest(); try { if (cpf != null){ clienteCadastradoNaReceita = consultaWebService.consultarPessoaFisica(nome,cpf); System.out.println("CONSULTA SPC INSERIR CLIENTE CPF: "+cpf); }else if (cnpj != null){ clienteCadastradoNaReceita = consultaWebService.consultaPessoaJuridica(nome,cnpj); System.out.println("CONSULTA SPC INSERIR CLIENTE CNPJ: "+cnpj); } } catch (Exception e) { clienteCadastradoNaReceita.setMensagemRetorno("Erro ao consultar o CDL."); } if(clienteCadastradoNaReceita.getNomeCliente() != null && !clienteCadastradoNaReceita.getNomeCliente().equals("NOME NAO CADASTRADO") && !clienteCadastradoNaReceita.getNomeCliente().equals("EMPRESA NAO CADASTRADA") ){ System.out.println("NOME RETORNADO CDL "+cpf+":"+clienteCadastradoNaReceita.getNomeCliente()); clienteActionForm.set("nomeClienteReceitaFederal" , clienteCadastradoNaReceita.getNomeCliente()); }else{ clienteCadastradoNaReceita.setNomeCliente(null); clienteCadastradoNaReceita.setMensagemRetorno("Erro ao consultar o CDL."); } sessao.setAttribute("clienteCadastradoNaReceita", clienteCadastradoNaReceita); } short codigoAcao = ConstantesSistema.NUMERO_NAO_INFORMADO; boolean ehParaInserirImovel = true; //Caso o spc esteja fora, n�o realizar acao de atualizacao do cliente e dos dados do spc if(clienteCadastradoNaReceita != null && clienteCadastradoNaReceita.getMensagemRetorno() != null){ ehParaInserirImovel = false; retorno = this.montaTelaAtencao(actionMapping, httpServletRequest, "atencao.cliente_nao_foi_inserido_spc_fora", false); } if ( confirmado == null && clienteCadastradoNaReceita.getNomeCliente() != null && !clienteCadastradoNaReceita.getNomeCliente().equals(nome) ) { httpServletRequest.setAttribute("nomeBotao1", "Aceitar"); httpServletRequest.setAttribute("nomeBotao3", "Rejeitar"); return montarPaginaConfirmacaoWizard("atencao.confirmacao_nome_receita_federal", httpServletRequest, actionMapping, nome, clienteCadastradoNaReceita.getNomeCliente()); }else if(confirmado == null && clienteCadastradoNaReceita.getNomeCliente() != null && clienteCadastradoNaReceita.getNomeCliente().equals(nome)){ clienteCadastradoNaReceita = (ConsultaCdl) sessao.getAttribute("clienteCadastradoNaReceita"); codigoAcao = 3; clienteCadastradoNaReceita.setCodigoAcaoOperador(codigoAcao); }else if ( confirmado != null && confirmado.trim().equalsIgnoreCase("ok") ) { clienteCadastradoNaReceita = (ConsultaCdl) sessao.getAttribute("clienteCadastradoNaReceita"); cliente.setNome(clienteCadastradoNaReceita.getNomeCliente()); if (clienteCadastradoNaReceita.getNomeMae() != null){ cliente.setNomeMae(clienteCadastradoNaReceita.getNomeMae()); } if (clienteCadastradoNaReceita.getDataNascimento() != null){ cliente.setDataNascimento(clienteCadastradoNaReceita.getDataNascimento()); } codigoAcao = 1; clienteCadastradoNaReceita.setCodigoAcaoOperador(codigoAcao); } else if((clienteCadastradoNaReceita.getMensagemRetorno() == null || clienteCadastradoNaReceita.getMensagemRetorno().equals("")) && (confirmado != null)){ clienteCadastradoNaReceita = (ConsultaCdl) sessao.getAttribute("clienteCadastradoNaReceita"); codigoAcao = 2; clienteCadastradoNaReceita.setCodigoAcaoOperador(codigoAcao); ehParaInserirImovel = false; httpServletRequest.setAttribute("naoExibirBotaoVoltarTelaAtencao",true); reportarErros(httpServletRequest, "atencao.cliente_nao_foi_inserido"); //retorno = actionMapping.findForward("telaAtencao"); retorno = actionMapping.findForward("telaAtencao"); } /** * fim */ // Insere o cliente if(ehParaInserirImovel){ codigoCliente = this.getFachada().inserirCliente(cliente, colecaoFones, colecaoEnderecos, usuario); } Cliente clienteAux = null; if(codigoCliente != null ){ clienteAux = new Cliente(); clienteAux.setId(codigoCliente); } if (confirmado != null || (clienteCadastradoNaReceita.getCodigoAcaoOperador() != null && clienteCadastradoNaReceita.getCodigoAcaoOperador() == 3) ){ ConsultaCdl clienteCadastradoNaReceitaAtualiza = (ConsultaCdl) sessao.getAttribute("clienteCadastradoNaReceita"); clienteCadastradoNaReceitaAtualiza.setCodigoCliente(clienteAux); clienteCadastradoNaReceitaAtualiza.setUsuario(usuario); clienteCadastradoNaReceitaAtualiza.setCpfUsuario(usuario.getCpf()); clienteCadastradoNaReceitaAtualiza.setLoginUsuario(usuario.getLogin()); clienteCadastradoNaReceitaAtualiza.setUltimaAlteracao(new Date()); this.getFachada().inserir(clienteCadastradoNaReceitaAtualiza); } // limpa a sess�o sessao.removeAttribute("clienteCadastradoNaReceita"); sessao.removeAttribute("colecaoClienteFone"); sessao.removeAttribute("colecaoEnderecos"); sessao.removeAttribute("foneTipos"); sessao.removeAttribute("municipios"); sessao.removeAttribute("colecaoResponsavelSuperiores"); sessao.removeAttribute("InserirEnderecoActionForm"); sessao.removeAttribute("ClienteActionForm"); sessao.removeAttribute("tipoPesquisaRetorno"); } catch (ParseException ex) { // Erro no hibernate reportarErros(httpServletRequest, "erro.sistema", ex); // Atribui o mapeamento de retorno para a tela de erro retorno = actionMapping.findForward("telaErro"); } // Verifica se a funcionalidade esta sendo executada dentro de um popup boolean exibirTelaSucesso = true; if (sessao.getAttribute("POPUP") != null) { if (sessao.getAttribute("POPUP").equals("true")) { // Verifica o action de retorno // action = inserirClienteNomeTipo retorno = actionMapping.findForward("inserirClientePopUp"); //codigoCliente = 1; sessao.setAttribute("codigoCliente", codigoCliente); sessao.setAttribute("nomeCliente", nome); httpServletRequest.setAttribute("colecaoTipoPessoa", null); exibirTelaSucesso = false; } } if (exibirTelaSucesso) { // Monta a p�gina de sucesso if (retorno.getName().equalsIgnoreCase("telaSucesso")) { String mensagemSucesso = "Cliente de c�digo "+ codigoCliente + " inserido com sucesso."; montarPaginaSucesso(httpServletRequest, mensagemSucesso, "Inserir outro Cliente", "exibirInserirClienteAction.do", "exibirAtualizarClienteAction.do?idRegistroAtualizacao=" + codigoCliente, "Atualizar Cliente Inserido"); }else{ retorno = actionMapping.findForward("telaAtencao"); } } return retorno; } /*** * @author Ivan Sergio * @date: 11/08/2009 * * @param colecaoEnderecos * @param id2 * @return */ private Collection setaId2ClienteEnderecos(Collection colecaoEnderecos, Integer id2) { Collection retorno = null; if (colecaoEnderecos != null && !colecaoEnderecos.isEmpty()) { retorno = new ArrayList(); Iterator iColecaoEnderecos = colecaoEnderecos.iterator(); while (iColecaoEnderecos.hasNext()) { ClienteEndereco endereco = (ClienteEndereco) iColecaoEnderecos.next(); endereco.setId2(id2); retorno.add(endereco); } } return retorno; } /** * @author Ivan Sergio * @date: 11/08/2009 * * @param colecaoFones * @param id2 * @return */ private Collection setaId2ClienteFones(Collection colecaoFones, Integer id2) { Collection retorno = null; if (colecaoFones != null && !colecaoFones.isEmpty()) { retorno = new ArrayList(); Iterator iColecaoFones = colecaoFones.iterator(); while (iColecaoFones.hasNext()) { ClienteFone fone = (ClienteFone) iColecaoFones.next(); fone.setId2(id2); retorno.add(fone); } } return retorno; } /** * @author Rafael Pinto * @date: 09/01/2011 * * @param actionMapping ActionMapping * @param httpServletRequest httpServletRequest * @return ActionForward */ private ActionForward montaTelaAtencao(ActionMapping actionMapping, HttpServletRequest httpServletRequest,String chave, boolean naoExibirBotaoVoltarTelaAtencao){ httpServletRequest.setAttribute("naoExibirBotaoVoltarTelaAtencao",naoExibirBotaoVoltarTelaAtencao); reportarErros(httpServletRequest, chave); return actionMapping.findForward("telaAtencao"); } }