0005011: Importação Clientes - Número fidelidade por empresa

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@34320 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2014-03-25 14:20:46 +00:00
parent 8e1f909690
commit 8e0327e4c3
9 changed files with 52 additions and 10 deletions

View File

@ -9,7 +9,7 @@ public interface ClienteDAO extends GenericDAO<Cliente, Integer> {
public List<Cliente> buscar(String nombCliente);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade);
public List<Cliente> buscarPorDocumento(String documento);
}

View File

@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidadCuenta;
import java.util.List;
/**
@ -16,6 +17,6 @@ import java.util.List;
public interface TarjetaFidelidadDAO extends GenericDAO<TarjetaFidelidad, Integer>{
public List<TarjetaFidelidadCuenta> obtenerCantDesc();
public TarjetaFidelidad obtenerNumTarjeta(Integer numTarjeta);
}

View File

@ -42,20 +42,20 @@ public class ClienteHibernateDAO extends GenericHibernateDAO<Cliente, Integer>
}
@Override
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas) {
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) {
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");
tarjetaFidelidad.add(Restrictions.eq("numTarjeta", numeroFidelidade));
tarjetaFidelidad.add(Restrictions.eq("activo", Boolean.TRUE));
return (Cliente) c.uniqueResult();
List<Cliente> clientes = c.list();
return clientes.size() > 0 ? clientes.get(0) : null;
}
@Override

View File

@ -12,6 +12,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
@ -44,6 +45,13 @@ public class TarjetaFidelidadHibernateDAO extends GenericHibernateDAO<TarjetaFid
return c.list();
}
public TarjetaFidelidad obtenerNumTarjeta(Integer numTarjeta){
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("numTarjeta", numTarjeta));
return (TarjetaFidelidad)c.list().get(0);
}
public List<TarjetaFidelidadCuenta> obtenerCantDesc() {
/*Criteria c = getSession().createCriteria(getPersistentClass());

View File

@ -13,7 +13,7 @@ public interface ClienteService extends GenericService<Cliente, Integer> {
public List<Cliente> buscar(String numCliente);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade);
public List<Cliente> buscarPorDocumento(String documento);
}

View File

@ -7,6 +7,7 @@ package com.rjconsultores.ventaboletos.service;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidadCuenta;
import java.util.List;
/**
@ -16,4 +17,5 @@ import java.util.List;
public interface TarjetaFidelidadService extends GenericService<TarjetaFidelidad, Integer>{
public List<TarjetaFidelidadCuenta> obtenerCantDesc();
public TarjetaFidelidad obtenerNumTarjeta(Integer numTarjeta);
}

View File

@ -67,8 +67,8 @@ public class ClienteServiceImpl implements ClienteService {
}
@Override
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas) {
return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade, empresas);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) {
return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade);
}
@Override

View File

@ -16,6 +16,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad;
import com.rjconsultores.ventaboletos.service.ClienteService;
import com.rjconsultores.ventaboletos.service.ImportacaoClientesService;
import com.rjconsultores.ventaboletos.service.TarjetaFidelidadService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Service("importacaoClientesService")
@ -23,6 +24,8 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
@Autowired
private ClienteService clienteService;
@Autowired
private TarjetaFidelidadService tarjetaFidelidadService;
private static Logger log = Logger.getLogger(ImportacaoClientesServiceImpl.class);
@Override
@ -57,7 +60,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
try {
String nomeCliente = cliente[1].replace("\"", "").toUpperCase();
Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), empresas);
Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]));
if (clienteGravar == null) {
clienteGravar = new Cliente();
clienteGravar.setNombcliente(nomeCliente);
@ -88,6 +91,28 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
clienteService.suscribir(clienteGravar);
inseridos = inseridos + 1;
} else {
boolean possuiFidelidadeEmpresa;
for (Empresa e: empresas){
possuiFidelidadeEmpresa = false;
for (ClienteFidelidad cf : clienteGravar.getListClienteFidelidad()){
if (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);

View File

@ -10,8 +10,10 @@ import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidadCuenta;
import com.rjconsultores.ventaboletos.service.TarjetaFidelidadService;
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;
@ -34,6 +36,10 @@ public class TarjetaFidelidadServiceImpl implements TarjetaFidelidadService {
return fidelidadDAO.obtenerID(id);
}
public TarjetaFidelidad obtenerNumTarjeta(Integer numTarjeta){
return fidelidadDAO.obtenerNumTarjeta(numTarjeta);
}
@Transactional
public TarjetaFidelidad suscribir(TarjetaFidelidad entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());