From ebfa6ec73cb714fde2a3dc26dc4b8473cfaabbbc Mon Sep 17 00:00:00 2001 From: aristides Date: Fri, 2 Aug 2019 16:27:26 +0000 Subject: [PATCH] fixes bug#14879 dev:LUCAS SILVEIRO qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@96343 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/ImportacaoClientesServiceImpl.java | 87 ++++++++++--------- .../ventaboletos/utilerias/CustomEnum.java | 4 +- 2 files changed, 50 insertions(+), 41 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java index 9f9d721e5..b93384a13 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java @@ -165,6 +165,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService StringBuilder erros = new StringBuilder(); Integer inseridos = 0; Integer atualizados = 0; + Integer desconsiderados =0; InputStream isMExcel = media.getStreamData(); Sheet sheet = null; @@ -261,6 +262,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService Integer[] gravados = salvarClienteExcel(empresas, usaCPFComoFidelidade, cliente, tipoIdentificacionUno, tipoIdentificacionDoos); inseridos = gravados[0] + inseridos; atualizados = gravados[1] + atualizados; + desconsiderados = gravados[2] + desconsiderados; } else { erros.append("\n erro ao gravar o cliente na linha "); @@ -269,7 +271,8 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService } } - qtdeGravados.append("Gravados ").append(inseridos + atualizados).append(" clientes de ").append(index).append(" importados.\n"); + qtdeGravados.append("Gravados ").append(inseridos + atualizados).append(" clientes de ").append(index-1).append(" importados.\n"); + qtdeGravados.append("Desconsiderados ").append(desconsiderados).append(" clientes.\n"); qtdeGravados.append("Atualizados ").append(atualizados).append(" clientes.\n"); qtdeGravados.append("Inseridos ").append(inseridos).append(" novos clientes."); String[] resultado = { qtdeGravados.toString(), erros.toString() }; @@ -283,7 +286,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService return resultado; } catch (Exception e) { e.printStackTrace(); - erros.append("Linha ").append(index).append(" do arquivo de clientes, erro: ").append(e.getCause().getCause()).append("\n"); + erros.append("Linha ").append(index).append(" do arquivo de clientes, erro: ").append(e.getCause().getCause()).append("\n"); String[] resultado = { "Houve erro ao gravar os clientes, consulte o arquivo de erros.", erros.toString() }; return resultado; } @@ -299,17 +302,24 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService private Integer[] salvarClienteExcel(List empresas, Boolean usaCPFComoFidelidade, ClienteExcelVo cliente, TipoIdentificacion tipoIdentificacionUno, TipoIdentificacion tipoIdentificacionDoos) throws ParseException { Integer inseridos = new Integer(0); Integer atualizados = new Integer(0); - Integer[] gravados = { 0, 0 }; + Integer desconsiderados = new Integer(0); + Integer[] gravados = { 0, 0, 0 }; Cliente clienteGravar = new Cliente(); List lsCliente = clienteService.buscarPorDocumento(cliente.getCpf()); if (lsCliente != null && !lsCliente.isEmpty()) { - clienteGravar = lsCliente.get(0); - } - - if (true) { - criarFidelidadesTodasEmpresas(clienteGravar, empresas, cliente); + if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_DESCONSIDERA_CLIENTE_NA_BASE.getDescricao())) { + desconsiderados = desconsiderados + 1; + gravados[2] = gravados[2] + desconsiderados; + return gravados; + } else { + clienteGravar = lsCliente.get(0); + } } + + // if (true) { + criarFidelidadesTodasEmpresas(clienteGravar, empresas, cliente); + // } clienteGravar.setFecnacimiento(StringUtils.isEmpty(cliente.getNascimento()) ? null : retornaDate(cliente.getNascimento())); clienteGravar.setDesccorreo(cliente.getEmail()); clienteGravar.setNombcliente(cliente.getNome()); @@ -362,48 +372,45 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService private void criarFidelidadesTodasEmpresas(Cliente cliente, List empresas, ClienteExcelVo cExce) { - - Boolean achou = false; List fidelidades = null; - - - if(cliente.getClienteId()==null){ + + if (cliente.getClienteId() == null) { fidelidades = new ArrayList(); for (Empresa e : empresas) { fidelidades.add(criarFidelidade(e, cExce)); } cliente.setListClienteFidelidad(fidelidades); - - }else{ - fidelidades=cliente.getListClienteFidelidad(); - if (fidelidades == null || fidelidades.isEmpty()) { - for (Empresa e : empresas) { - fidelidades.add(criarFidelidade(e, cExce)); - } - } else { - for (Empresa e : empresas) { - for (ClienteFidelidad f : fidelidades) { - if (f.getEmpresa().equals(e)) { - f.setActivo(true); - f.setFecmodif(new Date()); - TarjetaFidelidad tarjetaFidelidad = f.getTarjetaFidelidad(); - if (tarjetaFidelidad != null) { - tarjetaFidelidad.setActivo(true); - tarjetaFidelidad.setFecmodif(new Date()); - } - achou = true; - break; - } - } - if (!achou) { + } else { + fidelidades = cliente.getListClienteFidelidad(); + if (fidelidades == null || fidelidades.isEmpty()) { + for (Empresa e : empresas) { fidelidades.add(criarFidelidade(e, cExce)); } - achou = false; + } else { + for (Empresa e : empresas) { + for (ClienteFidelidad f : fidelidades) { + if (f.getEmpresa().equals(e)) { + f.setActivo(true); + f.setFecmodif(new Date()); + TarjetaFidelidad tarjetaFidelidad = f.getTarjetaFidelidad(); + if (tarjetaFidelidad != null) { + tarjetaFidelidad.setActivo(true); + tarjetaFidelidad.setFecmodif(new Date()); + } + + achou = true; + break; + } + } + if (!achou) { + fidelidades.add(criarFidelidade(e, cExce)); + } + achou = false; + } } } - } } @@ -461,7 +468,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService if (!StringUtils.isEmpty(cliente.getCpf())) { try { - Long.parseLong(cliente.getCpf()); + Long.parseLong(cliente.getCpf()); if (!validarCPF(cliente.getCpf())) { erros.append("CPF inválido."); return false; @@ -487,7 +494,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService } if (!StringUtils.isEmpty(cliente.getSexo())) { - if (cliente.getSexo().length() != 1 || !(cliente.getSexo().equalsIgnoreCase("s") || cliente.getSexo().equalsIgnoreCase("m"))) { + if (!(cliente.getSexo().equalsIgnoreCase("f") || cliente.getSexo().equalsIgnoreCase("m") || cliente.getSexo().equalsIgnoreCase("masculino") || cliente.getSexo().equalsIgnoreCase("feminino"))) { erros.append("Campo sexo foi informado incorretamente."); return false; } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java b/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java index 1df619a4c..fe9311dc8 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java @@ -132,7 +132,9 @@ public enum CustomEnum { IS_RECEITA_DESPESAS_COMPORTE("isReceitasDespesasComporte"), - IS_COD_RECEITA_FIXO_BGM("isCodReceitaFixoBgm"); + IS_COD_RECEITA_FIXO_BGM("isCodReceitaFixoBgm"), + + IS_DESCONSIDERA_CLIENTE_NA_BASE("isDesconsideraClienteNaBase"); private String descricao;