B23 - Não permitir excluir uma empresa quando tiver cadastros associados a ela (fixed bug #5253)

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@35226 d1611594-4594-4d17-8e1d-87c2c4800839
master
leonardo 2014-05-01 19:58:18 +00:00
parent f42cd48c25
commit dcb78d243b
11 changed files with 75 additions and 18 deletions

View File

@ -5,6 +5,7 @@
package com.rjconsultores.ventaboletos.dao;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.EsquemaOperacional;
import com.rjconsultores.ventaboletos.entidad.Marca;
@ -22,6 +23,8 @@ import java.util.List;
public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscarPorEmpresaCorrida(Empresa empresa);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo, Ruta ruta, ClaseServicio claseServicio);

View File

@ -4,6 +4,9 @@
*/
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
/**
@ -11,4 +14,6 @@ import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
* @author Administrador
*/
public interface RutaEmpresaDAO extends GenericDAO<RutaEmpresa, Integer> {
public List<RutaEmpresa> obtenerPorEmpresa(Empresa empresa);
}

View File

@ -21,6 +21,8 @@ import com.rjconsultores.ventaboletos.dao.EmpresaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
/**
*
@ -43,7 +45,7 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer>
return c.list();
}
public List<Empresa> buscar(String nombempresa, Boolean indExterna, Short indTipo) {
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
@ -75,21 +77,6 @@ public class EmpresaHibernateDAO extends GenericHibernateDAO<Empresa, Integer>
return c.list();
}
// public List<Empresa> obtenerIndTipo1(Usuario usuario) {
// Criteria c = getSession().createCriteria(getPersistentClass());
// c.add(Restrictions.eq("activo", Boolean.TRUE));
// c.add(Restrictions.eq("indTipo", new Short("1")));
//
// //Nao Buscar Empresa todas
// c.add(Restrictions.ne("empresaId", -1));
//
// c.addOrder(Order.asc("nombempresa"));
//
// return c.list();
// }
public List<Empresa> obtenerIndTipo2() {

View File

@ -19,6 +19,7 @@ import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.EsquemaOperacional;
import com.rjconsultores.ventaboletos.entidad.Marca;
@ -46,6 +47,15 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return c.list();
}
public List<EsquemaCorrida> buscarPorEmpresaCorrida(Empresa empresa){
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("empresaCorrida", empresa));
c.add(Restrictions.eq("activo", Boolean.TRUE));
return c.list();
}
public List<EsquemaCorrida> buscarPorEsquemaOperacional(
EsquemaOperacional eo) {

View File

@ -4,13 +4,19 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import com.rjconsultores.ventaboletos.dao.RutaEmpresaDAO;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.rjconsultores.ventaboletos.dao.RutaEmpresaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
/**
*
* @author Administrador
@ -23,4 +29,11 @@ public class RutaEmpresaHibernateDAO extends GenericHibernateDAO<RutaEmpresa, In
public RutaEmpresaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
public List<RutaEmpresa> obtenerPorEmpresa(Empresa empresa){
Criteria c = getSession().createCriteria(getPersistentClass());
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("empresa", empresa));
return c.list();
}
}

View File

@ -24,6 +24,8 @@ public interface EmpresaService {
public Empresa suscribirActualizacion(Empresa entidad) throws BusinessException;
public void borrar(Empresa entidad);
public boolean puedeBorrar(Empresa entidad);
public List<Empresa> buscar(String nombempresa, Boolean indExterna, Short indTipo);

View File

@ -9,6 +9,7 @@ import java.util.List;
import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.EsquemaOperacional;
import com.rjconsultores.ventaboletos.entidad.Marca;
@ -24,6 +25,8 @@ import com.rjconsultores.ventaboletos.entidad.Tramo;
public interface EsquemaCorridaService extends GenericService<EsquemaCorrida, Integer> {
public List<EsquemaCorrida> buscarPorEsquemaOperacional(EsquemaOperacional eo);
public List<EsquemaCorrida> buscarPorEmpresaCorrida(Empresa empresa);
public List<EsquemaCorrida> buscar(Marca marca, RolOperativo rolOperativo,Ruta ruta, ClaseServicio claseServicio);

View File

@ -4,6 +4,9 @@
*/
package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
/**
@ -11,4 +14,6 @@ import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
* @author Administrador
*/
public interface RutaEmpresaService extends GenericService<RutaEmpresa, Integer> {
public List<RutaEmpresa> obtenerPorEmpresa(Empresa empresa);
}

View File

@ -15,8 +15,11 @@ import com.rjconsultores.ventaboletos.dao.EmpresaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EsquemaCorridaService;
import com.rjconsultores.ventaboletos.service.RutaEmpresaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
/**
@ -29,6 +32,12 @@ public class EmpresaServiceImpl implements EmpresaService {
@Autowired
private EmpresaDAO empresaDAO;
@Autowired
private RutaEmpresaService rutaEmpresaService;
@Autowired
private EsquemaCorridaService esquemaCorridaService;
public List<Empresa> obtenerTodos() {
return empresaDAO.obtenerTodos();
}
@ -70,6 +79,12 @@ public class EmpresaServiceImpl implements EmpresaService {
empresaDAO.actualizacion(entidad);
}
@Override
public boolean puedeBorrar(Empresa entidad){
return (rutaEmpresaService.obtenerPorEmpresa(entidad).size() <= 0) &&
(esquemaCorridaService.buscarPorEmpresaCorrida(entidad).size() <= 0);
}
public List<Empresa> buscar(String nombempresa, Boolean indExterna, Short indTipo) {
return empresaDAO.buscar(nombempresa, indExterna, indTipo);

View File

@ -16,6 +16,7 @@ import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO;
import com.rjconsultores.ventaboletos.dao.EsquemaTramoDAO;
import com.rjconsultores.ventaboletos.dao.RutaCombinacionDAO;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EsquemaAsiento;
import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida;
import com.rjconsultores.ventaboletos.entidad.EsquemaOperacional;
@ -52,6 +53,11 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
return esquemaCorridaDAO.obtenerID(id);
}
@Override
public List<EsquemaCorrida> buscarPorEmpresaCorrida(Empresa empresa){
return esquemaCorridaDAO.buscarPorEmpresaCorrida(empresa);
}
@Transactional
public EsquemaCorrida suscribir(EsquemaCorrida entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());

View File

@ -5,11 +5,14 @@
package com.rjconsultores.ventaboletos.service.impl;
import com.rjconsultores.ventaboletos.dao.RutaEmpresaDAO;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.RutaEmpresa;
import com.rjconsultores.ventaboletos.service.RutaEmpresaService;
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;
@ -58,4 +61,9 @@ public class RutaEmpresaServiceImpl implements RutaEmpresaService {
rutaEmpresaDAO.actualizacion(entidad);
}
@Override
public List<RutaEmpresa> obtenerPorEmpresa(Empresa empresa) {
return rutaEmpresaDAO.obtenerPorEmpresa(empresa);
}
}