diff --git a/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java b/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java index d24d46b0c..c58bf052e 100644 --- a/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java +++ b/src/java/com/rjconsultores/ventaboletos/rest/service/SincronizarTramoService.java @@ -2,6 +2,7 @@ package com.rjconsultores.ventaboletos.rest.service; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; import org.apache.commons.collections.CollectionUtils; @@ -12,13 +13,17 @@ import com.rjconsultores.routing.ReadOnlyConnection; import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.dao.AliasServicoDAO; import com.rjconsultores.ventaboletos.dao.CategoriaDescuentoDAO; +import com.rjconsultores.ventaboletos.dao.CorridaDAO; import com.rjconsultores.ventaboletos.dao.ParadaDAO; import com.rjconsultores.ventaboletos.dao.TarifaMinimaDAO; import com.rjconsultores.ventaboletos.dao.TramoDAO; import com.rjconsultores.ventaboletos.dao.hibernate.ConstanteHibernateDAO; import com.rjconsultores.ventaboletos.entidad.AliasServico; import com.rjconsultores.ventaboletos.entidad.CategoriaDescuento; +import com.rjconsultores.ventaboletos.entidad.Corrida; +import com.rjconsultores.ventaboletos.entidad.Corrida.Id; import com.rjconsultores.ventaboletos.rest.bean.ParamsSincronizarTramo; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO; import com.rjconsultores.ventaboletos.vo.tramo.TramoTarifaVO; import com.rjconsultores.ventaboletos.vo.tramo.TramoVO; @@ -42,10 +47,17 @@ public class SincronizarTramoService { public List buscarListaTramosPorId(CorridaVO corridaVO) throws Exception { TramoDAO tramoDAO = (TramoDAO)AppContext.getApplicationContext().getBean("tramoDAO"); ParadaDAO paradaDAO = (ParadaDAO)AppContext.getApplicationContext().getBean("paradaDAO"); + CorridaDAO corridaDAO = (CorridaDAO)AppContext.getApplicationContext().getBean("corridaDAO"); TarifaMinimaDAO tarifaMinimaDAO = (TarifaMinimaDAO)AppContext.getApplicationContext().getBean("tarifaMinimaDAO"); AliasServicoDAO aliasServicoDAO = (AliasServicoDAO)AppContext.getApplicationContext().getBean("aliasServicoDAO"); CategoriaDescuentoDAO categoriaDescuentoDAO = (CategoriaDescuentoDAO)AppContext.getApplicationContext().getBean("categoriaDescuentoDAO"); ConstanteHibernateDAO constanteDAO = (ConstanteHibernateDAO)AppContext.getApplicationContext().getBean("constanteDAO"); + + final Integer corridaId = Integer.valueOf( corridaVO.getChaveCorrida().split(";")[0] ); + final Date fecCorrida = DateUtil.getDateFromString(corridaVO.getChaveCorrida().split(";")[1], "ddMMyyyy"); + + Id id = new Corrida.Id(corridaId, fecCorrida); + CorridaVO corrida = corridaDAO.buscarVOPorId(id); List listaTramoVO = tramoDAO.buscarListaPorIds(corridaVO.getListTramos(), corridaVO.getChaveCorrida() ); @@ -53,7 +65,7 @@ public class SincronizarTramoService { CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corridaVO.getEmpresaId()); List aliasLs = aliasServicoDAO.buscarPorRuta( corridaVO.getRutaId() ); - final Integer corridaId = Integer.valueOf( corridaVO.getChaveCorrida().split(";")[0] ); + Integer praca = null; for (TramoVO vo : listaTramoVO) { @@ -64,13 +76,13 @@ public class SincronizarTramoService { if(isTarifaMinimaHabilitado && categoriaDescuento !=null && Boolean.FALSE.equals( categoriaDescuento.getIndnaoaplicatarifaminima()) ) { BigDecimal tarifaMinima = tarifaMinimaDAO.obtenerTarifaMinima( - corridaVO.getClaseServicioId(), - corridaVO.getMarcaId(), + corrida.getClaseServicioId(), + corrida.getMarcaId(), vo.getOrigemId(), vo.getDestinoId(), praca, vo.getMonedaId(), - corridaVO.getRutaId(), + corrida.getRutaId(), Constantes.CATEGORIA_NORMAL); if( tarifaMinima !=null && tarifaMinima.compareTo(vo.getValorTarifa()) > 0) {