bug#20497
dev: Valvevir qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@103931 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
ef31272da3
commit
dcb2bb106b
|
@ -12,6 +12,7 @@ import com.rjconsultores.ventaboletos.entidad.Parada;
|
|||
import com.rjconsultores.ventaboletos.entidad.Tramo;
|
||||
import com.rjconsultores.ventaboletos.entidad.TramoServicio;
|
||||
import com.rjconsultores.ventaboletos.entidad.Via;
|
||||
import com.rjconsultores.ventaboletos.vo.tramo.TramoVO;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -49,5 +50,7 @@ public interface TramoDAO extends GenericDAO<Tramo, Integer> {
|
|||
public List<TramoServicio> obtenerTramosServiciosPorTramo(Tramo t);
|
||||
|
||||
public List<Tramo> buscarListaPorIds(List<Integer> tramoIds);
|
||||
|
||||
public List<TramoVO> buscarListaPorIds(List<Integer> tramoIds, String chaveCorrida) throws Exception;
|
||||
|
||||
}
|
||||
|
|
|
@ -266,7 +266,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
|||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("select * from (SELECT");
|
||||
sb.append(" cor.corrida_id ||';'|| to_char(cor.feccorrida, 'ddMMYYYY') AS chaveCorrida ");
|
||||
sb.append(" cor.corrida_id ||';'|| to_char(cor.feccorrida, 'ddMMYYYY') AS chaveCorrida, cor.ruta_id AS rutaId ");
|
||||
sb.append(" FROM OPERADOR_EMBARCADA OPE ");
|
||||
sb.append(" JOIN OPERADOR_EMBARCADA_SERVICO OPS ON OPE.OPERADOR_EMBARCADA_ID = OPS.OPERADOR_EMBARCADA_ID AND OPS.ACTIVO = 1 ");
|
||||
sb.append(" JOIN ESQUEMA_CORRIDA ESQ ON ESQ.ESQUEMACORRIDA_ID = OPS.ESQUEMA_CORRIDA_ID AND ESQ.ACTIVO = 1 ");
|
||||
|
@ -280,7 +280,7 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
|||
sb.append(" COR.FECHORSALIDA, ");
|
||||
sb.append(" COR.CORRIDA_ID) ");
|
||||
sb.append(" UNION select * from (SELECT ");
|
||||
sb.append(" cor.corrida_id ||';'|| to_char(cor.feccorrida, 'ddMMYYYY') AS chaveCorrida ");
|
||||
sb.append(" cor.corrida_id ||';'|| to_char(cor.feccorrida, 'ddMMYYYY') AS chaveCorrida, cor.ruta_id AS rutaId ");
|
||||
sb.append(" FROM OPERADOR_EMBARCADA OPE ");
|
||||
sb.append(" JOIN OPERADOR_EMBARCADA_LINHA OPL ON OPE.OPERADOR_EMBARCADA_ID = OPL.OPERADOR_EMBARCADA_ID AND OPL.ACTIVO = 1 ");
|
||||
sb.append(" left join operador_embarcada_servico ops on ops.operador_embarcada_id = ope.operador_embarcada_id AND ops.operador_embarcada_servico_id is null ");
|
||||
|
@ -295,20 +295,23 @@ public class OperadorEmbarcadaServicoHibernateDAO extends GenericHibernateDAO<Op
|
|||
sb.append(" COR.FECHORSALIDA, ");
|
||||
sb.append(" COR.CORRIDA_ID)");
|
||||
|
||||
Query query = getSession().createSQLQuery(sb.toString());
|
||||
Query query = getSession().createSQLQuery(sb.toString())
|
||||
.addScalar("chaveCorrida", StringType.INSTANCE)
|
||||
.addScalar("rutaId", IntegerType.INSTANCE);
|
||||
|
||||
query.setInteger("usuarioId", operador);
|
||||
query.setInteger("empresaId", empresa.getEmpresaId());
|
||||
query.setDate("dtIni", new java.sql.Date(dtIni.getTime()));
|
||||
query.setDate("dtFim", new java.sql.Date(dtFim.getTime()));
|
||||
|
||||
List<String> list = query.list();
|
||||
List<Object[]> list = query.list();
|
||||
if( retornaTramos ) {
|
||||
List<CorridaVO> corridas = new ArrayList<CorridaVO>();
|
||||
for (String chave : list) {
|
||||
for (Object[] chave : list) {
|
||||
CorridaVO co = new CorridaVO();
|
||||
co.setChaveCorrida(chave);
|
||||
co.setListTramos( obterListaTramo(chave) );
|
||||
co.setChaveCorrida((String)chave[0]);
|
||||
co.setRutaId((Integer)chave[1] );
|
||||
co.setListTramos( obterListaTramo((String)chave[0]) );
|
||||
corridas.add(co);
|
||||
}
|
||||
|
||||
|
|
|
@ -8,10 +8,15 @@ import java.util.List;
|
|||
|
||||
import org.hibernate.Criteria;
|
||||
import org.hibernate.FetchMode;
|
||||
import org.hibernate.Query;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.hibernate.criterion.Order;
|
||||
import org.hibernate.criterion.Projections;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
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.Qualifier;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
@ -23,6 +28,8 @@ import com.rjconsultores.ventaboletos.entidad.Parada;
|
|||
import com.rjconsultores.ventaboletos.entidad.Tramo;
|
||||
import com.rjconsultores.ventaboletos.entidad.TramoServicio;
|
||||
import com.rjconsultores.ventaboletos.entidad.Via;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.vo.tramo.TramoVO;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -191,4 +198,79 @@ public class TramoHibernateDAO extends GenericHibernateDAO<Tramo, Integer>
|
|||
|
||||
return c.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TramoVO> buscarListaPorIds(List<Integer> tramoIds, String chaveCorrida ) throws Exception {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
|
||||
sql.append(" SELECT ");
|
||||
sql.append(" trm.tramo_id AS tramoid, ");
|
||||
sql.append(" trm.desctramo AS desctramo, ");
|
||||
sql.append(" trm.origen_id AS origemId, ");
|
||||
sql.append(" trm.destino_id AS destinoId, ");
|
||||
sql.append(" coalesce(ta.importetaxaembarque, 0) AS valorTaxa, ");
|
||||
sql.append(" coalesce(ta.importepedagio, 0) AS valorPedagio, ");
|
||||
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 ");
|
||||
sql.append(" JOIN corrida_tramo crt ON crt.destino_id = trm.destino_id ");
|
||||
sql.append(" AND crt.corrida_id = :corridaId ");
|
||||
sql.append(" AND crt.feccorrida = :fecCorrida ");
|
||||
sql.append(" AND crt.activo = 1 ");
|
||||
sql.append(" JOIN corrida co ON co.corrida_id = crt.corrida_id ");
|
||||
sql.append(" AND crt.feccorrida = co.feccorrida ");
|
||||
sql.append(" and rc.ruta_id = co.ruta_id ");
|
||||
sql.append(" JOIN empresa emp ON emp.empresa_id = co.empresacorrida_id ");
|
||||
sql.append(" JOIN marca mar ON mar.empresa_id = emp.empresa_id AND mar.activo = 1 ");
|
||||
sql.append(" JOIN tarifa ta ON ta.marca_id = mar.marca_id ");
|
||||
sql.append(" AND ta.tramo_id = trm.tramo_id ");
|
||||
sql.append(" AND ta.ruta_id = rc.ruta_id ");
|
||||
sql.append(" AND ta.activo = 1 ");
|
||||
sql.append(" JOIN vigencia_tarifa vt ON vt.vigenciatarifa_id = ta.vigenciatarifa_id AND vt.activo = 1 ");
|
||||
sql.append(" WHERE ");
|
||||
sql.append(" rc.activo = 1 ");
|
||||
sql.append(" AND coalesce(rc.indventa, 0) = 1 ");
|
||||
sql.append(" AND trm.origen_id IN ( ");
|
||||
sql.append(" SELECT x.origen_id ");
|
||||
sql.append(" FROM corrida_tramo x ");
|
||||
sql.append(" WHERE x.corrida_id = co.corrida_id ");
|
||||
sql.append(" AND x.feccorrida = co.feccorrida ");
|
||||
sql.append(" ) ");
|
||||
sql.append(" AND trm.destino_id IN ( ");
|
||||
sql.append(" SELECT x.destino_id ");
|
||||
sql.append(" FROM corrida_tramo x ");
|
||||
sql.append(" WHERE x.corrida_id = co.corrida_id ");
|
||||
sql.append(" AND x.feccorrida = co.feccorrida ");
|
||||
sql.append(" ) ");
|
||||
sql.append(" AND ( sysdate BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia ");
|
||||
sql.append(" AND vt.activo = 1 ) ");
|
||||
sql.append(" and trm.tramo_id in ( :tramoIds ) ");
|
||||
|
||||
Query query = getSession().createSQLQuery(sql.toString())
|
||||
.addScalar("tramoId", IntegerType.INSTANCE)
|
||||
.addScalar("desctramo", StringType.INSTANCE)
|
||||
.addScalar("origemId", IntegerType.INSTANCE)
|
||||
.addScalar("destinoId", IntegerType.INSTANCE)
|
||||
// .addScalar("rutaId", IntegerType.INSTANCE)
|
||||
.addScalar("valorTaxa", BigDecimalType.INSTANCE)
|
||||
.addScalar("valorPedagio", BigDecimalType.INSTANCE)
|
||||
.addScalar("valorOutros", BigDecimalType.INSTANCE)
|
||||
.addScalar("valorSeguro", BigDecimalType.INSTANCE)
|
||||
.addScalar("valorTarifa", BigDecimalType.INSTANCE)
|
||||
.setResultTransformer(Transformers.aliasToBean(TramoVO.class));
|
||||
|
||||
String[] split = chaveCorrida.split(";");
|
||||
String corridaId = split[0].trim();
|
||||
String fecha = split[1].trim();
|
||||
|
||||
query.setParameter("corridaId", Integer.parseInt(corridaId) );
|
||||
query.setParameter("fecCorrida", DateUtil.getDateFromString(fecha, "ddMMyyyy") );
|
||||
query.setParameterList("tramoIds", tramoIds);
|
||||
|
||||
return query.list();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ public class TramoVO {
|
|||
//campos usados nas consultas resumidas
|
||||
private Integer origemId;
|
||||
private Integer destinoId;
|
||||
private Integer rutaId;
|
||||
|
||||
public TramoVO() {
|
||||
//construtor default
|
||||
|
@ -197,4 +198,12 @@ public class TramoVO {
|
|||
this.destinoId = destinoId;
|
||||
}
|
||||
|
||||
public Integer getRutaId() {
|
||||
return rutaId;
|
||||
}
|
||||
|
||||
public void setRutaId(Integer rutaId) {
|
||||
this.rutaId = rutaId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue