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.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashSet;
import java.util.List; import java.util.List;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
@ -52,6 +53,9 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
@Autowired @Autowired
private CategoriaDescuentoDAO categoriaDescuentoDAO; private CategoriaDescuentoDAO categoriaDescuentoDAO;
@Autowired
private ConstanteHibernateDAO constanteDAO;
@Autowired @Autowired
private AliasServicoService aliasServicoService; private AliasServicoService aliasServicoService;
@ -356,6 +360,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
} }
private void preencherTramosSequencias(final CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) { private void preencherTramosSequencias(final CorridaVO corrida, PuntoVenta puntoVenta, Empresa empresa) {
boolean isTarifaMinimaHabilitado = Boolean.getBoolean(constanteDAO.buscarPorNomeConstante("isTarifaMinimaHabilitado").getValorconstante());
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" SELECT"); sb.append(" SELECT");
@ -383,7 +388,9 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" TA.IMPORTEOUTROS AS importeOutros,"); sb.append(" TA.IMPORTEOUTROS AS importeOutros,");
sb.append(" TA.IMPORTESEGURO AS importeSeguro,"); sb.append(" TA.IMPORTESEGURO AS importeSeguro,");
sb.append(" TA.PRECIO AS precio,"); sb.append(" TA.PRECIO AS precio,");
sb.append(" TA.RUTA_ID as rutaId,"); sb.append(" TA.RUTA_ID as rutaId, ");
if(isTarifaMinimaHabilitado) {
sb.append(" ("); sb.append(" (");
sb.append(" select IMPORTETARIFA"); sb.append(" select IMPORTETARIFA");
sb.append(" from ("); sb.append(" from (");
@ -460,6 +467,10 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
sb.append(" and rutaId = TA.RUTA_ID"); sb.append(" and rutaId = TA.RUTA_ID");
sb.append(" and rownum = 1"); sb.append(" and rownum = 1");
sb.append(" ) as tarifaMinima "); sb.append(" ) as tarifaMinima ");
}else {
sb.append(" null as tarifaMinima ");
}
sb.append(" FROM RUTA_COMBINACION RC"); sb.append(" FROM RUTA_COMBINACION RC");
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = RC.TRAMO_ID"); 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')"); 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.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 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(" 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()) Query query = getSession().createSQLQuery(sb.toString())
.addScalar("tramoId", IntegerType.INSTANCE) .addScalar("tramoId", IntegerType.INSTANCE)
@ -552,16 +535,19 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
query.setParameter("rutaId", corrida.getRutaId()); query.setParameter("rutaId", corrida.getRutaId());
query.setParameter("corridaId", corrida.getCorridaId()); query.setParameter("corridaId", corrida.getCorridaId());
query.setParameter("feccorrida", corrida.getFeccorrida() + " 00:00:00"); query.setParameter("feccorrida", corrida.getFeccorrida() + " 00:00:00");
if(isTarifaMinimaHabilitado) {
query.setParameter("plazaId", puntoVenta.getColonia().getCiudad().getPlaza().getPlazaId()); query.setParameter("plazaId", puntoVenta.getColonia().getCiudad().getPlaza().getPlazaId());
query.setParameter("claseservicioId", corrida.getClaseServicioId()); query.setParameter("claseservicioId", corrida.getClaseServicioId());
query.setParameter("categoriaId", Constantes.CATEGORIA_NORMAL); query.setParameter("categoriaId", Constantes.CATEGORIA_NORMAL);
query.setParameter("moneda", puntoVenta.getMoneda().getMonedaId()); query.setParameter("moneda", puntoVenta.getMoneda().getMonedaId());
}
List<TramoSequenciaVO> tramosequencia = query.list(); List<TramoSequenciaVO> tramosequencia = query.list();
CategoriaDescuento categoriaDescuento = categoriaDescuentoDAO.pesquisarPorCategoriaEmpresa(Constantes.CATEGORIA_NORMAL, corrida.getEmpresaId()); 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()); List<AliasServico> aliasLs = aliasServicoService.buscarPorRuta(corrida.getRutaId());
@ -648,9 +634,10 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
tramo.setDescAliasdestino(aC.getAliasDestino().getDescparada()); tramo.setDescAliasdestino(aC.getAliasDestino().getDescparada());
tramo.setDescAliasorigen(aC.getAliasOrigen().getDescparada()); tramo.setDescAliasorigen(aC.getAliasOrigen().getDescparada());
} }
lsTramo.add(tramo); setTramo.add(tramo);
} }
List<TramoVO> lsTramo = new ArrayList<TramoVO>(setTramo);
corrida.setLsTramoVO(lsTramo); 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.importeoutros, 0) AS valorOutros, ");
sql.append(" coalesce(ta.importeseguro, 0) AS valorSeguro, "); sql.append(" coalesce(ta.importeseguro, 0) AS valorSeguro, ");
sql.append(" coalesce(ta.precio, 0) AS valorTarifa "); sql.append(" coalesce(ta.precio, 0) AS valorTarifa ");
// sql.append(" , co.ruta_id AS rutaId ");
sql.append(" FROM "); sql.append(" FROM ");
sql.append(" ruta_combinacion rc "); sql.append(" ruta_combinacion rc ");
sql.append(" JOIN tramo trm ON trm.tramo_id = rc.tramo_id AND trm.activo = 1 "); sql.append(" JOIN tramo trm ON trm.tramo_id = rc.tramo_id AND trm.activo = 1 ");