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
master
aristides 2019-08-02 16:27:26 +00:00
parent 34f8ccfad1
commit ebfa6ec73c
2 changed files with 50 additions and 41 deletions

View File

@ -165,6 +165,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
StringBuilder erros = new StringBuilder(); StringBuilder erros = new StringBuilder();
Integer inseridos = 0; Integer inseridos = 0;
Integer atualizados = 0; Integer atualizados = 0;
Integer desconsiderados =0;
InputStream isMExcel = media.getStreamData(); InputStream isMExcel = media.getStreamData();
Sheet sheet = null; Sheet sheet = null;
@ -261,6 +262,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
Integer[] gravados = salvarClienteExcel(empresas, usaCPFComoFidelidade, cliente, tipoIdentificacionUno, tipoIdentificacionDoos); Integer[] gravados = salvarClienteExcel(empresas, usaCPFComoFidelidade, cliente, tipoIdentificacionUno, tipoIdentificacionDoos);
inseridos = gravados[0] + inseridos; inseridos = gravados[0] + inseridos;
atualizados = gravados[1] + atualizados; atualizados = gravados[1] + atualizados;
desconsiderados = gravados[2] + desconsiderados;
} else { } else {
erros.append("\n erro ao gravar o cliente na linha "); 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("Atualizados ").append(atualizados).append(" clientes.\n");
qtdeGravados.append("Inseridos ").append(inseridos).append(" novos clientes."); qtdeGravados.append("Inseridos ").append(inseridos).append(" novos clientes.");
String[] resultado = { qtdeGravados.toString(), erros.toString() }; String[] resultado = { qtdeGravados.toString(), erros.toString() };
@ -299,17 +302,24 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
private Integer[] salvarClienteExcel(List<Empresa> empresas, Boolean usaCPFComoFidelidade, ClienteExcelVo cliente, TipoIdentificacion tipoIdentificacionUno, TipoIdentificacion tipoIdentificacionDoos) throws ParseException { private Integer[] salvarClienteExcel(List<Empresa> empresas, Boolean usaCPFComoFidelidade, ClienteExcelVo cliente, TipoIdentificacion tipoIdentificacionUno, TipoIdentificacion tipoIdentificacionDoos) throws ParseException {
Integer inseridos = new Integer(0); Integer inseridos = new Integer(0);
Integer atualizados = 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(); Cliente clienteGravar = new Cliente();
List<Cliente> lsCliente = clienteService.buscarPorDocumento(cliente.getCpf()); List<Cliente> lsCliente = clienteService.buscarPorDocumento(cliente.getCpf());
if (lsCliente != null && !lsCliente.isEmpty()) { if (lsCliente != null && !lsCliente.isEmpty()) {
clienteGravar = lsCliente.get(0); 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) { // if (true) {
criarFidelidadesTodasEmpresas(clienteGravar, empresas, cliente); criarFidelidadesTodasEmpresas(clienteGravar, empresas, cliente);
} // }
clienteGravar.setFecnacimiento(StringUtils.isEmpty(cliente.getNascimento()) ? null : retornaDate(cliente.getNascimento())); clienteGravar.setFecnacimiento(StringUtils.isEmpty(cliente.getNascimento()) ? null : retornaDate(cliente.getNascimento()));
clienteGravar.setDesccorreo(cliente.getEmail()); clienteGravar.setDesccorreo(cliente.getEmail());
clienteGravar.setNombcliente(cliente.getNome()); clienteGravar.setNombcliente(cliente.getNome());
@ -362,48 +372,45 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
private void criarFidelidadesTodasEmpresas(Cliente cliente, List<Empresa> empresas, ClienteExcelVo cExce) { private void criarFidelidadesTodasEmpresas(Cliente cliente, List<Empresa> empresas, ClienteExcelVo cExce) {
Boolean achou = false; Boolean achou = false;
List<ClienteFidelidad> fidelidades = null; List<ClienteFidelidad> fidelidades = null;
if (cliente.getClienteId() == null) {
if(cliente.getClienteId()==null){
fidelidades = new ArrayList<ClienteFidelidad>(); fidelidades = new ArrayList<ClienteFidelidad>();
for (Empresa e : empresas) { for (Empresa e : empresas) {
fidelidades.add(criarFidelidade(e, cExce)); fidelidades.add(criarFidelidade(e, cExce));
} }
cliente.setListClienteFidelidad(fidelidades); cliente.setListClienteFidelidad(fidelidades);
}else{
fidelidades=cliente.getListClienteFidelidad();
if (fidelidades == null || fidelidades.isEmpty()) {
for (Empresa e : empresas) {
fidelidades.add(criarFidelidade(e, cExce));
}
} else { } else {
for (Empresa e : empresas) { fidelidades = cliente.getListClienteFidelidad();
for (ClienteFidelidad f : fidelidades) { if (fidelidades == null || fidelidades.isEmpty()) {
if (f.getEmpresa().equals(e)) { for (Empresa e : empresas) {
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)); 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())) { if (!StringUtils.isEmpty(cliente.getCpf())) {
try { try {
Long.parseLong(cliente.getCpf()); Long.parseLong(cliente.getCpf());
if (!validarCPF(cliente.getCpf())) { if (!validarCPF(cliente.getCpf())) {
erros.append("CPF inválido."); erros.append("CPF inválido.");
return false; return false;
@ -487,7 +494,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
} }
if (!StringUtils.isEmpty(cliente.getSexo())) { 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."); erros.append("Campo sexo foi informado incorretamente.");
return false; return false;
} }

View File

@ -132,7 +132,9 @@ public enum CustomEnum {
IS_RECEITA_DESPESAS_COMPORTE("isReceitasDespesasComporte"), 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; private String descricao;