- validação ao salvar aliasservicio

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@24354 d1611594-4594-4d17-8e1d-87c2c4800839
master
gleimar 2013-02-15 20:23:20 +00:00
parent b8868d41e3
commit 6474559df2
5 changed files with 103 additions and 12 deletions

View File

@ -1,7 +1,29 @@
package com.rjconsultores.ventaboletos.dao;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
public interface AliasServicoDAO extends GenericDAO<AliasServico, Integer>{
/**
* Realiza a buscar com os filtros informados e restringindo o corridaId para is null
*
* @param origenId
* @param destinoId
* @param rutaId
* @return
*/
public List<AliasServico> buscarAliasSemCorrida(Integer origenId,Integer destinoId,Integer rutaId);
/**
* Realiza a busca com os filtro informados.
* @param origenId
* @param destinoId
* @param rutaId
* @param corridaId
* @return
*/
public List<AliasServico> buscar(Integer origenId,Integer destinoId,Integer rutaId,Integer corridaId);
}

View File

@ -1,6 +1,10 @@
package com.rjconsultores.ventaboletos.dao.hibernate;
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;
@ -16,4 +20,29 @@ public class AliasServicoHibernateDAO extends GenericHibernateDAO<AliasServico,
public AliasServicoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
setSessionFactory(factory);
}
@Override
public List<AliasServico> buscarAliasSemCorrida(Integer origenId, Integer destinoId, Integer rutaId) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("origen.paradaId",origenId));
c.add(Restrictions.eq("destino.paradaId",destinoId));
c.add(Restrictions.eq("ruta.rutaId",rutaId));
c.add(Restrictions.isNull("corridaId"));
return c.list();
}
@Override
public List<AliasServico> buscar(Integer origenId, Integer destinoId, Integer rutaId, Integer corridaId) {
Criteria c = makeCriteria();
c.add(Restrictions.eq("activo", Boolean.TRUE));
c.add(Restrictions.eq("origen.paradaId",origenId));
c.add(Restrictions.eq("destino.paradaId",destinoId));
c.add(Restrictions.eq("ruta.rutaId",rutaId));
c.add(Restrictions.eq("corridaId",corridaId));
return c.list();
}
}

View File

@ -6,6 +6,10 @@ import org.zkoss.util.resource.Labels;
public class BusinessException extends Exception {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
*
* @param message

View File

@ -1,7 +1,17 @@
package com.rjconsultores.ventaboletos.service;
import java.util.List;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.exception.BusinessException;
public interface AliasServicoService extends GenericService<AliasServico, Integer>{
public interface AliasServicoService{
public List<AliasServico> obtenerTodos();
public AliasServico obtenerID(Integer id);
public AliasServico suscribirActualizar(AliasServico entidad) throws BusinessException;
public void borrar(AliasServico entidad);
}

View File

@ -1,14 +1,18 @@
package com.rjconsultores.ventaboletos.service.impl;
import java.util.Calendar;
import java.util.Collections;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.Predicate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.rjconsultores.ventaboletos.dao.AliasServicoDAO;
import com.rjconsultores.ventaboletos.entidad.AliasServico;
import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.AliasServicoService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -27,22 +31,44 @@ public class AliasServicoServiceImpl implements AliasServicoService {
}
@Transactional
public AliasServico suscribir(AliasServico entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
public AliasServico suscribirActualizar(AliasServico entidad) throws BusinessException {
return aliasServicoDAO.suscribir(entidad);
if ( (entidad.getOrigen() == null) || (entidad.getDestino() == null) || (entidad.getAliasDestino()== null) || (entidad.getAliasOrigen()== null) || (entidad.getRuta()== null)){
throw new BusinessException("editarAliasServicoController.MSG.camposObrigatorios");
}
List<AliasServico> lsBusca = Collections.emptyList();
if (entidad.getCorridaId() != null){
lsBusca = aliasServicoDAO.buscar(entidad.getOrigen().getParadaId(), entidad.getDestino().getParadaId(), entidad.getRuta().getRutaId(), entidad.getCorridaId());
}else{
lsBusca = aliasServicoDAO.buscarAliasSemCorrida(entidad.getOrigen().getParadaId(), entidad.getDestino().getParadaId(), entidad.getRuta().getRutaId());
}
if (!lsBusca.isEmpty()){
boolean existe = false;
for(AliasServico as : lsBusca){
if (as.equals(entidad)){
existe = true;
}
}
if (!existe){
throw new BusinessException("editarAliasServicoController.MSG.registroYaExiste");
}
}
@Transactional
public AliasServico actualizacion(AliasServico entidad) {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE);
if (entidad.getAliasServicoId() == null){
return aliasServicoDAO.suscribir(entidad);
}else{
return aliasServicoDAO.actualizacion(entidad);
}
}
@Transactional
public void borrar(AliasServico entidad) {