fixes bug #9910
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@74495 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
33238d3186
commit
26a5b44a8f
|
@ -8,5 +8,5 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||||
public interface ImportacaoClientesService {
|
public interface ImportacaoClientesService {
|
||||||
public String[] lerArquivo(Reader reader, List<Empresa> empresas);
|
public String[] lerArquivo(Reader reader, List<Empresa> empresas);
|
||||||
|
|
||||||
public Integer[] salvarClientes(String[] cliente, List<Empresa> empresas);
|
public Integer[] salvarClientes(String[] cliente, List<Empresa> empresas) throws Exception;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,17 +24,17 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
|
||||||
@Autowired
|
@Autowired
|
||||||
private ClienteService clienteService;
|
private ClienteService clienteService;
|
||||||
private static Logger log = Logger.getLogger(ImportacaoClientesServiceImpl.class);
|
private static Logger log = Logger.getLogger(ImportacaoClientesServiceImpl.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] lerArquivo(Reader reader, List<Empresa> empresas) {
|
public String[] lerArquivo(Reader reader, List<Empresa> empresas) {
|
||||||
String linha = null;
|
String linha = null;
|
||||||
Integer index = 0;
|
Integer index = 0;
|
||||||
StringBuilder qtdeGravados = new StringBuilder();
|
StringBuilder qtdeGravados = new StringBuilder();
|
||||||
StringBuilder erros = new StringBuilder();
|
StringBuilder erros = new StringBuilder();
|
||||||
|
|
||||||
Integer inseridos = 0;
|
Integer inseridos = 0;
|
||||||
Integer atualizados = 0;
|
Integer atualizados = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
BufferedReader leitor = new BufferedReader(reader);
|
BufferedReader leitor = new BufferedReader(reader);
|
||||||
|
|
||||||
|
@ -47,17 +47,22 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
|
||||||
}
|
}
|
||||||
|
|
||||||
leitor.close();
|
leitor.close();
|
||||||
|
|
||||||
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).append(" importados.\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() };
|
||||||
return resultado;
|
return resultado;
|
||||||
|
|
||||||
|
} catch (ArrayIndexOutOfBoundsException e) {
|
||||||
|
log.error(e);
|
||||||
|
String msg = "Erro ao gravar cliente na linha " + (index + 1) + " do arquivo.";
|
||||||
|
erros.append(msg);
|
||||||
|
String[] resultado = { "Houve erro ao gravar os clientes, consulte o arquivo de erros.", erros.toString() };
|
||||||
|
return resultado;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
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");
|
||||||
|
|
||||||
log.error(e);
|
log.error(e);
|
||||||
String[] resultado = { e.toString() };
|
String[] resultado = { e.toString() };
|
||||||
return resultado;
|
return resultado;
|
||||||
|
@ -65,50 +70,49 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer[] salvarClientes(String[] cliente, List<Empresa> empresas) {
|
public Integer[] salvarClientes(String[] cliente, List<Empresa> empresas) throws Exception {
|
||||||
String nomeCliente = cliente[1].replace("\"", "").toUpperCase();
|
String nomeCliente = cliente[1].replace("\"", "").toUpperCase();
|
||||||
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[] gravados = { 0, 0 };
|
||||||
|
|
||||||
|
for (Empresa e : empresas) {
|
||||||
|
|
||||||
for (Empresa e : empresas){
|
|
||||||
|
|
||||||
Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), e);
|
Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), e);
|
||||||
if (clienteGravar == null) {
|
if (clienteGravar == null) {
|
||||||
clienteGravar = new Cliente();
|
clienteGravar = new Cliente();
|
||||||
clienteGravar.setNombcliente(nomeCliente);
|
clienteGravar.setNombcliente(nomeCliente);
|
||||||
clienteGravar.setNumIdentificaUno(cliente[3]);
|
clienteGravar.setNumIdentificaUno(cliente[3]);
|
||||||
|
|
||||||
TarjetaFidelidad tarjetaFidelidad = new TarjetaFidelidad();
|
TarjetaFidelidad tarjetaFidelidad = new TarjetaFidelidad();
|
||||||
tarjetaFidelidad.setActivo(Boolean.TRUE);
|
tarjetaFidelidad.setActivo(Boolean.TRUE);
|
||||||
tarjetaFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
tarjetaFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
tarjetaFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
tarjetaFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
// cast para Integer para remover 0 a esquerda:
|
// cast para Integer para remover 0 a esquerda:
|
||||||
tarjetaFidelidad.setNumTarjeta(Long.parseLong(cliente[0]));
|
tarjetaFidelidad.setNumTarjeta(Long.parseLong(cliente[0]));
|
||||||
|
|
||||||
List<ClienteFidelidad> ls = new ArrayList<ClienteFidelidad>();
|
List<ClienteFidelidad> ls = new ArrayList<ClienteFidelidad>();
|
||||||
|
|
||||||
ClienteFidelidad clienteFidelidad = new ClienteFidelidad();
|
ClienteFidelidad clienteFidelidad = new ClienteFidelidad();
|
||||||
clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad);
|
clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad);
|
||||||
clienteFidelidad.setActivo(Boolean.TRUE);
|
clienteFidelidad.setActivo(Boolean.TRUE);
|
||||||
clienteFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
clienteFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
clienteFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
clienteFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
clienteFidelidad.setCliente(clienteGravar);
|
clienteFidelidad.setCliente(clienteGravar);
|
||||||
clienteFidelidad.setEmpresa(e);
|
clienteFidelidad.setEmpresa(e);
|
||||||
ls.add(clienteFidelidad);
|
ls.add(clienteFidelidad);
|
||||||
|
|
||||||
clienteGravar.setListClienteFidelidad(ls);
|
clienteGravar.setListClienteFidelidad(ls);
|
||||||
|
|
||||||
clienteService.suscribir(clienteGravar);
|
clienteService.suscribir(clienteGravar);
|
||||||
inseridos = inseridos + 1;
|
inseridos = inseridos + 1;
|
||||||
gravados[0] =gravados[0] + inseridos;
|
gravados[0] = gravados[0] + inseridos;
|
||||||
} else {
|
} else {
|
||||||
clienteGravar.setNombcliente(nomeCliente);
|
clienteGravar.setNombcliente(nomeCliente);
|
||||||
clienteGravar.setNumIdentificaUno(cliente[3]);
|
clienteGravar.setNumIdentificaUno(cliente[3]);
|
||||||
clienteService.actualizacion(clienteGravar);
|
clienteService.actualizacion(clienteGravar);
|
||||||
|
|
||||||
atualizados = atualizados + 1;
|
atualizados = atualizados + 1;
|
||||||
gravados[1] =gravados[1] + atualizados;
|
gravados[1] = gravados[1] + atualizados;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return gravados;
|
return gravados;
|
||||||
|
|
Loading…
Reference in New Issue