From 49b9a21b5aebe20b54e7e3a04d490bc64fff20b3 Mon Sep 17 00:00:00 2001 From: gleimar Date: Sun, 8 Nov 2015 21:06:16 +0000 Subject: [PATCH] fixes bug#6815 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@49874 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../service/PrecioVentajaService.java | 4 -- .../impl/PrecioVentajaServiceImpl.java | 37 ++++++++++++++++--- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/service/PrecioVentajaService.java b/src/com/rjconsultores/ventaboletos/service/PrecioVentajaService.java index 334c2c774..fc3ce15cb 100644 --- a/src/com/rjconsultores/ventaboletos/service/PrecioVentajaService.java +++ b/src/com/rjconsultores/ventaboletos/service/PrecioVentajaService.java @@ -4,9 +4,6 @@ */ package com.rjconsultores.ventaboletos.service; -import java.util.List; - -import com.rjconsultores.ventaboletos.entidad.ConexionCtrl; import com.rjconsultores.ventaboletos.entidad.PrecioVentaja; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; @@ -19,6 +16,5 @@ public interface PrecioVentajaService { public PrecioVentaja suscribirActualizacion(PrecioVentaja entidad) throws BusinessException; public void borrar(PrecioVentaja entidad) throws RegistroConDependenciaException; - public List buscarPrecioVentaja(Integer origenId, Integer destinoId, Integer rutaid); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/PrecioVentajaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/PrecioVentajaServiceImpl.java index 64c59cf13..6e02e517b 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/PrecioVentajaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/PrecioVentajaServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import org.zkoss.util.resource.Labels; import com.rjconsultores.ventaboletos.dao.PrecioVentajaDAO; +import com.rjconsultores.ventaboletos.entidad.Estacion; import com.rjconsultores.ventaboletos.entidad.PrecioVentaja; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.PrecioVentajaService; @@ -75,6 +76,15 @@ public class PrecioVentajaServiceImpl implements PrecioVentajaService { if(!verificarRutaOrigemDestinoASerCopiado(entidad)){ throw new BusinessException("editarPrecioVentajaController.MSG.destinoOuOrigemNaoExistemDestino"); } + + Boolean precioVentajaDuplicado = validarDuplicidade(entidad); + + if (precioVentajaDuplicado) { + throw new BusinessException("editarPrecioVentajaController.MSG.data.existeIgual", new Object[] { entidad.getOrigenOriginalId().getDescparada(), + entidad.getDestinoOriginalId().getDescparada(), entidad.getRutaOriginalId().getDescruta() }); + } + + if (entidad.getPrecioVentajaId() == null) { return precioVentajaDAO.suscribir(entidad); @@ -82,6 +92,27 @@ public class PrecioVentajaServiceImpl implements PrecioVentajaService { return precioVentajaDAO.actualizacion(entidad); } } + + private Boolean validarDuplicidade(PrecioVentaja entidad) { + List lsPrecioVentaja = precioVentajaDAO.buscarPrecioVentaja(entidad.getOrigenOriginalId().getParadaId(), entidad.getDestinoOriginalId().getParadaId(), entidad.getRutaOriginalId().getRutaId()); + Boolean precioVentajaDuplicado = false; + + if (!lsPrecioVentaja.isEmpty()) { + + if (entidad.getPrecioVentajaId() == null){ + precioVentajaDuplicado = Boolean.TRUE; + }else{ + for (PrecioVentaja est : lsPrecioVentaja) { + if (!est.getPrecioVentajaId().equals(entidad.getPrecioVentajaId())) { + precioVentajaDuplicado = Boolean.TRUE; + break; + } + } + } + } + + return precioVentajaDuplicado; + } private Boolean verificarPreenchimentoDataInicioFim(PrecioVentaja entidad){ if(entidad.getFechaInicio() == null || entidad.getFechaFinal() == null){ @@ -138,10 +169,4 @@ public class PrecioVentajaServiceImpl implements PrecioVentajaService { entidad.setActivo(Boolean.FALSE); precioVentajaDAO.actualizacion(entidad); } - - @Override - public List buscarPrecioVentaja(Integer origenId, Integer destinoId, Integer rutaid) { - return precioVentajaDAO.buscarPrecioVentaja(origenId, destinoId, rutaid); - } - }