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-87c2c4800839master
parent
34f8ccfad1
commit
ebfa6ec73c
|
@ -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<Empresa> 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<Cliente> 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<Empresa> empresas, ClienteExcelVo cExce) {
|
||||
|
||||
|
||||
|
||||
Boolean achou = false;
|
||||
List<ClienteFidelidad> fidelidades = null;
|
||||
|
||||
|
||||
if(cliente.getClienteId()==null){
|
||||
|
||||
if (cliente.getClienteId() == null) {
|
||||
fidelidades = new ArrayList<ClienteFidelidad>();
|
||||
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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue