diff --git a/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java b/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java index 879342030..315120687 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java @@ -3,12 +3,13 @@ package com.rjconsultores.ventaboletos.dao; import java.util.List; import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.Empresa; public interface ClienteDAO extends GenericDAO { public List buscar(String nombCliente); - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade); + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List empresas); public List buscarPorDocumento(String documento); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ClienteHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ClienteHibernateDAO.java index 380ca9df5..dcde2524e 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ClienteHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ClienteHibernateDAO.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Repository; import com.rjconsultores.ventaboletos.dao.ClienteDAO; import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.Empresa; @Repository("clienteDAO") public class ClienteHibernateDAO extends GenericHibernateDAO @@ -41,12 +42,13 @@ public class ClienteHibernateDAO extends GenericHibernateDAO } @Override - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) { + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List empresas) { Criteria c = getSession().createCriteria(getPersistentClass()); Criteria clienteFidelidad = null; clienteFidelidad = c.createCriteria("listClienteFidelidad"); clienteFidelidad.add(Restrictions.eq("activo", Boolean.TRUE)); + clienteFidelidad.add(Restrictions.in("empresa", empresas)); Criteria tarjetaFidelidad = null; tarjetaFidelidad = clienteFidelidad.createCriteria("tarjetaFidelidad"); diff --git a/src/com/rjconsultores/ventaboletos/service/ClienteService.java b/src/com/rjconsultores/ventaboletos/service/ClienteService.java index 6c191a054..365e5cb98 100644 --- a/src/com/rjconsultores/ventaboletos/service/ClienteService.java +++ b/src/com/rjconsultores/ventaboletos/service/ClienteService.java @@ -7,12 +7,13 @@ package com.rjconsultores.ventaboletos.service; import java.util.List; import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.Empresa; public interface ClienteService extends GenericService { public List buscar(String numCliente); - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade); + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List empresas); public List buscarPorDocumento(String documento); } diff --git a/src/com/rjconsultores/ventaboletos/service/ImportacaoClientesService.java b/src/com/rjconsultores/ventaboletos/service/ImportacaoClientesService.java index 44f822d9f..a16e0c069 100644 --- a/src/com/rjconsultores/ventaboletos/service/ImportacaoClientesService.java +++ b/src/com/rjconsultores/ventaboletos/service/ImportacaoClientesService.java @@ -3,8 +3,10 @@ package com.rjconsultores.ventaboletos.service; import java.io.Reader; import java.util.List; +import com.rjconsultores.ventaboletos.entidad.Empresa; + public interface ImportacaoClientesService { public List lerArquivo(Reader reader); - public String[] salvarClientes(List clientes); + public String[] salvarClientes(List clientes, List empresa); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java index a8be35f0e..3507d5cb6 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java @@ -4,17 +4,19 @@ */ package com.rjconsultores.ventaboletos.service.impl; -import com.rjconsultores.ventaboletos.dao.ClienteDAO; -import com.rjconsultores.ventaboletos.entidad.Cliente; -import com.rjconsultores.ventaboletos.service.ClienteService; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import java.util.Calendar; import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import org.springframework.transaction.annotation.Transactional; +import com.rjconsultores.ventaboletos.dao.ClienteDAO; +import com.rjconsultores.ventaboletos.entidad.Cliente; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.service.ClienteService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + /** * * @author Desenvolvimento @@ -65,8 +67,8 @@ public class ClienteServiceImpl implements ClienteService { } @Override - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) { - return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade); + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List empresas) { + return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade, empresas); } @Override diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java index de58b089a..8202d4832 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Service; import com.rjconsultores.ventaboletos.entidad.Cliente; import com.rjconsultores.ventaboletos.entidad.ClienteFidelidad; +import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad; import com.rjconsultores.ventaboletos.service.ClienteService; import com.rjconsultores.ventaboletos.service.ImportacaoClientesService; @@ -45,7 +46,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService } @Override - public String[] salvarClientes(List clientes) { + public String[] salvarClientes(List clientes, List empresas) { StringBuilder qtdeGravados = new StringBuilder(); StringBuilder erros = new StringBuilder(); @@ -56,7 +57,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService try { String nomeCliente = cliente[1].replace("\"", "").toUpperCase(); - Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0])); + Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), empresas); if (clienteGravar == null) { clienteGravar = new Cliente(); clienteGravar.setNombcliente(nomeCliente); @@ -68,15 +69,20 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService tarjetaFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); // cast para Integer para remover 0 a esquerda: tarjetaFidelidad.setNumTarjeta(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); + List ls = new ArrayList(); - ls.add(clienteFidelidad); + + for (Empresa e : empresas){ + 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); + ls.add(clienteFidelidad); + } + clienteGravar.setListClienteFidelidad(ls); clienteService.suscribir(clienteGravar);