fixes bug#20931

dev: Gleimar
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@104210 d1611594-4594-4d17-8e1d-87c2c4800839
master
fabio 2020-11-09 23:17:49 +00:00
parent e7b4e1cde9
commit 286d0aea34
2 changed files with 107 additions and 121 deletions

View File

@ -3,6 +3,7 @@ package com.rjconsultores.ventaboletos.dao.hibernate;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
@ -52,6 +53,9 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
@Autowired
private CategoriaDescuentoDAO categoriaDescuentoDAO;
@Autowired
private ConstanteHibernateDAO constanteDAO;
@Autowired
private AliasServicoService aliasServicoService;
@ -356,6 +360,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
}
private void preencherTramosSequencias(final CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) {
boolean isTarifaMinimaHabilitado = Boolean.getBoolean(constanteDAO.buscarPorNomeConstante("isTarifaMinimaHabilitado").getValorconstante());
StringBuilder sb = new StringBuilder();
sb.append(" SELECT");
@ -384,6 +389,8 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" TA.IMPORTESEGURO AS importeSeguro,");
sb.append(" TA.PRECIO AS precio,");
sb.append(" TA.RUTA_ID as rutaId, ");
if(isTarifaMinimaHabilitado) {
sb.append(" (");
sb.append(" select IMPORTETARIFA");
sb.append(" from (");
@ -460,6 +467,10 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" and rutaId = TA.RUTA_ID");
sb.append(" and rownum = 1");
sb.append(" ) as tarifaMinima ");
}else {
sb.append(" null as tarifaMinima ");
}
sb.append(" FROM RUTA_COMBINACION RC");
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = RC.TRAMO_ID");
sb.append(" JOIN CORRIDA_TRAMO CRT ON CRT.DESTINO_ID = TRM.DESTINO_ID AND CRT.CORRIDA_ID = :corridaId AND CRT.FECCORRIDA = TO_DATE(:feccorrida,'DD/MM/YYYY HH24:MI:SS')");
@ -491,34 +502,6 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" AND TRM.ORIGEN_ID IN (SELECT X.ORIGEN_ID FROM CORRIDA_TRAMO X WHERE X.CORRIDA_ID = :corridaId AND X.FECCORRIDA = TO_DATE(:feccorrida,'DD/MM/YYYY HH24:MI:SS'))");
sb.append(" AND TRM.DESTINO_ID IN (SELECT X.DESTINO_ID FROM CORRIDA_TRAMO X WHERE X.CORRIDA_ID = :corridaId AND X.FECCORRIDA = TO_DATE(:feccorrida,'DD/MM/YYYY HH24:MI:SS'))");
sb.append(" AND (SYSDATE BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA AND VT.ACTIVO = 1)");
sb.append(" GROUP BY");
sb.append(" TRM.TRAMO_ID,");
sb.append(" TRM.DESCTRAMO,");
sb.append(" TRM.ORIGEN_ID,");
sb.append(" ORI.DESCPARADA,");
sb.append(" ORICID.CIUDAD_ID,");
sb.append(" ORICID.NOMBCIUDAD,");
sb.append(" ORIEST.ESTADO_ID,");
sb.append(" ORIEST.NOMBESTADO,");
sb.append(" ORIEST.CVEESTADO,");
sb.append(" TRM.DESTINO_ID,");
sb.append(" DES.DESCPARADA,");
sb.append(" DESCID.CIUDAD_ID,");
sb.append(" DESCID.NOMBCIUDAD,");
sb.append(" DESEST.ESTADO_ID,");
sb.append(" DESEST.NOMBESTADO,");
sb.append(" DESEST.CVEESTADO,");
sb.append(" TRM.VIA_ID,");
sb.append(" VIA.NOMBVIA,");
sb.append(" CRT.NUMSECUENCIA,");
sb.append(" TA.IMPORTETAXAEMBARQUE,");
sb.append(" TA.IMPORTEPEDAGIO,");
sb.append(" TA.IMPORTEOUTROS,");
sb.append(" TA.IMPORTESEGURO,");
sb.append(" TA.PRECIO,");
sb.append(" TA.RUTA_ID");
sb.append(" ORDER BY");
sb.append(" CRT.NUMSECUENCIA");
Query query = getSession().createSQLQuery(sb.toString())
.addScalar("tramoId", IntegerType.INSTANCE)
@ -552,16 +535,19 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
query.setParameter("rutaId", corrida.getRutaId());
query.setParameter("corridaId", corrida.getCorridaId());
query.setParameter("feccorrida", corrida.getFeccorrida() + " 00:00:00");
if(isTarifaMinimaHabilitado) {
query.setParameter("plazaId", puntoVenta.getColonia().getCiudad().getPlaza().getPlazaId());
query.setParameter("claseservicioId", corrida.getClaseServicioId());
query.setParameter("categoriaId", Constantes.CATEGORIA_NORMAL);
query.setParameter("moneda", puntoVenta.getMoneda().getMonedaId());
}
List<TramoSequenciaVO> tramosequencia = query.list();
CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corrida.getEmpresaId());
List<TramoVO> lsTramo = new ArrayList<TramoVO>();
HashSet<TramoVO> setTramo = new HashSet<TramoVO>();
List<AliasServico> aliasLs = aliasServicoService.buscarPorRuta(corrida.getRutaId());
@ -648,9 +634,10 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
tramo.setDescAliasdestino(aC.getAliasDestino().getDescparada());
tramo.setDescAliasorigen(aC.getAliasOrigen().getDescparada());
}
lsTramo.add(tramo);
setTramo.add(tramo);
}
List<TramoVO> lsTramo = new ArrayList<TramoVO>(setTramo);
corrida.setLsTramoVO(lsTramo);
}

View File

@ -213,7 +213,6 @@ public class TramoHibernateDAO extends GenericHibernateDAO<Tramo, Integer>
sql.append(" coalesce(ta.importeoutros, 0) AS valorOutros, ");
sql.append(" coalesce(ta.importeseguro, 0) AS valorSeguro, ");
sql.append(" coalesce(ta.precio, 0) AS valorTarifa ");
// sql.append(" , co.ruta_id AS rutaId ");
sql.append(" FROM ");
sql.append(" ruta_combinacion rc ");
sql.append(" JOIN tramo trm ON trm.tramo_id = rc.tramo_id AND trm.activo = 1 ");