|
|
@ -1,17 +1,18 @@
|
|
|
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
|
|
|
package com.rjconsultores.ventaboletos.dao.hibernate;
|
|
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.Date;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.ListIterator;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import org.hibernate.Criteria;
|
|
|
|
import org.hibernate.Criteria;
|
|
|
|
import org.hibernate.Hibernate;
|
|
|
|
import org.hibernate.Query;
|
|
|
|
import org.hibernate.SQLQuery;
|
|
|
|
|
|
|
|
import org.hibernate.SessionFactory;
|
|
|
|
import org.hibernate.SessionFactory;
|
|
|
|
import org.hibernate.criterion.Restrictions;
|
|
|
|
import org.hibernate.criterion.Restrictions;
|
|
|
|
|
|
|
|
import org.hibernate.transform.ResultTransformer;
|
|
|
|
|
|
|
|
import org.hibernate.transform.Transformers;
|
|
|
|
|
|
|
|
import org.hibernate.type.BigDecimalType;
|
|
|
|
|
|
|
|
import org.hibernate.type.IntegerType;
|
|
|
|
|
|
|
|
import org.hibernate.type.StringType;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import org.springframework.stereotype.Repository;
|
|
|
@ -19,15 +20,16 @@ import org.springframework.stereotype.Repository;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
|
|
|
|
import com.rjconsultores.ventaboletos.dao.OperadorEmbarcadaServicoDAO;
|
|
|
|
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
|
|
|
|
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcada;
|
|
|
|
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
|
|
|
|
import com.rjconsultores.ventaboletos.entidad.OperadorEmbarcadaServico;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.corrida.ColunasConsultaCorridaVO;
|
|
|
|
|
|
|
|
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.corrida.CorridaVO;
|
|
|
|
|
|
|
|
import com.rjconsultores.ventaboletos.vo.corrida.TramoSequenciaVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.parada.ParadaVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.parada.ParadaVO;
|
|
|
|
|
|
|
|
import com.rjconsultores.ventaboletos.vo.roloperativo.RolOperativoVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.secuencia.SecuenciaVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.secuencia.SecuenciaVO;
|
|
|
|
|
|
|
|
import com.rjconsultores.ventaboletos.vo.tiposervicio.TipoServicioVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.tramo.TramoVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.tramo.TramoVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.via.ViaVO;
|
|
|
|
import com.rjconsultores.ventaboletos.vo.via.ViaVO;
|
|
|
|
|
|
|
|
|
|
|
|
@Repository("operadorEmbarcadaServicoDAO")
|
|
|
|
@Repository("operadorEmbarcadaServicoDAO")
|
|
|
|
@SuppressWarnings({"unchecked", "deprecation"})
|
|
|
|
|
|
|
|
public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<OperadorEmbarcadaServico, Long> implements OperadorEmbarcadaServicoDAO {
|
|
|
|
public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<OperadorEmbarcadaServico, Long> implements OperadorEmbarcadaServicoDAO {
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
@ -35,6 +37,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
|
|
|
setSessionFactory(factory);
|
|
|
|
setSessionFactory(factory);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<OperadorEmbarcadaServico> buscarPorOperador(OperadorEmbarcada operador) {
|
|
|
|
public List<OperadorEmbarcadaServico> buscarPorOperador(OperadorEmbarcada operador) {
|
|
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
|
|
Criteria c = getSession().createCriteria(getPersistentClass());
|
|
|
@ -45,179 +48,421 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<CorridaVO> getListaCorridaVO(Integer operador, Integer empresa, Date dtIni, Date dtFim) {
|
|
|
|
public List<CorridaVO> getListaCorridaVO(Integer operador, Integer empresa, Date dtIni, Date dtFim) {
|
|
|
|
|
|
|
|
List<CorridaVO> corridas = getCorridas(operador, empresa, dtIni, dtFim);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (CorridaVO corrida : corridas) {
|
|
|
|
|
|
|
|
preencherTramosSequencias(corrida);
|
|
|
|
|
|
|
|
preencherSequencias(corrida);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return corridas;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
|
|
|
private List<CorridaVO> getCorridas(Integer operador, Integer empresa, Date dtIni, Date dtFim) {
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
sb.append(" SELECT ");
|
|
|
|
|
|
|
|
sb.append(" COR.CORRIDA_ID AS corridaId, ESQ.NUMCORRIDA AS numCorrida, '' AS descServico, COR.FECHORSALIDA AS fechorsalida, COR.TIPOSERVICIO_ID AS tiposervicioId, TPS.DESCSERVICIO AS descservicio, ROL.ROLOPERATIVO_ID AS roloperativoId, ROL.DESCROLOPERATIVO AS descroloperativo, ");
|
|
|
|
sb.append(" SELECT");
|
|
|
|
sb.append(" TRM.TRAMO_ID AS tramoId, TRM.DESCTRAMO AS desctramo, TRM.ORIGEN_ID AS origemId, ORI.DESCPARADA AS descOrigem, TRM.DESTINO_ID AS destinoId, DES.DESCPARADA AS descDestino, TRM.VIA_ID AS viaId, VIA.NOMBVIA AS nombVia, CRT.NUMSECUENCIA as numsecuencia, ");
|
|
|
|
sb.append(" COR.CORRIDA_ID AS CORRIDAID,");
|
|
|
|
sb.append(" ORIEST.ESTADO_ID as oriestado_id, ORIEST.NOMBESTADO as orinombestado, DESEST.ESTADO_ID as desestado_id, DESEST.NOMBESTADO desnombestado, ORICID.CIUDAD_ID AS oriciudad_id, ORICID.NOMBCIUDAD AS orinombciudad, ");
|
|
|
|
sb.append(" ESQ.NUMCORRIDA AS NUMCORRIDA,");
|
|
|
|
sb.append(" DESCID.CIUDAD_ID AS desciudad_id, DESCID.NOMBCIUDAD AS desnombciudad, ORIEST.CVEESTADO AS oricveestado, DESEST.CVEESTADO as descveestado, cor.ruta_id as ruta_id, ");
|
|
|
|
sb.append(" '' AS DESCSERVICO,");
|
|
|
|
sb.append(" ta.IMPORTETAXAEMBARQUE as valorTaxa, ta.IMPORTEPEDAGIO as valorPedagio, ta.IMPORTEOUTROS as valorOutros, ta.IMPORTESEGURO as valorSeguro, ta.precio as valorTarifa ");
|
|
|
|
sb.append(" COR.FECHORSALIDA AS FECHORSALIDA,");
|
|
|
|
// sb.append(" new com.rjconsultores.ventaboletos.vo.corrida.CorridaVO(ESQ.NUMCORRIDA, '') ");
|
|
|
|
sb.append(" COR.TIPOSERVICIO_ID AS TIPOSERVICIOID,");
|
|
|
|
sb.append(" FROM OPERADOR_EMBARCADA OPE ");
|
|
|
|
sb.append(" TPS.DESCSERVICIO AS DESCSERVICIO,");
|
|
|
|
sb.append(" INNER JOIN OPERADOR_EMBARCADA_SERVICO OPS ON OPE.OPERADOR_EMBARCADA_ID = OPS.OPERADOR_EMBARCADA_ID ");
|
|
|
|
sb.append(" ROL.ROLOPERATIVO_ID AS ROLOPERATIVOID,");
|
|
|
|
sb.append(" INNER JOIN ESQUEMA_CORRIDA ESQ ON ESQ.ESQUEMACORRIDA_ID = OPS.ESQUEMA_CORRIDA_ID ");
|
|
|
|
sb.append(" ROL.DESCROLOPERATIVO AS DESCROLOPERATIVO,");
|
|
|
|
sb.append(" INNER JOIN CORRIDA COR ON COR.ESQUEMACORRIDA_ID = ESQ.ESQUEMACORRIDA_ID ");
|
|
|
|
sb.append(" COR.RUTA_ID AS RUTA_ID,");
|
|
|
|
sb.append(" INNER JOIN TIPO_SERVICIO TPS ON COR.TIPOSERVICIO_ID = TPS.TIPOSERVICIO_ID ");
|
|
|
|
sb.append(" COR.ORIGEN_ID AS ORIGEMID,");
|
|
|
|
sb.append(" INNER JOIN ROL_OPERATIVO ROL ON COR.ROLOPERATIVO_ID = ROL.ROLOPERATIVO_ID ");
|
|
|
|
sb.append(" ORI.DESCPARADA AS DESCORIGEM,");
|
|
|
|
sb.append(" INNER JOIN CORRIDA_TRAMO CRT ON CRT.CORRIDA_ID = COR.CORRIDA_ID AND CRT.FECCORRIDA = COR.FECCORRIDA ");
|
|
|
|
sb.append(" COR.DESTINO_ID AS DESTINOID,");
|
|
|
|
sb.append(" INNER JOIN TRAMO TRM ON TRM.TRAMO_ID = CRT.TRAMO_ID ");
|
|
|
|
sb.append(" DES.DESCPARADA AS DESCDESTINO,");
|
|
|
|
sb.append(" INNER JOIN TARIFA ta on ta.tramo_Id = TRM.TRAMO_ID ");
|
|
|
|
sb.append(" ORIEST.CVEESTADO AS ORICVEESTADO,");
|
|
|
|
sb.append(" inner join VIGENCIA_TARIFA VT on VT.VIGENCIATARIFA_ID = ta.VIGENCIATARIFA_ID ");
|
|
|
|
sb.append(" DESEST.CVEESTADO AS DESCVEESTADO,");
|
|
|
|
sb.append(" INNER JOIN PARADA ORI ON ORI.PARADA_ID = TRM.ORIGEN_ID ");
|
|
|
|
sb.append(" COR.CLASESERVICIO_ID AS CLASESERVICIO_ID,");
|
|
|
|
sb.append(" INNER JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID ");
|
|
|
|
sb.append(" COR.MARCA_ID AS MARCA_ID,");
|
|
|
|
sb.append(" INNER JOIN ESTADO ORIEST ON ORIEST.ESTADO_ID = ORICID.ESTADO_ID ");
|
|
|
|
sb.append(" to_char(COR.FECCORRIDA, 'dd/MM/YYYY') AS FECCORRIDA");
|
|
|
|
sb.append(" INNER JOIN PARADA DES ON DES.PARADA_ID = TRM.DESTINO_ID ");
|
|
|
|
sb.append(" FROM OPERADOR_EMBARCADA OPE");
|
|
|
|
sb.append(" INNER JOIN CIUDAD DESCID ON DESCID.CIUDAD_ID = DES.CIUDAD_ID ");
|
|
|
|
sb.append(" JOIN OPERADOR_EMBARCADA_SERVICO OPS ON OPE.OPERADOR_EMBARCADA_ID = OPS.OPERADOR_EMBARCADA_ID");
|
|
|
|
sb.append(" INNER JOIN ESTADO DESEST ON DESEST.ESTADO_ID = DESCID.ESTADO_ID ");
|
|
|
|
sb.append(" JOIN ESQUEMA_CORRIDA ESQ ON ESQ.ESQUEMACORRIDA_ID = OPS.ESQUEMA_CORRIDA_ID");
|
|
|
|
sb.append(" INNER JOIN VIA VIA ON VIA.VIA_ID = TRM.VIA_ID ");
|
|
|
|
sb.append(" JOIN CORRIDA COR ON COR.ESQUEMACORRIDA_ID = ESQ.ESQUEMACORRIDA_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN TIPO_SERVICIO TPS ON COR.TIPOSERVICIO_ID = TPS.TIPOSERVICIO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ROL_OPERATIVO ROL ON COR.ROLOPERATIVO_ID = ROL.ROLOPERATIVO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CORRIDA_TRAMO CRT ON CRT.CORRIDA_ID = COR.CORRIDA_ID AND CRT.FECCORRIDA = COR.FECCORRIDA");
|
|
|
|
|
|
|
|
sb.append(" JOIN TRAMO TRM ON TRM.TRAMO_ID = CRT.TRAMO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN TARIFA TA ON TA.TRAMO_ID = TRM.TRAMO_ID AND TA.MARCA_ID = COR.MARCA_ID AND TA.RUTA_ID = COR.RUTA_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN VIGENCIA_TARIFA VT ON VT.VIGENCIATARIFA_ID = TA.VIGENCIATARIFA_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN PARADA ORI ON ORI.PARADA_ID = COR.ORIGEN_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ESTADO ORIEST ON ORIEST.ESTADO_ID = ORICID.ESTADO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN PARADA DES ON DES.PARADA_ID = COR.DESTINO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CIUDAD DESCID ON DESCID.CIUDAD_ID = DES.CIUDAD_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ESTADO DESEST ON DESEST.ESTADO_ID = DESCID.ESTADO_ID");
|
|
|
|
|
|
|
|
sb.append(" WHERE OPE.USUARIO_ID = :usuarioId");
|
|
|
|
|
|
|
|
sb.append(" AND COR.EMPRESACORRIDA_ID = :empresaId");
|
|
|
|
|
|
|
|
sb.append(" AND COR.FECCORRIDA >= :dtIni");
|
|
|
|
|
|
|
|
sb.append(" AND COR.FECCORRIDA <= :dtFim");
|
|
|
|
|
|
|
|
sb.append(" AND (SYSDATE BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA AND VT.ACTIVO = 1)");
|
|
|
|
|
|
|
|
sb.append(" AND OPS.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND OPE.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND ESQ.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND COR.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND TPS.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND ROL.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND CRT.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND TRM.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND ORI.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" AND DES.ACTIVO = 1");
|
|
|
|
|
|
|
|
sb.append(" GROUP BY");
|
|
|
|
|
|
|
|
sb.append(" COR.CORRIDA_ID,");
|
|
|
|
|
|
|
|
sb.append(" ESQ.NUMCORRIDA,");
|
|
|
|
|
|
|
|
sb.append(" COR.FECHORSALIDA,");
|
|
|
|
|
|
|
|
sb.append(" COR.TIPOSERVICIO_ID,");
|
|
|
|
|
|
|
|
sb.append(" TPS.DESCSERVICIO,");
|
|
|
|
|
|
|
|
sb.append(" ROL.ROLOPERATIVO_ID,");
|
|
|
|
|
|
|
|
sb.append(" ROL.DESCROLOPERATIVO,");
|
|
|
|
|
|
|
|
sb.append(" COR.RUTA_ID,");
|
|
|
|
|
|
|
|
sb.append(" COR.ORIGEN_ID,");
|
|
|
|
|
|
|
|
sb.append(" ORI.DESCPARADA,");
|
|
|
|
|
|
|
|
sb.append(" COR.DESTINO_ID,");
|
|
|
|
|
|
|
|
sb.append(" DES.DESCPARADA,");
|
|
|
|
|
|
|
|
sb.append(" ORIEST.CVEESTADO,");
|
|
|
|
|
|
|
|
sb.append(" DESEST.CVEESTADO,");
|
|
|
|
|
|
|
|
sb.append(" COR.CLASESERVICIO_ID,");
|
|
|
|
|
|
|
|
sb.append(" COR.MARCA_ID,");
|
|
|
|
|
|
|
|
sb.append(" to_char(COR.FECCORRIDA, 'dd/MM/YYYY')");
|
|
|
|
|
|
|
|
sb.append(" ORDER BY");
|
|
|
|
|
|
|
|
sb.append(" COR.FECHORSALIDA,");
|
|
|
|
|
|
|
|
sb.append(" COR.CORRIDA_ID");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Query query = getSession().createSQLQuery(sb.toString()).setResultTransformer(new ResultTransformer() {
|
|
|
|
|
|
|
|
private static final long serialVersionUID = -1157217114834593023L;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final int CORRIDAID = 0;
|
|
|
|
|
|
|
|
private final int NUMCORRIDA = 1;
|
|
|
|
|
|
|
|
private final int DESCSERVICO = 2;
|
|
|
|
|
|
|
|
private final int FECHORSALIDA = 3;
|
|
|
|
|
|
|
|
private final int TIPOSERVICIOID = 4;
|
|
|
|
|
|
|
|
private final int DESCSERVICIO = 5;
|
|
|
|
|
|
|
|
private final int ROLOPERATIVOID = 6;
|
|
|
|
|
|
|
|
private final int DESCROLOPERATIVO = 7;
|
|
|
|
|
|
|
|
private final int RUTA_ID = 8;
|
|
|
|
|
|
|
|
private final int ORIGEMID = 9;
|
|
|
|
|
|
|
|
private final int DESCORIGEM = 10;
|
|
|
|
|
|
|
|
private final int DESTINOID = 11;
|
|
|
|
|
|
|
|
private final int DESCDESTINO = 12;
|
|
|
|
|
|
|
|
private final int ORICVEESTADO = 13;
|
|
|
|
|
|
|
|
private final int DESCVEESTADO = 14;
|
|
|
|
|
|
|
|
private final int CLASESERVICIO_ID = 15;
|
|
|
|
|
|
|
|
private final int MARCA_ID = 16;
|
|
|
|
|
|
|
|
private final int FECCORRIDA = 17;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("rawtypes")
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List transformList(List list) {
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public Object transformTuple(Object[] tuple, String[] aliases) {
|
|
|
|
|
|
|
|
CorridaVO corrida = new CorridaVO();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
corrida.setCorridaId(Integer.valueOf(tuple[CORRIDAID] == null ? null : tuple[CORRIDAID].toString()));
|
|
|
|
|
|
|
|
corrida.setNumCorrida(Integer.valueOf(tuple[NUMCORRIDA] == null ? null : tuple[NUMCORRIDA].toString()));
|
|
|
|
|
|
|
|
corrida.setDescServico(tuple[DESCSERVICO] == null ? null : tuple[DESCSERVICO].toString());
|
|
|
|
|
|
|
|
corrida.setFechorsalida(tuple[FECHORSALIDA] == null ? null :tuple[FECHORSALIDA].toString());
|
|
|
|
|
|
|
|
corrida.setTipoServicioVO(new TipoServicioVO(tuple[TIPOSERVICIOID] == null ? null : Integer.valueOf(tuple[TIPOSERVICIOID].toString()), tuple[DESCSERVICIO] == null ? null : tuple[DESCSERVICIO].toString()));
|
|
|
|
|
|
|
|
corrida.setRolOperativoVO(new RolOperativoVO(tuple[ROLOPERATIVOID] == null ? null : Integer.valueOf(tuple[ROLOPERATIVOID].toString()), tuple[DESCROLOPERATIVO] == null ? null : tuple[DESCROLOPERATIVO].toString()));
|
|
|
|
|
|
|
|
corrida.setRutaId(tuple[RUTA_ID] == null ? null : Integer.valueOf(tuple[RUTA_ID].toString()));
|
|
|
|
|
|
|
|
corrida.setOrigenId(tuple[ORIGEMID] == null ? null : Integer.valueOf(tuple[ORIGEMID].toString()));
|
|
|
|
|
|
|
|
corrida.setDescOrigen(tuple[DESCORIGEM] == null ? null : tuple[DESCORIGEM].toString());
|
|
|
|
|
|
|
|
corrida.setDestinoId(tuple[DESTINOID] == null ? null : Integer.valueOf(tuple[DESTINOID].toString()));
|
|
|
|
|
|
|
|
corrida.setDescDestino(tuple[DESCDESTINO] == null ? null : tuple[DESCDESTINO].toString());
|
|
|
|
|
|
|
|
corrida.setOricveestado(tuple[ORICVEESTADO] == null ? null : tuple[ORICVEESTADO].toString());
|
|
|
|
|
|
|
|
corrida.setDescveestado(tuple[DESCVEESTADO] == null ? null : tuple[DESCVEESTADO].toString());
|
|
|
|
|
|
|
|
corrida.setClaseServicioId(tuple[CLASESERVICIO_ID] == null ? null : Integer.valueOf(tuple[CLASESERVICIO_ID].toString()));
|
|
|
|
|
|
|
|
corrida.setMarcaId(tuple[MARCA_ID] == null ? null : Integer.valueOf(tuple[MARCA_ID].toString()));
|
|
|
|
|
|
|
|
corrida.setFeccorrida(tuple[FECCORRIDA] == null ? null : tuple[FECCORRIDA].toString());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
corrida.setLsTramoVO(new ArrayList<TramoVO>());
|
|
|
|
|
|
|
|
corrida.setLsSecuenciaVO(new ArrayList<SecuenciaVO>());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return corrida;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
query.setInteger("usuarioId", operador);
|
|
|
|
|
|
|
|
query.setInteger("empresaId", empresa);
|
|
|
|
|
|
|
|
query.setDate("dtIni", new java.sql.Date(dtIni.getTime()));
|
|
|
|
|
|
|
|
query.setDate("dtFim", new java.sql.Date(dtFim.getTime()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return query.list();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
|
|
|
private void preencherTramosSequencias(CorridaVO corrida) {
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.append(" SELECT");
|
|
|
|
|
|
|
|
sb.append(" TRM.TRAMO_ID AS tramoId,");
|
|
|
|
|
|
|
|
sb.append(" TRM.DESCTRAMO AS desctramo,");
|
|
|
|
|
|
|
|
sb.append(" TRM.ORIGEN_ID AS origemId,");
|
|
|
|
|
|
|
|
sb.append(" ORI.DESCPARADA AS descOrigem,");
|
|
|
|
|
|
|
|
sb.append(" ORICID.CIUDAD_ID AS cidadeOrigemId,");
|
|
|
|
|
|
|
|
sb.append(" ORICID.NOMBCIUDAD AS nomeCidadeOrigem,");
|
|
|
|
|
|
|
|
sb.append(" ORIEST.ESTADO_ID AS estadoOrigemId,");
|
|
|
|
|
|
|
|
sb.append(" ORIEST.NOMBESTADO AS nomeEstadoOrigem,");
|
|
|
|
|
|
|
|
sb.append(" ORIEST.CVEESTADO AS cveEstadoOrigem,");
|
|
|
|
|
|
|
|
sb.append(" TRM.DESTINO_ID AS destinoId,");
|
|
|
|
|
|
|
|
sb.append(" DES.DESCPARADA AS descDestino,");
|
|
|
|
|
|
|
|
sb.append(" DESCID.CIUDAD_ID AS cidadeDestinoId,");
|
|
|
|
|
|
|
|
sb.append(" DESCID.NOMBCIUDAD AS nomeCidadeDestino,");
|
|
|
|
|
|
|
|
sb.append(" DESEST.ESTADO_ID AS estadoDestinoId,");
|
|
|
|
|
|
|
|
sb.append(" DESEST.NOMBESTADO AS nomeEstadoDestino,");
|
|
|
|
|
|
|
|
sb.append(" DESEST.CVEESTADO AS cveEstadoDestino,");
|
|
|
|
|
|
|
|
sb.append(" TRM.VIA_ID AS viaId,");
|
|
|
|
|
|
|
|
sb.append(" VIA.NOMBVIA AS nomeVia,");
|
|
|
|
|
|
|
|
sb.append(" CRT.NUMSECUENCIA AS sequencia,");
|
|
|
|
|
|
|
|
sb.append(" TA.IMPORTETAXAEMBARQUE AS importeTaxaEmbarque,");
|
|
|
|
|
|
|
|
sb.append(" TA.IMPORTEPEDAGIO AS importePedagio,");
|
|
|
|
|
|
|
|
sb.append(" TA.IMPORTEOUTROS AS importeOutros,");
|
|
|
|
|
|
|
|
sb.append(" TA.IMPORTESEGURO AS importeSeguro,");
|
|
|
|
|
|
|
|
sb.append(" TA.PRECIO AS precio");
|
|
|
|
|
|
|
|
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')");
|
|
|
|
|
|
|
|
sb.append(" JOIN PARADA ORI ON ORI.PARADA_ID = TRM.ORIGEN_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CIUDAD ORICID ON ORICID.CIUDAD_ID = ORI.CIUDAD_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ESTADO ORIEST ON ORIEST.ESTADO_ID = ORICID.ESTADO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN PARADA DES ON DES.PARADA_ID = TRM.DESTINO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CIUDAD DESCID ON DESCID.CIUDAD_ID = DES.CIUDAD_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ESTADO DESEST ON DESEST.ESTADO_ID = DESCID.ESTADO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN VIA VIA ON VIA.VIA_ID = TRM.VIA_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN TARIFA TA ON TA.MARCA_ID = :marcaId AND TA.TRAMO_ID = TRM.TRAMO_ID AND TA.RUTA_ID = RC.RUTA_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN VIGENCIA_TARIFA VT ON VT.VIGENCIATARIFA_ID = TA.VIGENCIATARIFA_ID");
|
|
|
|
sb.append(" WHERE ");
|
|
|
|
sb.append(" WHERE ");
|
|
|
|
sb.append(" OPE.USUARIO_ID = :usuario_id AND ");
|
|
|
|
sb.append(" RC.ACTIVO = 1");
|
|
|
|
sb.append(" COR.EMPRESACORRIDA_ID = :empresa AND ");
|
|
|
|
sb.append(" AND TRM.ACTIVO = 1");
|
|
|
|
sb.append(" COR.FECCORRIDA >= :dtIni AND COR.FECCORRIDA <= :dtFim ");
|
|
|
|
sb.append(" AND CRT.ACTIVO = 1");
|
|
|
|
sb.append(" AND (sysdate between VT.FECINICIOVIGENCIA and VT.FECFINVIGENCIA and vt.activo = 1) ");
|
|
|
|
sb.append(" AND VIA.ACTIVO = 1");
|
|
|
|
sb.append(" AND OPS.activo = 1 AND OPE.activo = 1 AND ESQ.activo = 1 AND COR.activo = 1 AND TPS.activo = 1 AND ROL.activo = 1 AND CRT.activo = 1 AND TRM.activo = 1 AND ORI.activo = 1 AND DES.activo = 1 AND VIA.activo = 1");
|
|
|
|
sb.append(" AND TA.ACTIVO = 1");
|
|
|
|
sb.append(" GROUP BY ");
|
|
|
|
sb.append(" AND VT.ACTIVO = 1");
|
|
|
|
sb.append(" COR.CORRIDA_ID, ESQ.NUMCORRIDA, COR.FECHORSALIDA, COR.TIPOSERVICIO_ID, TPS.DESCSERVICIO, ROL.ROLOPERATIVO_ID, ROL.DESCROLOPERATIVO, TRM.TRAMO_ID, TRM.DESCTRAMO, TRM.ORIGEN_ID, ORI.DESCPARADA, TRM.DESTINO_ID, DES.DESCPARADA, TRM.VIA_ID, VIA.NOMBVIA, CRT.NUMSECUENCIA, ");
|
|
|
|
sb.append(" AND RC.RUTA_ID = :rutaId ");
|
|
|
|
sb.append(" ORIEST.ESTADO_ID, ORIEST.NOMBESTADO, DESEST.ESTADO_ID, DESEST.NOMBESTADO, ORICID.CIUDAD_ID, ORICID.NOMBCIUDAD, DESCID.CIUDAD_ID, DESCID.NOMBCIUDAD, ORIEST.CVEESTADO, DESEST.CVEESTADO, COR.RUTA_ID, ");
|
|
|
|
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(" ta.IMPORTETAXAEMBARQUE, ta.IMPORTEPEDAGIO, ta.IMPORTEOUTROS, ta.IMPORTESEGURO, ta.precio ");
|
|
|
|
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(" ORDER BY ");
|
|
|
|
sb.append(" AND (SYSDATE BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA AND VT.ACTIVO = 1)");
|
|
|
|
sb.append(" COR.FECHORSALIDA, COR.CORRIDA_ID, TRM.TRAMO_ID, TRM.DESCTRAMO, CRT.NUMSECUENCIA ");
|
|
|
|
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(" ORDER BY");
|
|
|
|
|
|
|
|
sb.append(" CRT.NUMSECUENCIA");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Query query = getSession().createSQLQuery(sb.toString())
|
|
|
|
|
|
|
|
.addScalar("tramoId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("desctramo", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("origemId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("descOrigem", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("cidadeOrigemId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("nomeCidadeOrigem", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("estadoOrigemId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("nomeEstadoOrigem", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("cveEstadoOrigem", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("destinoId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("descDestino", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("cidadeDestinoId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("nomeCidadeDestino", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("estadoDestinoId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("nomeEstadoDestino", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("cveEstadoDestino", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("viaId", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("nomeVia", StringType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("sequencia", IntegerType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("importeTaxaEmbarque", BigDecimalType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("importePedagio", BigDecimalType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("importeOutros", BigDecimalType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("importeSeguro", BigDecimalType.INSTANCE)
|
|
|
|
|
|
|
|
.addScalar("precio", BigDecimalType.INSTANCE)
|
|
|
|
|
|
|
|
.setResultTransformer(Transformers.aliasToBean(TramoSequenciaVO.class));
|
|
|
|
|
|
|
|
|
|
|
|
SQLQuery sql = getSession().createSQLQuery(sb.toString())
|
|
|
|
query.setParameter("marcaId", corrida.getMarcaId());
|
|
|
|
.addScalar("corridaId", Hibernate.INTEGER)
|
|
|
|
query.setParameter("rutaId", corrida.getRutaId());
|
|
|
|
.addScalar("numCorrida", Hibernate.INTEGER)
|
|
|
|
query.setParameter("corridaId", corrida.getCorridaId());
|
|
|
|
.addScalar("descServico", Hibernate.STRING)
|
|
|
|
query.setParameter("feccorrida", corrida.getFeccorrida() + " 00:00:00");
|
|
|
|
.addScalar("fechorsalida", Hibernate.TIMESTAMP)
|
|
|
|
|
|
|
|
.addScalar("tiposervicioId", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("descservicio", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("roloperativoId", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("descroloperativo", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("tramoId", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("desctramo", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("origemId", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("descOrigem", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("destinoId", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("descDestino", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("viaId", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("nombVia", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("numsecuencia", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("oriestado_id", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("orinombestado",Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("desestado_id", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("desnombestado",Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("oriciudad_id", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("orinombciudad",Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("desciudad_id", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("desnombciudad",Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("oricveestado", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("descveestado", Hibernate.STRING)
|
|
|
|
|
|
|
|
.addScalar("ruta_id", Hibernate.INTEGER)
|
|
|
|
|
|
|
|
.addScalar("valorTaxa", Hibernate.BIG_DECIMAL)
|
|
|
|
|
|
|
|
.addScalar("valorPedagio", Hibernate.BIG_DECIMAL)
|
|
|
|
|
|
|
|
.addScalar("valorOutros", Hibernate.BIG_DECIMAL)
|
|
|
|
|
|
|
|
.addScalar("valorSeguro", Hibernate.BIG_DECIMAL)
|
|
|
|
|
|
|
|
.addScalar("valorTarifa", Hibernate.BIG_DECIMAL)
|
|
|
|
|
|
|
|
; //27
|
|
|
|
|
|
|
|
sql.setInteger("usuario_id", operador);
|
|
|
|
|
|
|
|
sql.setInteger("empresa", empresa);
|
|
|
|
|
|
|
|
sql.setDate("dtIni", new java.sql.Date(dtIni.getTime()));
|
|
|
|
|
|
|
|
sql.setDate("dtFim", new java.sql.Date(dtFim.getTime()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// sql.setResultTransformer(new AliasToBeanResultTransformer(CorridaVO.class));
|
|
|
|
List<TramoSequenciaVO> tramosequencia = query.list();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<TramoVO> lsTramo = new ArrayList<TramoVO>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (TramoSequenciaVO ts : tramosequencia) {
|
|
|
|
|
|
|
|
ParadaVO origem = new ParadaVO(
|
|
|
|
|
|
|
|
ts.getOrigemId(),
|
|
|
|
|
|
|
|
ts.getDescOrigem(),
|
|
|
|
|
|
|
|
ts.getCidadeOrigemId(),
|
|
|
|
|
|
|
|
ts.getNomeCidadeOrigem(),
|
|
|
|
|
|
|
|
ts.getEstadoOrigemId(),
|
|
|
|
|
|
|
|
ts.getNomeEstadoOrigem(),
|
|
|
|
|
|
|
|
ts.getCveEstadoOrigem());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ParadaVO destino = new ParadaVO(
|
|
|
|
|
|
|
|
ts.getDestinoId(),
|
|
|
|
|
|
|
|
ts.getDescOrigem(),
|
|
|
|
|
|
|
|
ts.getCidadeDestinoId(),
|
|
|
|
|
|
|
|
ts.getNomeCidadeDestino(),
|
|
|
|
|
|
|
|
ts.getEstadoDestinoId(),
|
|
|
|
|
|
|
|
ts.getNomeEstadoDestino(),
|
|
|
|
|
|
|
|
ts.getCveEstadoDestino());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ViaVO via = new ViaVO(
|
|
|
|
|
|
|
|
ts.getViaId(),
|
|
|
|
|
|
|
|
ts.getNomeVia());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TramoVO tramo = new TramoVO(
|
|
|
|
|
|
|
|
ts.getTramoId(),
|
|
|
|
|
|
|
|
ts.getDesctramo(),
|
|
|
|
|
|
|
|
origem,
|
|
|
|
|
|
|
|
destino,
|
|
|
|
|
|
|
|
via,
|
|
|
|
|
|
|
|
ts.getSequencia(),
|
|
|
|
|
|
|
|
ts.getPrecio(),
|
|
|
|
|
|
|
|
ts.getImporteTaxaEmbarque(),
|
|
|
|
|
|
|
|
ts.getImporteSeguro(),
|
|
|
|
|
|
|
|
ts.getImportePedagio(),
|
|
|
|
|
|
|
|
ts.getImporteOutros());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lsTramo.add(tramo);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
corrida.setLsTramoVO(lsTramo);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
|
|
|
|
private void preencherSequencias(CorridaVO corrida) {
|
|
|
|
|
|
|
|
final int NUMSECUENCIA = 0;
|
|
|
|
|
|
|
|
final int ORIGEN_ID = 1;
|
|
|
|
|
|
|
|
final int ORIGENCVEPARADA = 2;
|
|
|
|
|
|
|
|
final int ORIGENDESCPARADA = 3;
|
|
|
|
|
|
|
|
final int ORIGENCIUDAD_ID = 4;
|
|
|
|
|
|
|
|
final int ORIGENNOMBCIUDAD = 5;
|
|
|
|
|
|
|
|
final int ORIGENESTADO_ID = 6;
|
|
|
|
|
|
|
|
final int ORIGENNOMBESTADO = 7;
|
|
|
|
|
|
|
|
final int ORIGENCVEESTADO = 8;
|
|
|
|
|
|
|
|
final int DESTINO_ID = 9;
|
|
|
|
|
|
|
|
final int DESTINOCVEPARADA = 10;
|
|
|
|
|
|
|
|
final int DESTINODESCPARADA = 11;
|
|
|
|
|
|
|
|
final int DESTINOCIUDAD_ID = 12;
|
|
|
|
|
|
|
|
final int DESTINONOMBCIUDAD = 13;
|
|
|
|
|
|
|
|
final int DESTINOESTADO_ID = 14;
|
|
|
|
|
|
|
|
final int DESTINONOMBESTADO = 15;
|
|
|
|
|
|
|
|
final int DESTINOCVEESTADO = 16;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sb.append(" SELECT");
|
|
|
|
|
|
|
|
sb.append(" CT.NUMSECUENCIA,");
|
|
|
|
|
|
|
|
sb.append(" CT.ORIGEN_ID , PO.CVEPARADA as PO_CVEPARADA, PO.DESCPARADA as PO_DESCPARADA, CO.CIUDAD_ID as CO_CIUDAD_ID, CO.NOMBCIUDAD as CO_NOMBCIUDAD, EO.ESTADO_ID as EO_ESTADO_ID, EO.NOMBESTADO as EO_NOMBESTADO, EO.CVEESTADO as EO_CVEESTADO,");
|
|
|
|
|
|
|
|
sb.append(" CT.DESTINO_ID, PD.CVEPARADA as PD_CVEPARADA, PD.DESCPARADA as PD_DESCPARADA, CD.CIUDAD_ID as CD_CIUDAD_ID, CD.NOMBCIUDAD as CD_NOMBCIUDAD, ED.ESTADO_ID as ED_ESTADO_ID, ED.NOMBESTADO as ED_NOMBESTADO, ED.CVEESTADO as ED_CVEESTADO");
|
|
|
|
|
|
|
|
sb.append(" FROM CORRIDA C");
|
|
|
|
|
|
|
|
sb.append(" JOIN CORRIDA_TRAMO CT ON CT.CORRIDA_ID = C.CORRIDA_ID AND CT.FECCORRIDA = C.FECCORRIDA");
|
|
|
|
|
|
|
|
sb.append(" JOIN PARADA PO ON PO.PARADA_ID = CT.ORIGEN_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CIUDAD CO ON CO.CIUDAD_ID = PO.CIUDAD_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ESTADO EO ON EO.ESTADO_ID = CO.ESTADO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN PARADA PD ON PD.PARADA_ID = CT.DESTINO_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN CIUDAD CD ON CD.CIUDAD_ID = PD.CIUDAD_ID");
|
|
|
|
|
|
|
|
sb.append(" JOIN ESTADO ED ON ED.ESTADO_ID = CD.ESTADO_ID");
|
|
|
|
|
|
|
|
sb.append(" WHERE C.CORRIDA_ID = :corridaId AND C.FECCORRIDA = TO_DATE(:feccorrida,'DD/MM/YYYY HH24:MI:SS')");
|
|
|
|
|
|
|
|
sb.append(" ORDER BY CT.NUMSECUENCIA");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Query query = getSession().createSQLQuery(sb.toString());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
query.setParameter("corridaId", corrida.getCorridaId());
|
|
|
|
|
|
|
|
query.setParameter("feccorrida", corrida.getFeccorrida() + " 00:00:00");
|
|
|
|
|
|
|
|
|
|
|
|
List<CorridaVO> lsCorridaVO = new ArrayList<CorridaVO>();
|
|
|
|
|
|
|
|
List<TramoVO> lsTramoVO = new ArrayList<TramoVO>();
|
|
|
|
|
|
|
|
List<SecuenciaVO> lsSecuenciaVO = new ArrayList<SecuenciaVO>();
|
|
|
|
List<SecuenciaVO> lsSecuenciaVO = new ArrayList<SecuenciaVO>();
|
|
|
|
ColunasConsultaCorridaVO columnsConsulta = new ColunasConsultaCorridaVO();
|
|
|
|
List<String> controle = new ArrayList<String>(0);
|
|
|
|
|
|
|
|
|
|
|
|
List<Object[]> objects = sql.list();
|
|
|
|
List<Object[]> list = query.list();
|
|
|
|
ListIterator<Object[]> iterator = objects.listIterator();
|
|
|
|
|
|
|
|
if (iterator.hasNext()) {
|
|
|
|
|
|
|
|
Object[] object = (Object[]) iterator.next();
|
|
|
|
|
|
|
|
while (iterator.hasNext()) {
|
|
|
|
|
|
|
|
Object[] objectAnt = object;
|
|
|
|
|
|
|
|
object = (Object[]) iterator.next();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
columnsConsulta = preencheObjetoConsultaCorridaVO(object, objectAnt);
|
|
|
|
for (Object[] item : list) {
|
|
|
|
|
|
|
|
final Integer origensecuencia = Integer.valueOf(item[NUMSECUENCIA].toString());
|
|
|
|
|
|
|
|
final Integer origen_id = Integer.valueOf(item[ORIGEN_ID].toString());
|
|
|
|
|
|
|
|
final String origencveparada = item[ORIGENCVEPARADA].toString();
|
|
|
|
|
|
|
|
final String origendescparada = item[ORIGENDESCPARADA].toString();
|
|
|
|
|
|
|
|
final Integer origenciudad_id = Integer.valueOf(item[ORIGENCIUDAD_ID].toString());
|
|
|
|
|
|
|
|
final String origennombciudad = item[ORIGENNOMBCIUDAD].toString();
|
|
|
|
|
|
|
|
final Integer origenestado_id = Integer.valueOf(item[ORIGENESTADO_ID].toString());
|
|
|
|
|
|
|
|
final String origennombestado = item[ORIGENNOMBESTADO].toString();
|
|
|
|
|
|
|
|
final String origencveestado = item[ORIGENCVEESTADO].toString();
|
|
|
|
|
|
|
|
|
|
|
|
if (!columnsConsulta.getFechorsalidaAtual().equals(columnsConsulta.getFechorsalidaAnterior())) {
|
|
|
|
final Integer destinosecuencia = Integer.valueOf(item[NUMSECUENCIA].toString()) + 1;
|
|
|
|
inserirSecuenciaFinal(lsSecuenciaVO, columnsConsulta.getOrigemId(), columnsConsulta.getDescOrigem(), columnsConsulta.getDestinoId(), columnsConsulta.getDescDestino(), columnsConsulta.getNumsecuencia(),
|
|
|
|
final Integer destino_id = Integer.valueOf(item[DESTINO_ID].toString());
|
|
|
|
columnsConsulta.getOriciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getOriestado_id(), columnsConsulta.getOrinombestado(),
|
|
|
|
final String destinocveparada = item[DESTINOCVEPARADA].toString();
|
|
|
|
columnsConsulta.getDesciudad_id(), columnsConsulta.getDesnombciudad(), columnsConsulta.getDesestado_id(), columnsConsulta.getDesnombestado(), columnsConsulta.getOricveestado(), columnsConsulta.getDescveestado());
|
|
|
|
final String destinodescparada = item[DESTINODESCPARADA].toString();
|
|
|
|
lsTramoVO.add(new TramoVO(columnsConsulta.getTramoId(), columnsConsulta.getDesctramo(), new ParadaVO(columnsConsulta.getOrigemId(), columnsConsulta.getDescOrigem(), columnsConsulta.getOriciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getOriestado_id(), columnsConsulta.getOrinombestado(), columnsConsulta.getOricveestado()), new ParadaVO(columnsConsulta.getDestinoId(), columnsConsulta.getDescDestino(), columnsConsulta.getDesciudad_id(), columnsConsulta.getDesnombciudad(), columnsConsulta.getDesestado_id(), columnsConsulta.getDesnombestado(), columnsConsulta.getDescveestado() ), new ViaVO(columnsConsulta.getViaId(), columnsConsulta.getNombVia()), columnsConsulta.getNumsecuencia(), columnsConsulta.getValorTarifa(), columnsConsulta.getValorTaxa(), columnsConsulta.getValorSeguro(), columnsConsulta.getValorPedagio(), columnsConsulta.getValorOutros()));
|
|
|
|
final Integer destinociudad_id = Integer.valueOf(item[DESTINOCIUDAD_ID].toString());
|
|
|
|
lsCorridaVO.add(new CorridaVO(columnsConsulta.getCorridaId(), columnsConsulta.getNumCorrida(), columnsConsulta.getDescServico(), columnsConsulta.getFechorsalidaAnterior(), columnsConsulta.getTiposervicioId(), columnsConsulta.getDescservicio(), columnsConsulta.getRoloperativoId(), columnsConsulta.getDescroloperativo(), lsTramoVO, lsSecuenciaVO, columnsConsulta.getRutaId(), columnsConsulta.getOrigemId(), columnsConsulta.getDestinoId(), columnsConsulta.getDescOrigem(), columnsConsulta.getDescDestino(), columnsConsulta.getOricveestado(), columnsConsulta.getDescveestado()));
|
|
|
|
final String destinonombciudad = item[DESTINONOMBCIUDAD].toString();
|
|
|
|
lsTramoVO = new ArrayList<TramoVO>();
|
|
|
|
final Integer destinoestado_id = Integer.valueOf(item[DESTINOESTADO_ID].toString());
|
|
|
|
lsSecuenciaVO = new ArrayList<SecuenciaVO>();
|
|
|
|
final String destinonombestado = item[DESTINONOMBESTADO].toString();
|
|
|
|
} else {
|
|
|
|
final String destinocveestado = item[DESTINOCVEESTADO].toString();
|
|
|
|
lsSecuenciaVO.add(new SecuenciaVO(columnsConsulta.getNumsecuencia(), new ParadaVO(columnsConsulta.getOrigemId(), columnsConsulta.getDescOrigem(), columnsConsulta.getOriciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getOriestado_id(), columnsConsulta.getOrinombestado(), columnsConsulta.getOricveestado())));
|
|
|
|
|
|
|
|
lsTramoVO.add(new TramoVO(columnsConsulta.getTramoId(), columnsConsulta.getDesctramo(), new ParadaVO(columnsConsulta.getOrigemId(), columnsConsulta.getDescOrigem(), columnsConsulta.getOriciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getOriestado_id(), columnsConsulta.getOrinombestado(), columnsConsulta.getOricveestado()), new ParadaVO(columnsConsulta.getDestinoId(), columnsConsulta.getDescDestino(), columnsConsulta.getDesciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getDesestado_id(), columnsConsulta.getDesnombestado(), columnsConsulta.getDescveestado()), new ViaVO(columnsConsulta.getViaId(), columnsConsulta.getNombVia()), columnsConsulta.getNumsecuencia(), columnsConsulta.getValorTarifa(), columnsConsulta.getValorTaxa(), columnsConsulta.getValorSeguro(), columnsConsulta.getValorPedagio(), columnsConsulta.getValorOutros()));
|
|
|
|
adicionarSequencia(
|
|
|
|
}
|
|
|
|
controle,
|
|
|
|
}
|
|
|
|
lsSecuenciaVO,
|
|
|
|
inserirSecuenciaFinal(lsSecuenciaVO, columnsConsulta.getOrigemId(), columnsConsulta.getDescOrigem(), columnsConsulta.getDestinoIdAtual(), columnsConsulta.getDescDestinoAtual(), columnsConsulta.getNumsecuencia(),
|
|
|
|
origensecuencia,
|
|
|
|
columnsConsulta.getOriciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getOriestado_id(), columnsConsulta.getOrinombestado(),
|
|
|
|
origen_id,
|
|
|
|
columnsConsulta.getDesciudad_id(), columnsConsulta.getDesnombciudad(), columnsConsulta.getDesestado_id(), columnsConsulta.getDesnombestado(), columnsConsulta.getOricveestado(), columnsConsulta.getDescveestado());
|
|
|
|
origendescparada,
|
|
|
|
lsTramoVO.add(new TramoVO(columnsConsulta.getTramoIdAtual(), columnsConsulta.getDesctramoAtual(), new ParadaVO(columnsConsulta.getOrigemIdAtual(), columnsConsulta.getDescOrigemAtual(), columnsConsulta.getOriciudad_id(), columnsConsulta.getOrinombciudad(), columnsConsulta.getOriestado_id(), columnsConsulta.getOrinombestado(), columnsConsulta.getOricveestado()), new ParadaVO(columnsConsulta.getDestinoIdAtual(), columnsConsulta.getDescDestinoAtual(), columnsConsulta.getDesciudad_id(), columnsConsulta.getDesnombciudad(), columnsConsulta.getDesestado_id(), columnsConsulta.getDesnombestado(), columnsConsulta.getDescveestado()), new ViaVO(columnsConsulta.getViaIdAtual(), columnsConsulta.getNombViaAtual()), columnsConsulta.getNumsecuenciaAtual(), columnsConsulta.getValorTarifa(), columnsConsulta.getValorTaxa(), columnsConsulta.getValorSeguro(), columnsConsulta.getValorPedagio(), columnsConsulta.getValorOutros()));
|
|
|
|
origenciudad_id,
|
|
|
|
lsCorridaVO.add(new CorridaVO(columnsConsulta.getCorridaId(), columnsConsulta.getNumCorrida(), columnsConsulta.getDescServico(), columnsConsulta.getFechorsalidaAnterior(), columnsConsulta.getTiposervicioId(), columnsConsulta.getDescservicio(), columnsConsulta.getRoloperativoId(), columnsConsulta.getDescroloperativo(), lsTramoVO, lsSecuenciaVO, columnsConsulta.getRutaId(), columnsConsulta.getOrigemId(), columnsConsulta.getDestinoId(), columnsConsulta.getDescOrigem(), columnsConsulta.getDescDestino(), columnsConsulta.getOricveestado(), columnsConsulta.getDescveestado()));
|
|
|
|
origennombciudad,
|
|
|
|
}
|
|
|
|
origenestado_id,
|
|
|
|
return lsCorridaVO;
|
|
|
|
origennombestado,
|
|
|
|
|
|
|
|
origencveestado);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
adicionarSequencia(
|
|
|
|
|
|
|
|
controle,
|
|
|
|
|
|
|
|
lsSecuenciaVO,
|
|
|
|
|
|
|
|
destinosecuencia,
|
|
|
|
|
|
|
|
destino_id,
|
|
|
|
|
|
|
|
destinodescparada,
|
|
|
|
|
|
|
|
destinociudad_id,
|
|
|
|
|
|
|
|
destinonombciudad,
|
|
|
|
|
|
|
|
destinoestado_id,
|
|
|
|
|
|
|
|
destinonombestado,
|
|
|
|
|
|
|
|
destinocveestado);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private ColunasConsultaCorridaVO preencheObjetoConsultaCorridaVO(Object[] object, Object[] objectAnt) {
|
|
|
|
corrida.setLsSecuenciaVO(lsSecuenciaVO);
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
|
|
|
|
|
|
|
|
ColunasConsultaCorridaVO cc = new ColunasConsultaCorridaVO();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cc.setCorridaId((Integer) objectAnt[0]);
|
|
|
|
|
|
|
|
cc.setNumCorrida((Integer) objectAnt[1]);
|
|
|
|
|
|
|
|
cc.setDescServico((String) objectAnt[2]);
|
|
|
|
|
|
|
|
cc.setFechorsalidaAtual(sdf.format((Date) object[3]));
|
|
|
|
|
|
|
|
cc.setFechorsalidaAnterior(sdf.format((Date) objectAnt[3]));
|
|
|
|
|
|
|
|
cc.setTiposervicioId((Integer) objectAnt[4]);
|
|
|
|
|
|
|
|
cc.setDescservicio((String) objectAnt[5]);
|
|
|
|
|
|
|
|
cc.setRoloperativoId((Integer) objectAnt[6]);
|
|
|
|
|
|
|
|
cc.setDescroloperativo((String) objectAnt[7]);
|
|
|
|
|
|
|
|
cc.setTramoId((Integer) objectAnt[8]);
|
|
|
|
|
|
|
|
cc.setDesctramo((String) objectAnt[9]);
|
|
|
|
|
|
|
|
cc.setOrigemId((Integer) objectAnt[10]);
|
|
|
|
|
|
|
|
cc.setDescOrigem((String) objectAnt[11]);
|
|
|
|
|
|
|
|
cc.setDestinoId((Integer) objectAnt[12]);
|
|
|
|
|
|
|
|
cc.setDescDestino((String) objectAnt[13]);
|
|
|
|
|
|
|
|
cc.setViaId((Integer) objectAnt[14]);
|
|
|
|
|
|
|
|
cc.setNombVia((String) objectAnt[15]);
|
|
|
|
|
|
|
|
cc.setNumsecuencia((Integer) objectAnt[16]);
|
|
|
|
|
|
|
|
cc.setTramoIdAtual((Integer) object[8]);
|
|
|
|
|
|
|
|
cc.setDesctramoAtual((String) object[9]);
|
|
|
|
|
|
|
|
cc.setOrigemIdAtual((Integer) object[10]);
|
|
|
|
|
|
|
|
cc.setDescOrigemAtual((String) object[11]);
|
|
|
|
|
|
|
|
cc.setDestinoIdAtual((Integer) object[12]);
|
|
|
|
|
|
|
|
cc.setDescDestinoAtual((String) object[13]);
|
|
|
|
|
|
|
|
cc.setViaIdAtual((Integer) object[14]);
|
|
|
|
|
|
|
|
cc.setNombViaAtual((String) object[15]);
|
|
|
|
|
|
|
|
cc.setNumsecuenciaAtual((Integer) object[16]);
|
|
|
|
|
|
|
|
cc.setOriestado_id((Integer) object[17]);
|
|
|
|
|
|
|
|
cc.setOrinombestado((String) object[18]);
|
|
|
|
|
|
|
|
cc.setDesestado_id((Integer) object[19]);
|
|
|
|
|
|
|
|
cc.setDesnombestado((String) object[20]);
|
|
|
|
|
|
|
|
cc.setOriciudad_id((Integer) object[21]);
|
|
|
|
|
|
|
|
cc.setOrinombciudad((String) object[22]);
|
|
|
|
|
|
|
|
cc.setDesciudad_id((Integer) object[23]);
|
|
|
|
|
|
|
|
cc.setDesnombciudad((String) object[24]);
|
|
|
|
|
|
|
|
cc.setOricveestado((String) object[25]);
|
|
|
|
|
|
|
|
cc.setDescveestado((String) object[26]);
|
|
|
|
|
|
|
|
cc.setRutaId((Integer) object[27]);
|
|
|
|
|
|
|
|
cc.setValorTaxa((BigDecimal) object[28]);
|
|
|
|
|
|
|
|
cc.setValorPedagio((BigDecimal) object[29]);
|
|
|
|
|
|
|
|
cc.setValorOutros((BigDecimal) object[30]);
|
|
|
|
|
|
|
|
cc.setValorSeguro((BigDecimal) object[31]);
|
|
|
|
|
|
|
|
cc.setValorTarifa((BigDecimal) object[32]);
|
|
|
|
|
|
|
|
return cc;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void inserirSecuenciaFinal(List<SecuenciaVO> lsSecuenciaVO, Integer origemId, String descOrigem, Integer destinoId, String descDestino, Integer numsecuencia,
|
|
|
|
private void adicionarSequencia(List<String> controle, List<SecuenciaVO> lsSecuenciaVO, final Integer numsecuencia, final Integer paradaId, final String descParada, final Integer ciudadId, final String nombCiudad, final Integer estadoId, final String nombEstado, final String cveEstado) {
|
|
|
|
Integer oriciudadId, String orinombciudad, Integer oriestadoId, String orinombestado,
|
|
|
|
final String key = numsecuencia.toString() + "|" + paradaId.toString();
|
|
|
|
Integer desciudadId, String desnombciudad, Integer desestadoId, String desnombestado, String oricveestado, String descveestado) {
|
|
|
|
|
|
|
|
lsSecuenciaVO.add(new SecuenciaVO(numsecuencia, new ParadaVO(origemId, descOrigem, oriciudadId, orinombciudad, oriestadoId, orinombestado, oricveestado)));
|
|
|
|
|
|
|
|
lsSecuenciaVO.add(new SecuenciaVO(++numsecuencia, new ParadaVO(destinoId, descDestino, desciudadId, desnombciudad, desestadoId, desnombestado, descveestado)));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!controle.contains(key)) {
|
|
|
|
|
|
|
|
SecuenciaVO sequencia = new SecuenciaVO(
|
|
|
|
|
|
|
|
numsecuencia,
|
|
|
|
|
|
|
|
new ParadaVO(paradaId, descParada, ciudadId, nombCiudad, estadoId, nombEstado, cveEstado));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lsSecuenciaVO.add(sequencia);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
controle.add(key);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|