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 java.util.List;
import com.rjconsultores.ventaboletos.entidad.Cliente; import com.rjconsultores.ventaboletos.entidad.Cliente;
import com.rjconsultores.ventaboletos.entidad.Empresa;
public interface ClienteDAO extends GenericDAO<Cliente, Integer> { 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, List<Empresa> empresas);
public List<Cliente> buscarPorDocumento(String documento); 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.dao.ClienteDAO;
import com.rjconsultores.ventaboletos.entidad.Cliente; import com.rjconsultores.ventaboletos.entidad.Cliente;
import com.rjconsultores.ventaboletos.entidad.Empresa;
@Repository("clienteDAO") @Repository("clienteDAO")
public class ClienteHibernateDAO extends GenericHibernateDAO<Cliente, Integer> public class ClienteHibernateDAO extends GenericHibernateDAO<Cliente, Integer>
@ -41,12 +42,13 @@ public class ClienteHibernateDAO extends GenericHibernateDAO<Cliente, Integer>
} }
@Override @Override
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) { public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas) {
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.in("empresa", empresas));
Criteria tarjetaFidelidad = null; Criteria tarjetaFidelidad = null;
tarjetaFidelidad = clienteFidelidad.createCriteria("tarjetaFidelidad"); tarjetaFidelidad = clienteFidelidad.createCriteria("tarjetaFidelidad");

View File

@ -7,12 +7,13 @@ package com.rjconsultores.ventaboletos.service;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Cliente; import com.rjconsultores.ventaboletos.entidad.Cliente;
import com.rjconsultores.ventaboletos.entidad.Empresa;
public interface ClienteService extends GenericService<Cliente, Integer> { 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, List<Empresa> empresas);
public List<Cliente> buscarPorDocumento(String documento); public List<Cliente> buscarPorDocumento(String documento);
} }

View File

@ -3,8 +3,10 @@ package com.rjconsultores.ventaboletos.service;
import java.io.Reader; import java.io.Reader;
import java.util.List; import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
public interface ImportacaoClientesService { public interface ImportacaoClientesService {
public List<String[]> lerArquivo(Reader reader); 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; 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.Calendar;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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 * @author Desenvolvimento
@ -65,8 +67,8 @@ public class ClienteServiceImpl implements ClienteService {
} }
@Override @Override
public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade) { public Cliente buscarPorNumeroFidelidade(Integer numeroFidelidade, List<Empresa> empresas) {
return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade); return clienteDAO.buscarPorNumeroFidelidade(numeroFidelidade, empresas);
} }
@Override @Override

View File

@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
import com.rjconsultores.ventaboletos.entidad.Cliente; import com.rjconsultores.ventaboletos.entidad.Cliente;
import com.rjconsultores.ventaboletos.entidad.ClienteFidelidad; import com.rjconsultores.ventaboletos.entidad.ClienteFidelidad;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad; import com.rjconsultores.ventaboletos.entidad.TarjetaFidelidad;
import com.rjconsultores.ventaboletos.service.ClienteService; import com.rjconsultores.ventaboletos.service.ClienteService;
import com.rjconsultores.ventaboletos.service.ImportacaoClientesService; import com.rjconsultores.ventaboletos.service.ImportacaoClientesService;
@ -45,7 +46,7 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
} }
@Override @Override
public String[] salvarClientes(List<String[]> clientes) { public String[] salvarClientes(List<String[]> clientes, List<Empresa> empresas) {
StringBuilder qtdeGravados = new StringBuilder(); StringBuilder qtdeGravados = new StringBuilder();
StringBuilder erros = new StringBuilder(); StringBuilder erros = new StringBuilder();
@ -56,7 +57,7 @@ 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])); Cliente clienteGravar = clienteService.buscarPorNumeroFidelidade(Integer.parseInt(cliente[0]), empresas);
if (clienteGravar == null) { if (clienteGravar == null) {
clienteGravar = new Cliente(); clienteGravar = new Cliente();
clienteGravar.setNombcliente(nomeCliente); clienteGravar.setNombcliente(nomeCliente);
@ -69,14 +70,19 @@ public class ImportacaoClientesServiceImpl implements ImportacaoClientesService
// cast para Integer para remover 0 a esquerda: // cast para Integer para remover 0 a esquerda:
tarjetaFidelidad.setNumTarjeta(Integer.parseInt(cliente[0])); 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);
clienteFidelidad.setFecmodif(Calendar.getInstance().getTime()); clienteFidelidad.setFecmodif(Calendar.getInstance().getTime());
clienteFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); clienteFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
clienteFidelidad.setCliente(clienteGravar); clienteFidelidad.setCliente(clienteGravar);
List<ClienteFidelidad> ls = new ArrayList<ClienteFidelidad>(); clienteFidelidad.setEmpresa(e);
ls.add(clienteFidelidad); ls.add(clienteFidelidad);
}
clienteGravar.setListClienteFidelidad(ls); clienteGravar.setListClienteFidelidad(ls);
clienteService.suscribir(clienteGravar); clienteService.suscribir(clienteGravar);