Importação NumFidelidade diferenciado por empresa (fixed bug #5162)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@34620 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
91168bca8d
commit
693d4a2a42
|
@ -9,7 +9,7 @@ public interface ClienteDAO extends GenericDAO<Cliente, Integer> {
|
||||||
|
|
||||||
public List<Cliente> buscar(String nombCliente);
|
public List<Cliente> buscar(String nombCliente);
|
||||||
|
|
||||||
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade);
|
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa);
|
||||||
|
|
||||||
public List<Cliente> buscarPorDocumento(String documento);
|
public List<Cliente> buscarPorDocumento(String documento);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,12 +42,13 @@ public class ClienteHibernateDAO extends GenericHibernateDAO<Cliente, Integer>
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) {
|
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa) {
|
||||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||||
|
|
||||||
Criteria clienteFidelidad = null;
|
Criteria clienteFidelidad = null;
|
||||||
clienteFidelidad = c.createCriteria("listClienteFidelidad");
|
clienteFidelidad = c.createCriteria("listClienteFidelidad");
|
||||||
clienteFidelidad.add(Restrictions.eq("activo", Boolean.TRUE));
|
clienteFidelidad.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||||
|
clienteFidelidad.add(Restrictions.eq("empresa", empresa));
|
||||||
|
|
||||||
Criteria tarjetaFidelidad = null;
|
Criteria tarjetaFidelidad = null;
|
||||||
tarjetaFidelidad = clienteFidelidad.createCriteria("tarjetaFidelidad");
|
tarjetaFidelidad = clienteFidelidad.createCriteria("tarjetaFidelidad");
|
||||||
|
|
|
@ -13,7 +13,7 @@ public interface ClienteService extends GenericService<Cliente, Integer> {
|
||||||
|
|
||||||
public List<Cliente> buscar(String numCliente);
|
public List<Cliente> buscar(String numCliente);
|
||||||
|
|
||||||
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade);
|
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa);
|
||||||
|
|
||||||
public List<Cliente> buscarPorDocumento(String documento);
|
public List<Cliente> buscarPorDocumento(String documento);
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,8 +67,8 @@ public class ClienteServiceImpl implements ClienteService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) {
|
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa) {
|
||||||
return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade);
|
return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade, empresa);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -80,22 +80,23 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
|
||||||
try {
|
try {
|
||||||
String nomeCliente = cliente[1].replace("\"", "").toUpperCase();
|
String nomeCliente = cliente[1].replace("\"", "").toUpperCase();
|
||||||
|
|
||||||
Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]));
|
for (Empresa e : empresas){
|
||||||
if (clienteGravar == null) {
|
|
||||||
clienteGravar = new Cliente();
|
|
||||||
clienteGravar.setNombcliente(nomeCliente);
|
|
||||||
clienteGravar.setNumIdentificaUno(cliente[3]);
|
|
||||||
|
|
||||||
TarjetaFidelidad tarjetaFidelidad = new TarjetaFidelidad();
|
Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), e);
|
||||||
tarjetaFidelidad.setActivo(Boolean.TRUE);
|
if (clienteGravar == null) {
|
||||||
tarjetaFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
clienteGravar = new Cliente();
|
||||||
tarjetaFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
clienteGravar.setNombcliente(nomeCliente);
|
||||||
// cast para Integer para remover 0 a esquerda:
|
clienteGravar.setNumIdentificaUno(cliente[3]);
|
||||||
tarjetaFidelidad.setNumTarjeta(Integer.parseInt(cliente[0]));
|
|
||||||
|
|
||||||
List<ClienteFidelidad> ls = new ArrayList<ClienteFidelidad>();
|
TarjetaFidelidad tarjetaFidelidad = new TarjetaFidelidad();
|
||||||
|
tarjetaFidelidad.setActivo(Boolean.TRUE);
|
||||||
|
tarjetaFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
tarjetaFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
|
// cast para Integer para remover 0 a esquerda:
|
||||||
|
tarjetaFidelidad.setNumTarjeta(Integer.parseInt(cliente[0]));
|
||||||
|
|
||||||
|
List<ClienteFidelidad> ls = new ArrayList<ClienteFidelidad>();
|
||||||
|
|
||||||
for (Empresa e : empresas){
|
|
||||||
ClienteFidelidad clienteFidelidad = new ClienteFidelidad();
|
ClienteFidelidad clienteFidelidad = new ClienteFidelidad();
|
||||||
clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad);
|
clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad);
|
||||||
clienteFidelidad.setActivo(Boolean.TRUE);
|
clienteFidelidad.setActivo(Boolean.TRUE);
|
||||||
|
@ -104,40 +105,18 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
|
||||||
clienteFidelidad.setCliente(clienteGravar);
|
clienteFidelidad.setCliente(clienteGravar);
|
||||||
clienteFidelidad.setEmpresa(e);
|
clienteFidelidad.setEmpresa(e);
|
||||||
ls.add(clienteFidelidad);
|
ls.add(clienteFidelidad);
|
||||||
|
|
||||||
|
clienteGravar.setListClienteFidelidad(ls);
|
||||||
|
|
||||||
|
clienteService.suscribir(clienteGravar);
|
||||||
|
inseridos = inseridos + 1;
|
||||||
|
} else {
|
||||||
|
clienteGravar.setNombcliente(nomeCliente);
|
||||||
|
clienteGravar.setNumIdentificaUno(cliente[3]);
|
||||||
|
clienteService.actualizacion(clienteGravar);
|
||||||
|
|
||||||
|
atualizados = atualizados + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
clienteGravar.setListClienteFidelidad(ls);
|
|
||||||
|
|
||||||
clienteService.suscribir(clienteGravar);
|
|
||||||
inseridos = inseridos + 1;
|
|
||||||
} else {
|
|
||||||
boolean possuiFidelidadeEmpresa;
|
|
||||||
for (Empresa e: empresas){
|
|
||||||
possuiFidelidadeEmpresa = false;
|
|
||||||
for (ClienteFidelidad cf : clienteGravar.getListClienteFidelidad()){
|
|
||||||
if (cf.getEmpresa() != null && cf.getEmpresa().equals(e)){
|
|
||||||
possuiFidelidadeEmpresa = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!possuiFidelidadeEmpresa){
|
|
||||||
TarjetaFidelidad tarjetaFidelidad = tarjetaFidelidadService.obtenerNumTarjeta(Integer.parseInt(cliente[0]));
|
|
||||||
|
|
||||||
ClienteFidelidad clienteFidelidad = new ClienteFidelidad();
|
|
||||||
clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad);
|
|
||||||
clienteFidelidad.setActivo(Boolean.TRUE);
|
|
||||||
clienteFidelidad.setFecmodif(Calendar.getInstance().getTime());
|
|
||||||
clienteFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
|
||||||
clienteFidelidad.setCliente(clienteGravar);
|
|
||||||
clienteFidelidad.setEmpresa(e);
|
|
||||||
clienteGravar.getListClienteFidelidad().add(clienteFidelidad);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
clienteGravar.setNombcliente(nomeCliente);
|
|
||||||
clienteGravar.setNumIdentificaUno(cliente[3]);
|
|
||||||
clienteService.actualizacion(clienteGravar);
|
|
||||||
|
|
||||||
atualizados = atualizados + 1;
|
|
||||||
}
|
}
|
||||||
}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");
|
||||||
|
|
Loading…
Reference in New Issue