From 693d4a2a42862e3043b3c803725a1d5b4231d1e0 Mon Sep 17 00:00:00 2001 From: leonardo Date: Mon, 7 Apr 2014 19:51:43 +0000 Subject: [PATCH] =?UTF-8?q?Importa=C3=A7=C3=A3o=20NumFidelidade=20diferenc?= =?UTF-8?q?iado=20por=20empresa=20(fixed=20bug=20#5162)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@34620 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/ClienteDAO.java | 2 +- .../dao/hibernate/ClienteHibernateDAO.java | 3 +- .../ventaboletos/service/ClienteService.java | 2 +- .../service/impl/ClienteServiceImpl.java | 4 +- .../impl/ImportacaoClientesServiceImpl.java | 73 +++++++------------ 5 files changed, 32 insertions(+), 52 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java b/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java index f067a429c..015e3da5f 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ClienteDAO.java @@ -9,7 +9,7 @@ public interface ClienteDAO extends GenericDAO { public List buscar(String nombCliente); - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade); + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa); 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 3a00d753e..fb21a64d4 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ClienteHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ClienteHibernateDAO.java @@ -42,12 +42,13 @@ public class ClienteHibernateDAO extends GenericHibernateDAO } @Override - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) { + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa) { Criteria c = getSession().createCriteria(getPersistentClass()); Criteria clienteFidelidad = null; clienteFidelidad = c.createCriteria("listClienteFidelidad"); clienteFidelidad.add(Restrictions.eq("activo", Boolean.TRUE)); + clienteFidelidad.add(Restrictions.eq("empresa", empresa)); 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 ed6f524b7..1197be07f 100644 --- a/src/com/rjconsultores/ventaboletos/service/ClienteService.java +++ b/src/com/rjconsultores/ventaboletos/service/ClienteService.java @@ -13,7 +13,7 @@ public interface ClienteService extends GenericService { public List buscar(String numCliente); - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade); + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa); public List buscarPorDocumento(String documento); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java index 824a90d7b..f73e53fc7 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ClienteServiceImpl.java @@ -67,8 +67,8 @@ public class ClienteServiceImpl implements ClienteService { } @Override - public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) { - return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade); + public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, Empresa empresa) { + return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade, empresa); } @Override diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java index 2b044ddba..96ec44e03 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ImportacaoClientesServiceImpl.java @@ -80,22 +80,23 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService try { String nomeCliente = cliente[1].replace("\"", "").toUpperCase(); - Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0])); - if (clienteGravar == null) { - clienteGravar = new Cliente(); - clienteGravar.setNombcliente(nomeCliente); - clienteGravar.setNumIdentificaUno(cliente[3]); - - 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])); + for (Empresa e : empresas){ - List ls = new ArrayList(); - - for (Empresa e : empresas){ + Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), e); + if (clienteGravar == null) { + clienteGravar = new Cliente(); + clienteGravar.setNombcliente(nomeCliente); + clienteGravar.setNumIdentificaUno(cliente[3]); + + 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 ls = new ArrayList(); + ClienteFidelidad clienteFidelidad = new ClienteFidelidad(); clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad); clienteFidelidad.setActivo(Boolean.TRUE); @@ -104,40 +105,18 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService clienteFidelidad.setCliente(clienteGravar); clienteFidelidad.setEmpresa(e); ls.add(clienteFidelidad); - } - - clienteGravar.setListClienteFidelidad(ls); + + 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); + clienteService.suscribir(clienteGravar); + inseridos = inseridos + 1; + } else { + clienteGravar.setNombcliente(nomeCliente); + clienteGravar.setNumIdentificaUno(cliente[3]); + clienteService.actualizacion(clienteGravar); - atualizados = atualizados + 1; + atualizados = atualizados + 1; + } } }catch (Exception e) { erros.append("Linha ").append(index).append(" do arquivo de clientes, erro: ").append(e.getCause().getCause()).append("\n");