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

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@34165 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2014-03-18 19:07:11 +00:00
parent a44b13cfba
commit b4b0640c75
6 changed files with 35 additions and 21 deletions

View File

@ -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<Cliente, Integer> {
public List<Cliente> buscar(String nombCliente);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas);
public List<Cliente> buscarPorDocumento(String documento);
}

View File

@ -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<Cliente, Integer>
@ -41,12 +42,13 @@ public class ClienteHibernateDAO extends GenericHibernateDAO<Cliente, Integer>
}
@Override
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) {
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> 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");

View File

@ -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<Cliente, Integer> {
public List<Cliente> buscar(String numCliente);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade);
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas);
public List<Cliente> buscarPorDocumento(String documento);
}

View File

@ -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<String[]> lerArquivo(Reader reader);
public String[] salvarClientes(List<String[]> clientes);
public String[] salvarClientes(List<String[]> clientes, List<Empresa> empresa);
}

View File

@ -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<Empresa> empresas) {
return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade, empresas);
}
@Override

View File

@ -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<String[]> clientes) {
public String[] salvarClientes(List<String[]> clientes, List<Empresa> 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<ClienteFidelidad> ls = new ArrayList<ClienteFidelidad>();
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);