fixes bug#20993
dev: Valvevir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@104454 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
b991bdc601
commit
66c4d7e156
|
@ -1,5 +1,6 @@
|
|||
package com.rjconsultores.ventaboletos.rest.service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
@ -8,9 +9,15 @@ import org.apache.commons.collections.Predicate;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
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.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.rest.bean.ParamsSincronizarTramo;
|
||||
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
|
||||
import com.rjconsultores.ventaboletos.vo.tramo.TramoTarifaVO;
|
||||
|
@ -34,14 +41,43 @@ public class SincronizarTramoService {
|
|||
@ReadOnlyConnection
|
||||
public List<TramoVO> buscarListaTramosPorId(CorridaVO corridaVO) throws Exception {
|
||||
TramoDAO tramoDAO = (TramoDAO)AppContext.getApplicationContext().getBean("tramoDAO");
|
||||
ParadaDAO paradaDAO = (ParadaDAO)AppContext.getApplicationContext().getBean("paradaDAO");
|
||||
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");
|
||||
|
||||
List<TramoVO> listaTramoVO = tramoDAO.buscarListaPorIds(corridaVO.getListTramos(), corridaVO.getChaveCorrida() );
|
||||
|
||||
boolean isTarifaMinimaHabilitado = Boolean.getBoolean(constanteDAO.buscarPorNomeConstante("isTarifaMinimaHabilitado").getValorconstante());
|
||||
CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corridaVO.getEmpresaId());
|
||||
|
||||
List<AliasServico> aliasLs = aliasServicoDAO.buscarPorRuta( corridaVO.getRutaId() );
|
||||
final Integer corridaId = Integer.valueOf( corridaVO.getChaveCorrida().split(";")[0] );
|
||||
Integer praca = null;
|
||||
|
||||
for (TramoVO vo : listaTramoVO) {
|
||||
//caso valide que algum cliente use mais de uma praça no cadastro, passar a buscar praça a cada tramo
|
||||
if( praca == null ) {
|
||||
praca = paradaDAO.buscarPorId(vo.getOrigemId()).getCiudad().getPlaza().getPlazaId();
|
||||
}
|
||||
|
||||
if(isTarifaMinimaHabilitado && Boolean.FALSE.equals( categoriaDescuento.getIndnaoaplicatarifaminima()) ) {
|
||||
BigDecimal tarifaMinima = tarifaMinimaDAO.obtenerTarifaMinima(
|
||||
corridaVO.getClaseServicioId(),
|
||||
corridaVO.getMarcaId(),
|
||||
vo.getOrigemId(),
|
||||
vo.getDestinoId(),
|
||||
praca,
|
||||
vo.getMonedaId(),
|
||||
corridaVO.getRutaId(),
|
||||
Constantes.CATEGORIA_NORMAL);
|
||||
|
||||
if( tarifaMinima !=null && tarifaMinima.compareTo(vo.getValorTarifa()) > 0) {
|
||||
vo.setValorTarifa(tarifaMinima);
|
||||
}
|
||||
}
|
||||
|
||||
if( aliasLs != null && !aliasLs.isEmpty() ) {
|
||||
final Integer origemId = vo.getOrigemId();
|
||||
final Integer destinoId = vo.getDestinoId();
|
||||
|
|
Loading…
Reference in New Issue