From dd97edc961f3066a740a59357e28ff4abc889b2e Mon Sep 17 00:00:00 2001 From: gleimar Date: Mon, 15 Apr 2013 22:36:17 +0000 Subject: [PATCH] - MERGE precoLinha git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@25799 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/OrgaoTramoDAO.java | 23 +- .../ventaboletos/dao/RutaCombinacionDAO.java | 9 +- .../dao/hibernate/OrgaoTramoHibernateDAO.java | 34 +- .../RutaCombinacionHibernateDAO.java | 9 +- .../hibernate/TramoServicioHibernateDAO.java | 75 +-- .../service/CoeficienteTarifaService.java | 17 +- .../ventaboletos/service/EstadoService.java | 16 +- .../service/OrgaoTramoService.java | 4 +- .../ventaboletos/service/ParadaService.java | 3 +- .../service/RolOperativoService.java | 24 +- .../service/TipoParadaService.java | 16 +- .../service/TramoRutaService.java | 4 +- .../service/TramoServicioService.java | 2 +- .../ventaboletos/service/ViaService.java | 20 +- .../impl/CoeficienteTarifaServiceImpl.java | 15 +- .../service/impl/EstadoServiceImpl.java | 2 +- .../service/impl/OrgaoTramoServiceImpl.java | 40 -- .../service/impl/RolOperativoServiceImpl.java | 95 +-- .../impl/RutaCombinacionServiceImpl.java | 9 +- .../service/impl/TramoRutaServiceImpl.java | 615 +++++++++++------- .../RegistroConDependenciaException.java | 9 +- .../vo/esquemaoperacional/RutaTramoVO.java | 8 +- .../SecuenciaRutaTramoCoeficienteVO.java | 198 ++++++ .../SecuenciaRutaTramoVO.java | 18 +- .../TarifaEscalaGroupVO.java | 2 +- .../TarifaEscalaVO.java | 2 +- .../TarifaOficialEscalaGroupVO.java | 2 +- .../TarifaOficialEscalaVO.java | 2 +- 28 files changed, 833 insertions(+), 440 deletions(-) create mode 100644 src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoCoeficienteVO.java rename src/com/rjconsultores/ventaboletos/vo/{esquemaoperacional => tarifa}/TarifaEscalaGroupVO.java (97%) rename src/com/rjconsultores/ventaboletos/vo/{esquemaoperacional => tarifa}/TarifaEscalaVO.java (97%) rename src/com/rjconsultores/ventaboletos/vo/{esquemaoperacional => tarifa}/TarifaOficialEscalaGroupVO.java (96%) rename src/com/rjconsultores/ventaboletos/vo/{esquemaoperacional => tarifa}/TarifaOficialEscalaVO.java (97%) diff --git a/src/com/rjconsultores/ventaboletos/dao/OrgaoTramoDAO.java b/src/com/rjconsultores/ventaboletos/dao/OrgaoTramoDAO.java index fc3de3395..104bfc6ab 100644 --- a/src/com/rjconsultores/ventaboletos/dao/OrgaoTramoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/OrgaoTramoDAO.java @@ -2,6 +2,27 @@ package com.rjconsultores.ventaboletos.dao; import com.rjconsultores.ventaboletos.entidad.OrgaoTramo; -public interface OrgaoTramoDAO extends GenericDAO { +public interface OrgaoTramoDAO { + + /** + * Hace la busqueda de la configuracion del coeficiente por tramo
+ * + * @param origenId + * @param destinoId + * @param viaId + * @param orgaoConcedenteId + * @param claseServicioId + * @return + */ + public OrgaoTramo buscar(Integer origenId, Integer destinoId, Integer viaId, Integer orgaoConcedenteId, Short claseServicioId); + + /** + * Graba el registro en la base de datos + * @param orgaoTramo + * @return + */ + public OrgaoTramo suscribir(OrgaoTramo orgaoTramo); + + public Long count(String campo, Object o); } diff --git a/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java b/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java index 8cee72629..aa5e10dc2 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RutaCombinacionDAO.java @@ -15,10 +15,11 @@ import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaGroupVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaEscalaVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaVO; + import java.util.List; /** diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoTramoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoTramoHibernateDAO.java index bb5e1e2fd..e578fc054 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoTramoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/OrgaoTramoHibernateDAO.java @@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao.hibernate; import java.util.List; import org.hibernate.Criteria; +import org.hibernate.FetchMode; import org.hibernate.SessionFactory; import org.hibernate.criterion.Restrictions; import org.springframework.beans.factory.annotation.Autowired; @@ -13,20 +14,39 @@ import com.rjconsultores.ventaboletos.dao.OrgaoTramoDAO; import com.rjconsultores.ventaboletos.entidad.OrgaoTramo; @Repository("orgaoTramoDAO") -public class OrgaoTramoHibernateDAO extends GenericHibernateDAO - implements OrgaoTramoDAO { +public class OrgaoTramoHibernateDAO extends GenericHibernateDAO implements OrgaoTramoDAO { @Autowired public OrgaoTramoHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { setSessionFactory(factory); } - @SuppressWarnings("unchecked") @Override - public List obtenerTodos() { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); + public OrgaoTramo buscar(Integer origenId, Integer destinoId, Integer viaId, Integer orgaoConcedenteId, Short claseServicioId) { + Criteria c = makeCriteria(); + Criteria cTramo = c.createCriteria("tramo"); + cTramo.add(Restrictions.eq("origem.paradaId", origenId)); + cTramo.add(Restrictions.eq("destino.paradaId", destinoId)); + cTramo.add(Restrictions.eq("via.viaId", viaId)); - return c.list(); + c.add(Restrictions.eq("orgaoConcedente.orgaoConcedenteId", orgaoConcedenteId)); + c.add(Restrictions.eq("claseServicio.claseservicioId", claseServicioId)); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + c.setFetchMode("tramo", FetchMode.SELECT); + + List list = c.list(); + + if (list.size() > 1) { + throw new RuntimeException("Erro ao consultar os dados do coeficiente por trecho. Retornou mais de um resultado"); + } + + if (!list.isEmpty()) { + return list.get(0); + } + + return null; } + + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java index 735c061c9..e60803a9a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RutaCombinacionHibernateDAO.java @@ -35,10 +35,11 @@ import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaGroupVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaEscalaVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaVO; + import org.hibernate.transform.AliasToBeanResultTransformer; /** diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoServicioHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoServicioHibernateDAO.java index f4469f0fb..17dba46ca 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoServicioHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/TramoServicioHibernateDAO.java @@ -4,65 +4,66 @@ */ package com.rjconsultores.ventaboletos.dao.hibernate; -import com.rjconsultores.ventaboletos.dao.TramoServicioDAO; -import com.rjconsultores.ventaboletos.entidad.ClaseServicio; -import com.rjconsultores.ventaboletos.entidad.Parada; -import com.rjconsultores.ventaboletos.entidad.Tramo; -import com.rjconsultores.ventaboletos.entidad.TramoServicio; -import com.rjconsultores.ventaboletos.entidad.TramoTiempo; -import com.rjconsultores.ventaboletos.entidad.Via; - import java.util.List; + import org.hibernate.Criteria; +import org.hibernate.FetchMode; 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.TramoServicioDAO; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Tramo; +import com.rjconsultores.ventaboletos.entidad.TramoServicio; +import com.rjconsultores.ventaboletos.entidad.Via; + /** - * + * * @author Rafius */ @Repository("tramoServicioDAO") public class TramoServicioHibernateDAO extends GenericHibernateDAO - implements TramoServicioDAO { + implements TramoServicioDAO { - @Autowired - public TramoServicioHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { - setSessionFactory(factory); - } + @Autowired + public TramoServicioHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } - public List buscarPorTramo(Tramo tramo) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.eq("tramo", tramo)); + public List buscarPorTramo(Tramo tramo) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("tramo", tramo)); - return c.list(); - } + return c.list(); + } - public List buscarPorTramo(Tramo tramo, ClaseServicio clase) { - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.eq("tramo", tramo)); - c.add(Restrictions.eq("claseServicio", clase)); + public List buscarPorTramo(Tramo tramo, ClaseServicio clase) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("tramo", tramo)); + c.add(Restrictions.eq("claseServicio", clase)); - return c.list(); - } + return c.list(); + } @Override public TramoServicio buscar(Parada origen, Parada destino, Via via, ClaseServicio clase) { - - Criteria c = getSession().createCriteria(getPersistentClass()); - c.add(Restrictions.eq("activo", Boolean.TRUE)); - Criteria cTramo = c.createCriteria("tramo"); - cTramo.add(Restrictions.eq("origem", origen)); - cTramo.add(Restrictions.eq("destino", destino)); - cTramo.add(Restrictions.eq("via", via)); - cTramo.add(Restrictions.eq("activo", Boolean.TRUE)); - c.add(Restrictions.eq("claseServicio", clase)); - return (TramoServicio) c.uniqueResult(); + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + Criteria cTramo = c.createCriteria("tramo"); + cTramo.add(Restrictions.eq("origem", origen)); + cTramo.add(Restrictions.eq("destino", destino)); + cTramo.add(Restrictions.eq("via", via)); + cTramo.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("claseServicio", clase)); + return (TramoServicio) c.uniqueResult(); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/CoeficienteTarifaService.java b/src/com/rjconsultores/ventaboletos/service/CoeficienteTarifaService.java index 00e2c8092..8a69a2a78 100644 --- a/src/com/rjconsultores/ventaboletos/service/CoeficienteTarifaService.java +++ b/src/com/rjconsultores/ventaboletos/service/CoeficienteTarifaService.java @@ -1,7 +1,20 @@ package com.rjconsultores.ventaboletos.service; -import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; +import java.util.List; -public interface CoeficienteTarifaService extends GenericService{ +import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; + +public interface CoeficienteTarifaService { + + public List obtenerTodos(); + + public CoeficienteTarifa obtenerID(Integer id); + + public CoeficienteTarifa suscribir(CoeficienteTarifa entidad); + + public CoeficienteTarifa actualizacion(CoeficienteTarifa entidad); + + public void borrar(CoeficienteTarifa entidad) throws RegistroConDependenciaException; } diff --git a/src/com/rjconsultores/ventaboletos/service/EstadoService.java b/src/com/rjconsultores/ventaboletos/service/EstadoService.java index 81665effd..1f4fc4500 100644 --- a/src/com/rjconsultores/ventaboletos/service/EstadoService.java +++ b/src/com/rjconsultores/ventaboletos/service/EstadoService.java @@ -4,15 +4,27 @@ */ package com.rjconsultores.ventaboletos.service; +import java.util.List; + import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.Pais; -import java.util.List; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; /** * * @author MCosso */ -public interface EstadoService extends GenericService { +public interface EstadoService { + public List obtenerTodos(); + + public Estado obtenerID(Integer id); + + public Estado suscribir(Estado entidad); + + public Estado actualizacion(Estado entidad); + + public void borrar(Estado entidad) throws RegistroConDependenciaException; + public List buscar(String nombestado, Pais pais); } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/OrgaoTramoService.java b/src/com/rjconsultores/ventaboletos/service/OrgaoTramoService.java index 2abea930b..7b85c3ffb 100644 --- a/src/com/rjconsultores/ventaboletos/service/OrgaoTramoService.java +++ b/src/com/rjconsultores/ventaboletos/service/OrgaoTramoService.java @@ -1,7 +1,7 @@ package com.rjconsultores.ventaboletos.service; -import com.rjconsultores.ventaboletos.entidad.OrgaoTramo; -public interface OrgaoTramoService extends GenericService { +public interface OrgaoTramoService{ + } diff --git a/src/com/rjconsultores/ventaboletos/service/ParadaService.java b/src/com/rjconsultores/ventaboletos/service/ParadaService.java index 27dedd359..666ec879d 100644 --- a/src/com/rjconsultores/ventaboletos/service/ParadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/ParadaService.java @@ -9,6 +9,7 @@ import com.rjconsultores.ventaboletos.entidad.Nodo; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoParada; import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; import java.util.List; @@ -22,7 +23,7 @@ public interface ParadaService { public Parada suscribirActualizar(Parada entidad) throws BusinessException; - public void borrar(Parada entidad); + public void borrar(Parada entidad) throws RegistroConDependenciaException; public List buscar(String descparada, String cveparada, Ciudad ciudad, TipoParada tipoParada, Nodo nodo); diff --git a/src/com/rjconsultores/ventaboletos/service/RolOperativoService.java b/src/com/rjconsultores/ventaboletos/service/RolOperativoService.java index f71cdee51..2dd990e41 100644 --- a/src/com/rjconsultores/ventaboletos/service/RolOperativoService.java +++ b/src/com/rjconsultores/ventaboletos/service/RolOperativoService.java @@ -4,17 +4,29 @@ */ package com.rjconsultores.ventaboletos.service; -import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; -import com.rjconsultores.ventaboletos.entidad.RolOperativo; import java.util.List; +import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; +import com.rjconsultores.ventaboletos.entidad.RolOperativo; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; + /** - * + * * @author Rafius */ -public interface RolOperativoService extends GenericService { +public interface RolOperativoService { - public List pesquisar(DiagramaAutobus diagrama,String rol); + public List obtenerTodos(); - public List buscar(String descroloperativo); + public RolOperativo obtenerID(Integer id); + + public RolOperativo suscribir(RolOperativo entidad); + + public RolOperativo actualizacion(RolOperativo entidad); + + public void borrar(RolOperativo entidad) throws RegistroConDependenciaException; + + public List pesquisar(DiagramaAutobus diagrama, String rol); + + public List buscar(String descroloperativo); } diff --git a/src/com/rjconsultores/ventaboletos/service/TipoParadaService.java b/src/com/rjconsultores/ventaboletos/service/TipoParadaService.java index 3852bf574..9f231194e 100644 --- a/src/com/rjconsultores/ventaboletos/service/TipoParadaService.java +++ b/src/com/rjconsultores/ventaboletos/service/TipoParadaService.java @@ -4,14 +4,26 @@ */ package com.rjconsultores.ventaboletos.service; -import com.rjconsultores.ventaboletos.entidad.TipoParada; import java.util.List; +import com.rjconsultores.ventaboletos.entidad.TipoParada; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; + /** * * @author Administrador */ -public interface TipoParadaService extends GenericService { +public interface TipoParadaService { + public List obtenerTodos(); + + public TipoParada obtenerID(Integer id); + + public TipoParada suscribir(TipoParada entidad); + + public TipoParada actualizacion(TipoParada entidad); + + public void borrar(TipoParada entidad) throws RegistroConDependenciaException; + public List buscar(String desctipo); } diff --git a/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java b/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java index ad7cce83f..558b9a70f 100644 --- a/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java +++ b/src/com/rjconsultores/ventaboletos/service/TramoRutaService.java @@ -9,7 +9,7 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.RutaTramoVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoCoeficienteVO; /** @@ -34,7 +34,7 @@ public interface TramoRutaService { * @param rutaTramoVO * @return */ - public List generarCombinacion(RutaTramoVO rutaTramoVO); + public List generarCombinacion(RutaTramoVO rutaTramoVO); /** * Renera los datos de regreso para la ruta informada diff --git a/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java b/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java index 750428171..ec774ff2b 100644 --- a/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java +++ b/src/com/rjconsultores/ventaboletos/service/TramoServicioService.java @@ -38,7 +38,7 @@ public interface TramoServicioService extends GenericService { +public interface ViaService { - public List buscar(String nombvia); + public List obtenerTodos(); + + public Via obtenerID(Integer id); + + public Via suscribir(Via entidad); + + public Via actualizacion(Via entidad); + + public void borrar(Via entidad) throws RegistroConDependenciaException; + + public List buscar(String nombvia); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CoeficienteTarifaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CoeficienteTarifaServiceImpl.java index 30087099d..1eab69bd2 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CoeficienteTarifaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CoeficienteTarifaServiceImpl.java @@ -8,8 +8,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.CoeficienteTarifaDAO; +import com.rjconsultores.ventaboletos.dao.OrgaoTramoDAO; import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; import com.rjconsultores.ventaboletos.service.CoeficienteTarifaService; +import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Service("coeficienteTarifaService") @@ -17,6 +19,8 @@ public class CoeficienteTarifaServiceImpl implements CoeficienteTarifaService { @Autowired private CoeficienteTarifaDAO coeficienteTarifaDAO; + @Autowired + private OrgaoTramoDAO orgaoTramoDAO; public List obtenerTodos() { return coeficienteTarifaDAO.obtenerTodos(); @@ -45,7 +49,16 @@ public class CoeficienteTarifaServiceImpl implements CoeficienteTarifaService { } @Transactional - public void borrar(CoeficienteTarifa entidad) { + public void borrar(CoeficienteTarifa entidad) throws RegistroConDependenciaException { + long count =0; + count +=orgaoTramoDAO.count("coeficienteTarifa1", entidad); + count +=orgaoTramoDAO.count("coeficienteTarifa2", entidad); + count +=orgaoTramoDAO.count("coeficienteTarifa3", entidad); + + if (count >0 ){ + throw new RegistroConDependenciaException(); + } + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.FALSE); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EstadoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EstadoServiceImpl.java index fa45a43f1..7a270bcf8 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EstadoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EstadoServiceImpl.java @@ -58,7 +58,7 @@ public class EstadoServiceImpl implements EstadoService { } @Transactional - public void borrar(Estado entidad) { + public void borrar(Estado entidad) throws RegistroConDependenciaException { if (ciudadDAO.count("estado", entidad) > 0l){ throw new RegistroConDependenciaException(); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/OrgaoTramoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/OrgaoTramoServiceImpl.java index b1a48c358..a93409153 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/OrgaoTramoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/OrgaoTramoServiceImpl.java @@ -1,16 +1,10 @@ package com.rjconsultores.ventaboletos.service.impl; -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.OrgaoTramoDAO; -import com.rjconsultores.ventaboletos.entidad.OrgaoTramo; import com.rjconsultores.ventaboletos.service.OrgaoTramoService; -import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Service("orgaoTramoService") public class OrgaoTramoServiceImpl implements OrgaoTramoService { @@ -18,38 +12,4 @@ public class OrgaoTramoServiceImpl implements OrgaoTramoService { @Autowired private OrgaoTramoDAO orgaoTramoDAO; - public List obtenerTodos() { - return orgaoTramoDAO.obtenerTodos(); - } - - public OrgaoTramo obtenerID(Integer id) { - return orgaoTramoDAO.obtenerID(id); - } - - @Transactional - public OrgaoTramo suscribir(OrgaoTramo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); - - return orgaoTramoDAO.suscribir(entidad); - } - - @Transactional - public OrgaoTramo actualizacion(OrgaoTramo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); - - return orgaoTramoDAO.actualizacion(entidad); - } - - @Transactional - public void borrar(OrgaoTramo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.FALSE); - - orgaoTramoDAO.actualizacion(entidad); - } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RolOperativoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RolOperativoServiceImpl.java index 6590757d1..d055d2f74 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RolOperativoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RolOperativoServiceImpl.java @@ -4,6 +4,13 @@ */ package com.rjconsultores.ventaboletos.service.impl; +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.EsquemaCorridaDAO; import com.rjconsultores.ventaboletos.dao.RolOperativoDAO; import com.rjconsultores.ventaboletos.entidad.DiagramaAutobus; @@ -11,68 +18,64 @@ import com.rjconsultores.ventaboletos.entidad.RolOperativo; import com.rjconsultores.ventaboletos.service.RolOperativoService; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; 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; /** - * + * * @author Rafius */ @Service("rolOperativoService") public class RolOperativoServiceImpl implements RolOperativoService { - @Autowired - private RolOperativoDAO rolOperativoDAO; - @Autowired - private EsquemaCorridaDAO esquemaCorridaDAO; + @Autowired + private RolOperativoDAO rolOperativoDAO; + @Autowired + private EsquemaCorridaDAO esquemaCorridaDAO; - public List obtenerTodos() { - return rolOperativoDAO.obtenerTodos(); - } + public List obtenerTodos() { + return rolOperativoDAO.obtenerTodos(); + } - public RolOperativo obtenerID(Integer id) { - return rolOperativoDAO.obtenerID(id); - } + public RolOperativo obtenerID(Integer id) { + return rolOperativoDAO.obtenerID(id); + } - @Transactional - public RolOperativo suscribir(RolOperativo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); + @Transactional + public RolOperativo suscribir(RolOperativo entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); - return rolOperativoDAO.suscribir(entidad); - } + return rolOperativoDAO.suscribir(entidad); + } - @Transactional - public RolOperativo actualizacion(RolOperativo entidad) { - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.TRUE); + @Transactional + public RolOperativo actualizacion(RolOperativo entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); - return rolOperativoDAO.actualizacion(entidad); - } + return rolOperativoDAO.actualizacion(entidad); + } - @Transactional - public void borrar(RolOperativo entidad) throws RegistroConDependenciaException { - if (esquemaCorridaDAO.count("rolOperativo", entidad) > 0l) { - throw new RegistroConDependenciaException(); - } - entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - entidad.setFecmodif(Calendar.getInstance().getTime()); - entidad.setActivo(Boolean.FALSE); + @Transactional + public void borrar(RolOperativo entidad) throws RegistroConDependenciaException { + if (esquemaCorridaDAO.count("rolOperativo", entidad) > 0l) { + throw new RegistroConDependenciaException(); + } + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); - rolOperativoDAO.actualizacion(entidad); - } + rolOperativoDAO.actualizacion(entidad); + } - public List pesquisar(DiagramaAutobus diagrama, String rol) { + public List pesquisar(DiagramaAutobus diagrama, String rol) { - return rolOperativoDAO.pesquisar(diagrama, rol); - } + return rolOperativoDAO.pesquisar(diagrama, rol); + } + + public List buscar(String descroloperativo) { + return rolOperativoDAO.buscar(descroloperativo); + } - public List buscar(String descroloperativo) { - return rolOperativoDAO.buscar(descroloperativo); - } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java index 1085a6b1c..7c6d94f96 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/RutaCombinacionServiceImpl.java @@ -18,10 +18,11 @@ import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.VigenciaTarifa; import com.rjconsultores.ventaboletos.service.RutaCombinacionService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaGroupVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaEscalaVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaGroupVO; -import com.rjconsultores.ventaboletos.vo.esquemaoperacional.TarifaOficialEscalaVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaEscalaVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaGroupVO; +import com.rjconsultores.ventaboletos.vo.tarifa.TarifaOficialEscalaVO; + import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java index d6b07a370..cecc2ef64 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/TramoRutaServiceImpl.java @@ -12,13 +12,20 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.rjconsultores.ventaboletos.dao.OrgaoTramoDAO; import com.rjconsultores.ventaboletos.dao.RutaDAO; +import com.rjconsultores.ventaboletos.dao.TramoDAO; +import com.rjconsultores.ventaboletos.dao.TramoServicioDAO; +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; +import com.rjconsultores.ventaboletos.entidad.OrgaoTramo; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; +import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.TramoServicio; import com.rjconsultores.ventaboletos.entidad.Via; import com.rjconsultores.ventaboletos.exception.BusinessException; @@ -31,305 +38,407 @@ import com.rjconsultores.ventaboletos.service.TramoServicioService; import com.rjconsultores.ventaboletos.utilerias.HoraSistema; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.RutaTramoVO; +import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoCoeficienteVO; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.SecuenciaRutaTramoVO; @Service("tramoRutaService") public class TramoRutaServiceImpl implements TramoRutaService { - private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class); - @Autowired - private RutaService rutaService; - @Autowired - private RutaCombinacionService rutaCombinacionService; - @Autowired - private RutaSecuenciaService rutaSecuenciaService; - @Autowired - private TramoService tramoService; - @Autowired - private TramoServicioService tramoServicioService; - @Autowired - private RutaDAO rutaDAO; + private static Logger log = Logger.getLogger(TramoRutaServiceImpl.class); + @Autowired + private RutaService rutaService; + @Autowired + private RutaCombinacionService rutaCombinacionService; + @Autowired + private RutaSecuenciaService rutaSecuenciaService; + @Autowired + private TramoService tramoService; + @Autowired + private TramoServicioService tramoServicioService; + @Autowired + private RutaDAO rutaDAO; + @Autowired + private OrgaoTramoDAO orgaoTramoDAO; + @Autowired + private TramoServicioDAO tramoServicioDAO; + @Autowired + private TramoDAO tramoDAO; - /** - * Hace la validación de los datos del rutaTramoVO - * @param rutaTramoVO - * @throws BusinessException - */ - private void validarGenerarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { - if (rutaTramoVO.getLsSecuenciaRutaTramoVO().isEmpty()) { - throw new BusinessException("tramoRutaServiceImpl.msg.secuenciaObligatorio"); - } - if ((rutaTramoVO.getPrefixo() == null) || (rutaTramoVO.getPrefixo().isEmpty())) { - throw new BusinessException("tramoRutaServiceImpl.msg.prefixoObligatorio"); - } - if (rutaTramoVO.getLsEmpresa().isEmpty()) { - throw new BusinessException("tramoRutaServiceImpl.msg.empresaObligatoria"); - } + /** + * Hace la validación de los datos del rutaTramoVO + * + * @param rutaTramoVO + * @throws BusinessException + */ + private void validarGenerarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { + if (rutaTramoVO.getLsSecuenciaRutaTramoVO().isEmpty()) { + throw new BusinessException("tramoRutaServiceImpl.msg.secuenciaObligatorio"); + } + if ((rutaTramoVO.getPrefixo() == null) || (rutaTramoVO.getPrefixo().isEmpty())) { + throw new BusinessException("tramoRutaServiceImpl.msg.prefixoObligatorio"); + } + if (rutaTramoVO.getLsEmpresa().isEmpty()) { + throw new BusinessException("tramoRutaServiceImpl.msg.empresaObligatoria"); + } - if (rutaTramoVO.getLsCombinacionRutaTramoVO().isEmpty()) { - throw new BusinessException("tramoRutaServiceImpl.msg.combinacionObligatorio"); - } - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { - if (s.getTramoId() != null) { - continue; - } - if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) - || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { - throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[]{s.getOrigen(), - s.getDestino()}); - } - } - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { - if (s.getTramoId() != null) { - continue; - } - if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) - || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { - throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[]{s.getOrigen(), - s.getDestino()}); - } - } - } + if (rutaTramoVO.getLsCombinacionRutaTramoVO().isEmpty()) { + throw new BusinessException("tramoRutaServiceImpl.msg.combinacionObligatorio"); + } + for (SecuenciaRutaTramoCoeficienteVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { + if (s.getTramoId() != null) { + continue; + } + if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) + || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null) + || (s.getCoeficienteTarifa1() == null) || (s.getKmCoeficiente1() == null) || (s.getKmCoeficiente1() == 0)) { + + throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosCombinacion", new Object[] { s.getOrigen(),s.getDestino() }); + } + } + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { + if (s.getTramoId() != null) { + continue; + } + if ((s.getOrigen() == null) || (s.getDestino() == null) || (s.getVia() == null) + || (s.getKmReal() == null) || (s.getSecuencia() == null) || (s.getTiempoRecorrido() == null)) { + throw new BusinessException("tramoRutaServiceImpl.msg.cambosObligatoriosSecuencia", new Object[] { s.getOrigen(), + s.getDestino() }); + } + } + } - @Transactional(rollbackFor = BusinessException.class) - @Override - public Ruta generarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { + @Transactional(rollbackFor = BusinessException.class) + @Override + public Ruta generarTramosRutas(RutaTramoVO rutaTramoVO) throws BusinessException { - this.validarGenerarTramosRutas(rutaTramoVO); + this.validarGenerarTramosRutas(rutaTramoVO); - // Genero los tramos y tramos servicios de la combinacion que no existen - // Aqui si genera tambien los tramos de la secuencia - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { - log.debug("Origen:" + s.getOrigen() + ";Destino:" + s.getDestino() + ";Via:" + s.getVia()); - boolean fueGenerado = tramoServicioService.generarTramoTiempo(s.getOrigen(), s.getDestino(), s.getVia(), s.getKmReal(), - s.getTiempoRecorrido().getFecha(), rutaTramoVO.getClaseServicio()); - log.debug("Fue Generado:" + fueGenerado); - } + // Genero los tramos y tramos servicios de la combinacion que no existen + // Aqui si genera tambien los tramos de la secuencia + for (SecuenciaRutaTramoCoeficienteVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { + log.debug("Origen:" + s.getOrigen() + ";Destino:" + s.getDestino() + ";Via:" + s.getVia()); + boolean fueGenerado = generarDatos(s, rutaTramoVO.getClaseServicio(), rutaTramoVO.getOrgaoConcedente()); + log.debug("Fue Generado:" + fueGenerado); + } - // Genero la relacion de ruta con empresa - List lsRutaEmpresa = new ArrayList(); - for (Empresa e : rutaTramoVO.getLsEmpresa()) { - RutaEmpresa rutaEmpresa = new RutaEmpresa(); - rutaEmpresa.setEmpresa(e); - rutaEmpresa.setActivo(Boolean.TRUE); - rutaEmpresa.setFecmodif(Calendar.getInstance().getTime()); - rutaEmpresa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + // Genero la relacion de ruta con empresa + List lsRutaEmpresa = new ArrayList(); + for (Empresa e : rutaTramoVO.getLsEmpresa()) { + RutaEmpresa rutaEmpresa = new RutaEmpresa(); + rutaEmpresa.setEmpresa(e); + rutaEmpresa.setActivo(Boolean.TRUE); + rutaEmpresa.setFecmodif(Calendar.getInstance().getTime()); + rutaEmpresa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - lsRutaEmpresa.add(rutaEmpresa); - } + lsRutaEmpresa.add(rutaEmpresa); + } - // Genero la ruta - Ruta ruta = new Ruta(); - ruta.setDescruta(rutaTramoVO.getDescRuta()); - ruta.setClaseServicio(rutaTramoVO.getClaseServicio()); - ruta.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente()); - ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero()); - ruta.setIndSentidoIda(rutaTramoVO.getIndSentidoIda()); - if (rutaTramoVO.getVentaHandHeld() == null){ - ruta.setVentaOffLine(false); - }else{ + // Genero la ruta + Ruta ruta = new Ruta(); + ruta.setDescruta(rutaTramoVO.getDescRuta()); + ruta.setClaseServicio(rutaTramoVO.getClaseServicio()); + ruta.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente()); + ruta.setIndNombreObligatorio(rutaTramoVO.getSolicitaNombrePasajero()); + ruta.setIndSentidoIda(rutaTramoVO.getIndSentidoIda()); + if (rutaTramoVO.getVentaHandHeld() == null) { + ruta.setVentaOffLine(false); + } else { ruta.setVentaOffLine(rutaTramoVO.getVentaHandHeld()); } - - ruta.setLsRutaEmpresa(lsRutaEmpresa); - ruta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - ruta.setActivo(Boolean.TRUE); - ruta.setFecmodif(new java.util.Date()); - ruta.setPrefixo(rutaTramoVO.getPrefixo()); - ruta.setNumRuta(rutaTramoVO.getNumRuta()); - - ruta = rutaDAO.suscribir(ruta); - // Genero la secuencia de la ruta - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { - RutaSecuencia rutaSecuencia = new RutaSecuencia(); - rutaSecuencia.setNumsecuencia(s.getSecuencia().shortValue()); - rutaSecuencia.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); - rutaSecuencia.setRuta(ruta); - rutaSecuencia = rutaSecuenciaService.suscribir(rutaSecuencia); - } + ruta.setLsRutaEmpresa(lsRutaEmpresa); + ruta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + ruta.setActivo(Boolean.TRUE); + ruta.setFecmodif(new java.util.Date()); + ruta.setPrefixo(rutaTramoVO.getPrefixo()); + ruta.setNumRuta(rutaTramoVO.getNumRuta()); - for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { - RutaCombinacion rutaCombinacion = new RutaCombinacion(); - rutaCombinacion.setIndventa(Boolean.TRUE); - rutaCombinacion.setRuta(ruta); - rutaCombinacion.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); + ruta = rutaDAO.suscribir(ruta); - rutaCombinacion = rutaCombinacionService.suscribir(rutaCombinacion); - } + // Genero la secuencia de la ruta + for (SecuenciaRutaTramoVO s : rutaTramoVO.getLsSecuenciaRutaTramoVO()) { + RutaSecuencia rutaSecuencia = new RutaSecuencia(); + rutaSecuencia.setNumsecuencia(s.getSecuencia().shortValue()); + rutaSecuencia.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); + rutaSecuencia.setRuta(ruta); + rutaSecuencia = rutaSecuenciaService.suscribir(rutaSecuencia); + } - return ruta; - } + for (SecuenciaRutaTramoCoeficienteVO s : rutaTramoVO.getLsCombinacionRutaTramoVO()) { + RutaCombinacion rutaCombinacion = new RutaCombinacion(); + rutaCombinacion.setIndventa(Boolean.TRUE); + rutaCombinacion.setRuta(ruta); + rutaCombinacion.setTramo(tramoService.obtenerTramotPorOrigemDestinoVia(s.getOrigen(), s.getDestino(), s.getVia())); - @Override - public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) { - RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO(); - rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio()); - rutaTramoRegresoVO.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente()); - rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero()); - rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld()); - rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa()); - - if(rutaTramoVO.getIndSentidoIda()){ - rutaTramoRegresoVO.setIndSentidoIda(Boolean.FALSE); - }else{ - rutaTramoRegresoVO.setIndSentidoIda(Boolean.TRUE); - } - rutaTramoRegresoVO.setNumRuta(rutaTramoVO.getNumRuta()); - rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo()); - if (rutaTramoVO.getDescRuta() != null) { - rutaTramoRegresoVO.setDescRuta(rutaTramoVO.getDescRuta()); - } else { - rutaTramoRegresoVO.setDescRuta("-"); - } + rutaCombinacion = rutaCombinacionService.suscribir(rutaCombinacion); + } - List lsSecuenciaRutaTramoRegresoVO = new ArrayList(); - List lsSecuenciaRutaTramoIdaVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); - Collections.sort(lsSecuenciaRutaTramoIdaVO, new Comparator() { + return ruta; + } - @Override - public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { - return o2.getSecuencia().compareTo(o1.getSecuencia()); - } - }); + @Override + public RutaTramoVO generarRutaRegreso(RutaTramoVO rutaTramoVO) { + RutaTramoVO rutaTramoRegresoVO = new RutaTramoVO(); + rutaTramoRegresoVO.setClaseServicio(rutaTramoVO.getClaseServicio()); + rutaTramoRegresoVO.setOrgaoConcedente(rutaTramoVO.getOrgaoConcedente()); + rutaTramoRegresoVO.setSolicitaNombrePasajero(rutaTramoVO.getSolicitaNombrePasajero()); + rutaTramoRegresoVO.setVentaHandHeld(rutaTramoVO.getVentaHandHeld()); + rutaTramoRegresoVO.setLsEmpresa(rutaTramoVO.getLsEmpresa()); - int secuencia = 0; + if (rutaTramoVO.getIndSentidoIda()) { + rutaTramoRegresoVO.setIndSentidoIda(Boolean.FALSE); + } else { + rutaTramoRegresoVO.setIndSentidoIda(Boolean.TRUE); + } + rutaTramoRegresoVO.setNumRuta(rutaTramoVO.getNumRuta()); + rutaTramoRegresoVO.setPrefixo(rutaTramoVO.getPrefixo()); + if (rutaTramoVO.getDescRuta() != null) { + rutaTramoRegresoVO.setDescRuta(rutaTramoVO.getDescRuta()); + } else { + rutaTramoRegresoVO.setDescRuta("-"); + } - for (SecuenciaRutaTramoVO s : lsSecuenciaRutaTramoIdaVO) { - TramoServicio tramoServicio = tramoServicioService.buscar(s.getOrigen(), s.getDestino(), s.getVia(), rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - s.setTramoId(tramoServicio.getTramo().getTramoId()); - s.setTramoServicioId(tramoServicio.getTramoservicioId()); + List lsSecuenciaRutaTramoRegresoVO = new ArrayList(); + List lsSecuenciaRutaTramoIdaVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); + //Reordena a lista + Collections.sort(lsSecuenciaRutaTramoIdaVO, new Comparator() { - lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), - s.getTramoId(), s.getTramoServicioId(),rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda())); - } else { - lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(),rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda())); - } - } - rutaTramoRegresoVO.setLsSecuenciaRutaTramoVO(lsSecuenciaRutaTramoRegresoVO); + @Override + public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { + return o2.getSecuencia().compareTo(o1.getSecuencia()); + } + }); - List lsCombinacionRutaTramoRegresoVO = new ArrayList(); - List lsCombinacionTramoIdaVO = new ArrayList(rutaTramoVO.getLsCombinacionRutaTramoVO()); - Collections.sort(lsCombinacionTramoIdaVO, new Comparator() { + int secuencia = 0; - @Override - public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { - return o2.getSecuencia().compareTo(o1.getSecuencia()); - } - }); + for (SecuenciaRutaTramoVO s : lsSecuenciaRutaTramoIdaVO) { + TramoServicio tramoServicio = tramoServicioService.buscar( s.getDestino(),s.getOrigen(), s.getVia(), rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + s.setTramoId(tramoServicio.getTramo().getTramoId()); + s.setTramoServicioId(tramoServicio.getTramoservicioId()); - secuencia = 0; - for (SecuenciaRutaTramoVO s : lsCombinacionTramoIdaVO) { - TramoServicio tramoServicio = tramoServicioService.buscar(s.getOrigen(), s.getDestino(), s.getVia(), rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - s.setTramoId(tramoServicio.getTramo().getTramoId()); - s.setTramoServicioId(tramoServicio.getTramoservicioId()); + lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), + s.getTramoId(), s.getTramoServicioId(), rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda())); + } else { + lsSecuenciaRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda())); + } + } + rutaTramoRegresoVO.setLsSecuenciaRutaTramoVO(lsSecuenciaRutaTramoRegresoVO); - lsCombinacionRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), - s.getTramoId(), s.getTramoServicioId(), rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda())); - } else { - lsCombinacionRutaTramoRegresoVO.add(new SecuenciaRutaTramoVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(),rutaTramoRegresoVO.getNumRuta(), rutaTramoRegresoVO.getIndSentidoIda())); - } + List lsCombinacionRutaTramoRegresoVO = new ArrayList(); + List lsCombinacionTramoIdaVO = new ArrayList(rutaTramoVO.getLsCombinacionRutaTramoVO()); + Collections.sort(lsCombinacionTramoIdaVO, new Comparator() { - } - rutaTramoRegresoVO.setLsCombinacionRutaTramoVO(lsCombinacionRutaTramoRegresoVO); + @Override + public int compare(SecuenciaRutaTramoCoeficienteVO o1, SecuenciaRutaTramoCoeficienteVO o2) { + return o2.getSecuencia().compareTo(o1.getSecuencia()); + } + }); - return rutaTramoRegresoVO; - } + secuencia = 0; + for (SecuenciaRutaTramoCoeficienteVO s : lsCombinacionTramoIdaVO) { + TramoServicio tramoServicio = tramoServicioService.buscar(s.getDestino(), s.getOrigen(), s.getVia(), rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + s.setTramoId(tramoServicio.getTramo().getTramoId()); + s.setTramoServicioId(tramoServicio.getTramoservicioId()); - @Override - public List generarCombinacion(RutaTramoVO rutaTramoVO) { - List lsSecuenciaRutaTramoVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); - List lsSecuenciaCombinacionRutaTramoVO = new ArrayList(); + SecuenciaRutaTramoCoeficienteVO secuenciaRutaTramoCoeficienteVO = new SecuenciaRutaTramoCoeficienteVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), + s.getTramoId(), s.getTramoServicioId(), rutaTramoRegresoVO.getNumRuta()); + + OrgaoTramo orgaoTramo = orgaoTramoDAO.buscar(s.getDestino().getParadaId(), s.getOrigen().getParadaId(), s.getVia().getViaId(), rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId(), rutaTramoVO.getClaseServicio().getClaseservicioId()); + + if (orgaoTramo != null){ + secuenciaRutaTramoCoeficienteVO.setOrgaoTramoId(orgaoTramo.getOrgaoTramoId()); + + secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa1(orgaoTramo.getCoeficienteTarifa1()); + secuenciaRutaTramoCoeficienteVO.setKmCoeficiente1(orgaoTramo.getKmCoeficiente1()); + + if (orgaoTramo.getCoeficienteTarifa2()!=null){ + secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa2(orgaoTramo.getCoeficienteTarifa2()); + secuenciaRutaTramoCoeficienteVO.setKmCoeficiente2(orgaoTramo.getKmCoeficiente2()); + } + } + + lsCombinacionRutaTramoRegresoVO.add(secuenciaRutaTramoCoeficienteVO); + } else { + SecuenciaRutaTramoCoeficienteVO secuenciaRutaTramoCoeficienteVO = new SecuenciaRutaTramoCoeficienteVO(s.getDestino(), s.getOrigen(), s.getVia(), ++secuencia, s.getKmReal(), s.getTiempoRecorrido(), rutaTramoRegresoVO.getNumRuta()); + + secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa1(s.getCoeficienteTarifa1()); + secuenciaRutaTramoCoeficienteVO.setKmCoeficiente1(s.getKmCoeficiente1()); + + secuenciaRutaTramoCoeficienteVO.setCoeficienteTarifa2(s.getCoeficienteTarifa2()); + secuenciaRutaTramoCoeficienteVO.setKmCoeficiente2(s.getKmCoeficiente2()); + + lsCombinacionRutaTramoRegresoVO.add(secuenciaRutaTramoCoeficienteVO); + } - Collections.sort(lsSecuenciaRutaTramoVO, new Comparator() { + } + rutaTramoRegresoVO.setLsCombinacionRutaTramoVO(lsCombinacionRutaTramoRegresoVO); - @Override - public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { - return o1.getSecuencia().compareTo(o2.getSecuencia()); - } - }); - // Collections.sort(lsSecuenciaCombinacionRutaTramoVO, new - // Comparator() { - // - // @Override - // public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) - // { - // return o1.getSecuencia().compareTo(o2.getSecuencia()); - // } - // }); + return rutaTramoRegresoVO; + } - int qtdTramos = lsSecuenciaRutaTramoVO.size(); - int secuencia = 0; - for (int i = 0; i < qtdTramos; i++) { - SecuenciaRutaTramoVO secuenciaInicial = lsSecuenciaRutaTramoVO.get(i); - Parada origen = secuenciaInicial.getOrigen(); - BigDecimal totalKmsReal = secuenciaInicial.getKmReal(); - HoraSistema totalTiempoRecorrido = secuenciaInicial.getTiempoRecorrido(); - boolean primeraCombinacion = true; - int j = i + 1; - for (; j < (qtdTramos); j++) { - Parada destino = lsSecuenciaRutaTramoVO.get(j).getOrigen(); + @Override + public List generarCombinacion(RutaTramoVO rutaTramoVO) { + // una nueva lista que va a ser ordenada. Con eso, no afecta la lista original + List lsSecuenciaRutaTramoVO = new ArrayList(rutaTramoVO.getLsSecuenciaRutaTramoVO()); + List lsSecuenciaCombinacionRutaTramoVO = new ArrayList(); - Via via = secuenciaInicial.getVia(); - // if (primeraCombinacion) { - // via = secuenciaInicial.getVia(); - // } + Collections.sort(lsSecuenciaRutaTramoVO, new Comparator() { - SecuenciaRutaTramoVO nuevaSecuencia = new SecuenciaRutaTramoVO(origen, destino, via, ++secuencia, - totalKmsReal, totalTiempoRecorrido, rutaTramoVO.getNumRuta(), rutaTramoVO.getIndSentidoIda()); + @Override + public int compare(SecuenciaRutaTramoVO o1, SecuenciaRutaTramoVO o2) { + return o1.getSecuencia().compareTo(o2.getSecuencia()); + } + }); - if (via != null) { - TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - log.debug("TRAMO EXISTE"); + int qtdTramos = lsSecuenciaRutaTramoVO.size(); + int secuencia = 0; + for (int i = 0; i < qtdTramos; i++) { + SecuenciaRutaTramoVO secuenciaInicial = lsSecuenciaRutaTramoVO.get(i); + Parada origen = secuenciaInicial.getOrigen(); + BigDecimal totalKmsReal = secuenciaInicial.getKmReal(); + HoraSistema totalTiempoRecorrido = secuenciaInicial.getTiempoRecorrido(); - nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); - nuevaSecuencia.setTiempoRecorrido(new HoraSistema(tramoServicio.getTiemporecorrido())); - nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); - nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); + int j = i + 1; + for (; j < (qtdTramos); j++) { + Parada destino = lsSecuenciaRutaTramoVO.get(j).getOrigen(); - } - } - lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); + Via via = secuenciaInicial.getVia(); - totalKmsReal = totalKmsReal.add(lsSecuenciaRutaTramoVO.get(j).getKmReal()); - totalTiempoRecorrido = totalTiempoRecorrido.sumar(lsSecuenciaRutaTramoVO.get(j).getTiempoRecorrido()); + SecuenciaRutaTramoCoeficienteVO nuevaSecuencia = new SecuenciaRutaTramoCoeficienteVO(origen, destino, via, ++secuencia, + totalKmsReal, totalTiempoRecorrido, rutaTramoVO.getNumRuta()); - log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" - + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); + if (via != null) { + TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + log.debug("TRAMO EXISTE"); - primeraCombinacion = false; - } - Parada destino = lsSecuenciaRutaTramoVO.get(qtdTramos - 1).getDestino(); + nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); + nuevaSecuencia.setTiempoRecorrido(new HoraSistema(tramoServicio.getTiemporecorrido())); + nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); + nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); - Via via = secuenciaInicial.getVia(); - // if (primeraCombinacion) { - // via = secuenciaInicial.getVia(); - // } + } + OrgaoTramo orgaoTramo = orgaoTramoDAO.buscar(origen.getParadaId(), destino.getParadaId(), via.getViaId(), rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId(), rutaTramoVO.getClaseServicio().getClaseservicioId()); + if (orgaoTramo != null) { + nuevaSecuencia.setCoeficienteTarifa1(orgaoTramo.getCoeficienteTarifa1()); + nuevaSecuencia.setKmCoeficiente1(orgaoTramo.getKmCoeficiente1()); + nuevaSecuencia.setCoeficienteTarifa2(orgaoTramo.getCoeficienteTarifa2()); + nuevaSecuencia.setKmCoeficiente2(orgaoTramo.getKmCoeficiente2()); + nuevaSecuencia.setOrgaoTramoId(orgaoTramo.getOrgaoTramoId()); + } + } - SecuenciaRutaTramoVO nuevaSecuencia = new SecuenciaRutaTramoVO(origen, destino, via, ++secuencia, - totalKmsReal, totalTiempoRecorrido, rutaTramoVO.getNumRuta(), rutaTramoVO.getIndSentidoIda()); - if (via != null) { - TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); - if (tramoServicio != null) { - log.debug("TRAMO EXISTE"); + if (nuevaSecuencia.getKmCoeficiente1() == null) { + nuevaSecuencia.setKmCoeficiente1(nuevaSecuencia.getKmReal().intValue()); + } - nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); - nuevaSecuencia.setTiempoRecorrido(new HoraSistema(tramoServicio.getTiemporecorrido())); - nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); - nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); - } - } - nuevaSecuencia.setNumRuta(rutaTramoVO.getNumRuta()); - nuevaSecuencia.setIndSentidoIda(rutaTramoVO.getIndSentidoIda()); - lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); - log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" - + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); + lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); - } + totalKmsReal = totalKmsReal.add(lsSecuenciaRutaTramoVO.get(j).getKmReal()); + totalTiempoRecorrido = totalTiempoRecorrido.sumar(lsSecuenciaRutaTramoVO.get(j).getTiempoRecorrido()); - return lsSecuenciaCombinacionRutaTramoVO; - } + log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" + + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); + + } + + Parada destino = lsSecuenciaRutaTramoVO.get(qtdTramos - 1).getDestino(); + + Via via = secuenciaInicial.getVia(); + + SecuenciaRutaTramoCoeficienteVO nuevaSecuencia = new SecuenciaRutaTramoCoeficienteVO(origen, destino, via, ++secuencia, + totalKmsReal, totalTiempoRecorrido, rutaTramoVO.getNumRuta()); + if (via != null) { + TramoServicio tramoServicio = tramoServicioService.buscar(origen, destino, via, rutaTramoVO.getClaseServicio()); + if (tramoServicio != null) { + log.debug("TRAMO EXISTE"); + + nuevaSecuencia.setKmReal(tramoServicio.getTramo().getKmReal()); + nuevaSecuencia.setTiempoRecorrido(new HoraSistema(tramoServicio.getTiemporecorrido())); + nuevaSecuencia.setTramoId(tramoServicio.getTramo().getTramoId()); + nuevaSecuencia.setTramoServicioId(tramoServicio.getTramoservicioId()); + } + OrgaoTramo orgaoTramo = orgaoTramoDAO.buscar(origen.getParadaId(), destino.getParadaId(), via.getViaId(), rutaTramoVO.getOrgaoConcedente().getOrgaoConcedenteId(), rutaTramoVO.getClaseServicio().getClaseservicioId()); + if (orgaoTramo != null) { + nuevaSecuencia.setCoeficienteTarifa1(orgaoTramo.getCoeficienteTarifa1()); + nuevaSecuencia.setKmCoeficiente1(orgaoTramo.getKmCoeficiente1()); + nuevaSecuencia.setCoeficienteTarifa2(orgaoTramo.getCoeficienteTarifa2()); + nuevaSecuencia.setKmCoeficiente2(orgaoTramo.getKmCoeficiente2()); + nuevaSecuencia.setOrgaoTramoId(orgaoTramo.getOrgaoTramoId()); + } + } + if (nuevaSecuencia.getKmCoeficiente1() == null) { + nuevaSecuencia.setKmCoeficiente1(nuevaSecuencia.getKmReal().intValue()); + } + nuevaSecuencia.setNumRuta(rutaTramoVO.getNumRuta()); + lsSecuenciaCombinacionRutaTramoVO.add(nuevaSecuencia); + log.debug("Origen:" + nuevaSecuencia.getOrigen() + ";Destino:" + nuevaSecuencia.getDestino() + ";Via:" + + nuevaSecuencia.getVia() + ";KmsReal:" + nuevaSecuencia.getKmReal() + ";hora:" + nuevaSecuencia.getTiempoRecorrido()); + + } + + return lsSecuenciaCombinacionRutaTramoVO; + } + + /** + * Genera los datos de tramo, tramo tiempo e coeficiente tarifa sino existen los datos + * + * @param secuencia + * @param claseServicio + * @param orgaoConcedente + * @return + */ + private boolean generarDatos(SecuenciaRutaTramoCoeficienteVO secuencia, ClaseServicio claseServicio, OrgaoConcedente orgaoConcedente) { + TramoServicio tramoServicio = tramoServicioDAO.buscar(secuencia.getOrigen(), secuencia.getDestino(), secuencia.getVia(), claseServicio); + + Tramo tramo = null; + if (tramoServicio == null) { + tramo = tramoService.buscar(secuencia.getOrigen(), secuencia.getDestino(), secuencia.getVia()); + if (tramo == null) { + tramo = new Tramo(); + tramo.setDesctramo(tramoService.gerarDescripcionTramo(secuencia.getOrigen(), secuencia.getDestino(), secuencia.getVia())); + tramo.setOrigem(secuencia.getOrigen()); + tramo.setDestino(secuencia.getDestino()); + tramo.setKmReal(secuencia.getKmReal()); + tramo.setVia(secuencia.getVia()); + tramo.setActivo(Boolean.TRUE); + tramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + tramo.setFecmodif(new java.util.Date()); + + tramo = tramoDAO.suscribir(tramo); + } + tramoServicio = new TramoServicio(); + tramoServicio.setClaseServicio(claseServicio); + tramoServicio.setTramo(tramo); + tramoServicio.setTiemporecorrido(secuencia.getTiempoRecorrido().getFecha()); + + tramoServicio = tramoServicioService.suscribir(tramoServicio); + + if (secuencia.getOrgaoTramoId() == null) { + OrgaoTramo orgaoTramo = new OrgaoTramo(); + orgaoTramo.setClaseServicio(claseServicio); + orgaoTramo.setOrgaoConcedente(orgaoConcedente); + orgaoTramo.setTramo(tramo); + + orgaoTramo.setActivo(Boolean.TRUE); + orgaoTramo.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + orgaoTramo.setFecmodif(new java.util.Date()); + orgaoTramo.setCoeficienteTarifa1(secuencia.getCoeficienteTarifa1()); + orgaoTramo.setKmCoeficiente1(secuencia.getKmCoeficiente1()); + + if (secuencia.getCoeficienteTarifa2() != null) { + orgaoTramo.setCoeficienteTarifa2(secuencia.getCoeficienteTarifa2()); + orgaoTramo.setKmCoeficiente2(secuencia.getKmCoeficiente2()); + } + + orgaoTramo = orgaoTramoDAO.suscribir(orgaoTramo); + } + + return true; + } + + return false; + } } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/RegistroConDependenciaException.java b/src/com/rjconsultores/ventaboletos/utilerias/RegistroConDependenciaException.java index 05d080742..a05ef8e06 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/RegistroConDependenciaException.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/RegistroConDependenciaException.java @@ -10,9 +10,14 @@ import org.zkoss.util.resource.Labels; * * @author gleimar */ -public class RegistroConDependenciaException extends RuntimeException { +public class RegistroConDependenciaException extends Exception { - public RegistroConDependenciaException() { + /** + * + */ + private static final long serialVersionUID = 1L; + + public RegistroConDependenciaException() { super(Labels.getLabel("MSG.exception.RegistroConDependenciaException")); } } diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java index 4684a4a30..ef06f3e29 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/RutaTramoVO.java @@ -15,7 +15,7 @@ public class RutaTramoVO { private ClaseServicio claseServicio; private OrgaoConcedente orgaoConcedente; private List lsSecuenciaRutaTramoVO; - private List lsCombinacionRutaTramoVO; + private List lsCombinacionRutaTramoVO; private List lsEmpresa; private String prefixo; private String descRuta; @@ -25,7 +25,7 @@ public class RutaTramoVO { public RutaTramoVO() { lsSecuenciaRutaTramoVO = new ArrayList(); lsEmpresa = new ArrayList(); - lsCombinacionRutaTramoVO = new ArrayList(); + lsCombinacionRutaTramoVO = new ArrayList(); } public Boolean getVentaHandHeld() { @@ -87,11 +87,11 @@ public class RutaTramoVO { * * @return */ - public List getLsCombinacionRutaTramoVO() { + public List getLsCombinacionRutaTramoVO() { return Collections.unmodifiableList(lsCombinacionRutaTramoVO); } - public void setLsCombinacionRutaTramoVO(List lsCombinacionRutaTramoVO) { + public void setLsCombinacionRutaTramoVO(List lsCombinacionRutaTramoVO) { this.lsCombinacionRutaTramoVO = lsCombinacionRutaTramoVO; } diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoCoeficienteVO.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoCoeficienteVO.java new file mode 100644 index 000000000..557f6f16e --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoCoeficienteVO.java @@ -0,0 +1,198 @@ +package com.rjconsultores.ventaboletos.vo.esquemaoperacional; + +import java.math.BigDecimal; + +import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; +import com.rjconsultores.ventaboletos.entidad.Parada; +import com.rjconsultores.ventaboletos.entidad.Via; +import com.rjconsultores.ventaboletos.utilerias.HoraSistema; + +public class SecuenciaRutaTramoCoeficienteVO { + + private Parada origen; + private Parada destino; + private Via via; + private Integer secuencia; + private BigDecimal kmReal; + private HoraSistema tiempoRecorrido; + private Integer tramoId; + private Integer tramoServicioId; + private Integer numRuta; + private Integer orgaoTramoId; + private CoeficienteTarifa coeficienteTarifa1; + private Integer kmCoeficiente1; + private CoeficienteTarifa coeficienteTarifa2; + private Integer kmCoeficiente2; + + public SecuenciaRutaTramoCoeficienteVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, HoraSistema tiempoRecorrido) { + super(); + this.origen = origen; + this.destino = destino; + this.via = via; + this.secuencia = secuencia; + this.kmReal = kmReal; + this.setTiempoRecorrido(tiempoRecorrido); + } + + public SecuenciaRutaTramoCoeficienteVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, HoraSistema tiempoRecorrido, Integer numruta) { + this(origen, destino, via, secuencia, kmReal, tiempoRecorrido); + this.numRuta = numruta; + } + + public SecuenciaRutaTramoCoeficienteVO(Parada origen, Parada destino, Integer secuencia, Via via) { + super(); + this.origen = origen; + this.destino = destino; + this.secuencia = secuencia; + this.via = via; + this.setTiempoRecorrido(null); + } + + public SecuenciaRutaTramoCoeficienteVO(Parada origen, Parada destino, Integer secuencia, Via via, Integer numruta) { + this(origen, destino, secuencia, via); + this.numRuta = numruta; + } + + public SecuenciaRutaTramoCoeficienteVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, + HoraSistema tiempoRecorrido, Integer tramoId, Integer tramoServicioId) { + super(); + this.origen = origen; + this.destino = destino; + this.via = via; + this.secuencia = secuencia; + this.kmReal = kmReal; + this.setTiempoRecorrido(tiempoRecorrido); + this.tramoId = tramoId; + this.tramoServicioId = tramoId; + } + + public SecuenciaRutaTramoCoeficienteVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, + HoraSistema tiempoRecorrido, Integer tramoId, Integer tramoServicioId, Integer numruta) { + this(origen, destino, via, secuencia, kmReal, tiempoRecorrido, tramoId, tramoServicioId); + this.numRuta = numruta; + } + + public Parada getOrigen() { + return origen; + } + + public void setOrigen(Parada origen) { + this.origen = origen; + } + + public Parada getDestino() { + return destino; + } + + public HoraSistema getTiempoRecorrido() { + return tiempoRecorrido; + } + + public void setTiempoRecorrido(HoraSistema tiempoRecorrido) { + if (tiempoRecorrido == null) { + tiempoRecorrido = new HoraSistema(); + } + this.tiempoRecorrido = tiempoRecorrido; + } + + public void setDestino(Parada destino) { + this.destino = destino; + } + + public Via getVia() { + return via; + } + + public void setVia(Via via) { + this.via = via; + } + + public Integer getSecuencia() { + return secuencia; + } + + public void setSecuencia(Integer secuencia) { + this.secuencia = secuencia; + } + + public BigDecimal getKmReal() { + return kmReal; + } + + public void setKmReal(BigDecimal kmReal) { + this.kmReal = kmReal; + } + + public Integer getTramoId() { + return tramoId; + } + + public void setTramoId(Integer tramoId) { + this.tramoId = tramoId; + } + + public Integer getTramoServicioId() { + return tramoServicioId; + } + + public void setTramoServicioId(Integer tramoServicioId) { + this.tramoServicioId = tramoServicioId; + } + + public Integer getNumRuta() { + return numRuta; + } + + public void setNumRuta(Integer numRuta) { + this.numRuta = numRuta; + } + + @Override + public String toString() { + HoraSistema hora = getTiempoRecorrido(); + + return secuencia + ";" + origen + ";" + destino + ";" + via + ";" + kmReal + ";" + + ((hora != null) ? hora.getHora() : "-") + ";" + ((hora != null) ? hora.getMinuto() : "-"); + } + + public Integer getOrgaoTramoId() { + return orgaoTramoId; + } + + public void setOrgaoTramoId(Integer orgaoTramoId) { + this.orgaoTramoId = orgaoTramoId; + } + + public CoeficienteTarifa getCoeficienteTarifa1() { + return coeficienteTarifa1; + } + + public void setCoeficienteTarifa1(CoeficienteTarifa coeficienteTarifa1) { + this.coeficienteTarifa1 = coeficienteTarifa1; + } + + public Integer getKmCoeficiente1() { + return kmCoeficiente1; + } + + public void setKmCoeficiente1(Integer kmCoeficiente1) { + this.kmCoeficiente1 = kmCoeficiente1; + } + + public CoeficienteTarifa getCoeficienteTarifa2() { + return coeficienteTarifa2; + } + + public void setCoeficienteTarifa2(CoeficienteTarifa coeficienteTarifa2) { + this.coeficienteTarifa2 = coeficienteTarifa2; + } + + public Integer getKmCoeficiente2() { + return kmCoeficiente2; + } + + public void setKmCoeficiente2(Integer kmCoeficiente2) { + this.kmCoeficiente2 = kmCoeficiente2; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java index a7307bbc8..095d0ef34 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/SecuenciaRutaTramoVO.java @@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.vo.esquemaoperacional; import java.math.BigDecimal; +import com.rjconsultores.ventaboletos.entidad.CoeficienteTarifa; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Via; import com.rjconsultores.ventaboletos.utilerias.HoraSistema; @@ -19,8 +20,7 @@ public class SecuenciaRutaTramoVO { private Boolean indSentidoIda; private Integer numRuta; - public SecuenciaRutaTramoVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, - HoraSistema tiempoRecorrido) { + public SecuenciaRutaTramoVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, HoraSistema tiempoRecorrido) { super(); this.origen = origen; this.destino = destino; @@ -29,9 +29,8 @@ public class SecuenciaRutaTramoVO { this.kmReal = kmReal; this.setTiempoRecorrido(tiempoRecorrido); } - - public SecuenciaRutaTramoVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, - HoraSistema tiempoRecorrido, Integer numruta, Boolean indSentidoIda) { + + public SecuenciaRutaTramoVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, HoraSistema tiempoRecorrido, Integer numruta, Boolean indSentidoIda) { this(origen, destino, via, secuencia, kmReal, tiempoRecorrido); this.numRuta = numruta; this.indSentidoIda = indSentidoIda; @@ -45,9 +44,10 @@ public class SecuenciaRutaTramoVO { this.via = via; this.setTiempoRecorrido(null); } + public SecuenciaRutaTramoVO(Parada origen, Parada destino, Integer secuencia, Via via, Integer numruta, Boolean indSentidoIda) { - this( origen, destino, secuencia, via); - this.numRuta = numRuta; + this(origen, destino, secuencia, via); + this.numRuta = numruta; this.indSentidoIda = indSentidoIda; } @@ -63,7 +63,7 @@ public class SecuenciaRutaTramoVO { this.tramoId = tramoId; this.tramoServicioId = tramoId; } - + public SecuenciaRutaTramoVO(Parada origen, Parada destino, Via via, Integer secuencia, BigDecimal kmReal, HoraSistema tiempoRecorrido, Integer tramoId, Integer tramoServicioId, Integer numruta, Boolean indSentidoIda) { this(origen, destino, via, secuencia, kmReal, tiempoRecorrido, tramoId, tramoServicioId); @@ -138,8 +138,6 @@ public class SecuenciaRutaTramoVO { this.tramoServicioId = tramoServicioId; } - - public Boolean getIndSentidoIda() { return indSentidoIda; } diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaEscalaGroupVO.java b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaEscalaGroupVO.java similarity index 97% rename from src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaEscalaGroupVO.java rename to src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaEscalaGroupVO.java index 62ed531ec..6052db5d8 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaEscalaGroupVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaEscalaGroupVO.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package com.rjconsultores.ventaboletos.vo.esquemaoperacional; +package com.rjconsultores.ventaboletos.vo.tarifa; import java.math.BigDecimal; import java.util.Date; diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaEscalaVO.java b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaEscalaVO.java similarity index 97% rename from src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaEscalaVO.java rename to src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaEscalaVO.java index f446b5159..87ca2a574 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaEscalaVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaEscalaVO.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package com.rjconsultores.ventaboletos.vo.esquemaoperacional; +package com.rjconsultores.ventaboletos.vo.tarifa; import java.math.BigDecimal; diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaOficialEscalaGroupVO.java b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaOficialEscalaGroupVO.java similarity index 96% rename from src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaOficialEscalaGroupVO.java rename to src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaOficialEscalaGroupVO.java index 346a751e8..2d487f7f1 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaOficialEscalaGroupVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaOficialEscalaGroupVO.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package com.rjconsultores.ventaboletos.vo.esquemaoperacional; +package com.rjconsultores.ventaboletos.vo.tarifa; import java.math.BigDecimal; diff --git a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaOficialEscalaVO.java b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaOficialEscalaVO.java similarity index 97% rename from src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaOficialEscalaVO.java rename to src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaOficialEscalaVO.java index 4e3da0a7e..d9533949c 100644 --- a/src/com/rjconsultores/ventaboletos/vo/esquemaoperacional/TarifaOficialEscalaVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/tarifa/TarifaOficialEscalaVO.java @@ -2,7 +2,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package com.rjconsultores.ventaboletos.vo.esquemaoperacional; +package com.rjconsultores.ventaboletos.vo.tarifa; import java.math.BigDecimal;