julio 2017-04-13 14:03:45 +00:00
parent 2c13a45c1a
commit 0bba1edd1b
1 changed files with 40 additions and 26 deletions

View File

@ -256,43 +256,57 @@ public class RutaHibernateDAO extends GenericHibernateDAO<Ruta, Integer> impleme
query.executeUpdate();
}
qryList = new ArrayList<String>();
qry = new StringBuilder(" update TARIFA set TRAMO_ID = :nuevoTramo, ");
qry.append(" FECMODIF = SYSDATE, USUARIO_ID = :usuario, ORIGEN_ID =:origen, DESTINO_ID = :destino ");
qry.append(" where TRAMO_ID = :viejoTramo and RUTA_ID = :ruta ");
qry.append(" AND ACTIVO = 1 ");
qryList.add(qry.toString());
try {
// Pode cair na exception caso ja possua tarifa criada para o tramo, e nao é necessaria criar novamente
qryList = new ArrayList<String>();
qry = new StringBuilder(" update TARIFA set TRAMO_ID = :nuevoTramo, ");
qry.append(" FECMODIF = SYSDATE, USUARIO_ID = :usuario, ORIGEN_ID =:origen, DESTINO_ID = :destino ");
qry.append(" where TRAMO_ID = :viejoTramo and RUTA_ID = :ruta ");
qry.append(" AND ACTIVO = 1 ");
qryList.add(qry.toString());
qry = new StringBuilder(" update TARIFA_OFICIAL set TRAMO_ID = :nuevoTramo, ");
qry.append(" FECMODIF = SYSDATE, USUARIO_ID = :usuario, ORIGEN_ID =:origen, DESTINO_ID = :destino ");
qry.append(" where TRAMO_ID = :viejoTramo and RUTA_ID = :ruta ");
qry.append(" AND ACTIVO = 1 ");
qryList.add(qry.toString());
qry = new StringBuilder(" update TARIFA_OFICIAL set TRAMO_ID = :nuevoTramo, ");
qry.append(" FECMODIF = SYSDATE, USUARIO_ID = :usuario, ORIGEN_ID =:origen, DESTINO_ID = :destino ");
qry.append(" where TRAMO_ID = :viejoTramo and RUTA_ID = :ruta ");
qry.append(" AND ACTIVO = 1 ");
qryList.add(qry.toString());
for (String strQuery : qryList) {
Query query = getSession().createSQLQuery(strQuery);
query.setInteger("viejoTramo", viejoTramo.getTramoId());
query.setInteger("nuevoTramo", nuevoTramo.getTramoId());
query.setInteger("origen", nuevoTramo.getOrigem().getParadaId());
query.setInteger("destino", nuevoTramo.getDestino().getParadaId());
query.setInteger("usuario", nuevoTramo.getUsuarioId());
query.setInteger("ruta", ruta.getRutaId());
query.executeUpdate();
}
} catch (Exception e) {
}
qry = new StringBuilder(" update CORRIDA_TRAMO set TRAMO_ID = :nuevoTramo, ");
qry.append(" FECMODIF = SYSDATE, USUARIO_ID = :usuario, ORIGEN_ID =:origen, DESTINO_ID = :destino ");
qry.append(" where TRAMO_ID = :viejoTramo and ");
qry.append(" CORRIDA_ID in (select CORRIDA_ID from CORRIDA_CTRL where RUTA_ID = :ruta ) ");
qry.append(" AND ACTIVO = 1 ");
qryList.add(qry.toString());
for (String strQuery : qryList) {
Query query = getSession().createSQLQuery(strQuery);
query.setInteger("viejoTramo", viejoTramo.getTramoId());
query.setInteger("nuevoTramo", nuevoTramo.getTramoId());
query.setInteger("origen", nuevoTramo.getOrigem().getParadaId());
query.setInteger("destino", nuevoTramo.getDestino().getParadaId());
query.setInteger("usuario", nuevoTramo.getUsuarioId());
query.setInteger("ruta", ruta.getRutaId());
query.executeUpdate();
}
Query query = getSession().createSQLQuery(qry.toString());
query.setInteger("viejoTramo", viejoTramo.getTramoId());
query.setInteger("nuevoTramo", nuevoTramo.getTramoId());
query.setInteger("origen", nuevoTramo.getOrigem().getParadaId());
query.setInteger("destino", nuevoTramo.getDestino().getParadaId());
query.setInteger("usuario", nuevoTramo.getUsuarioId());
query.setInteger("ruta", ruta.getRutaId());
query.executeUpdate();
qry = new StringBuilder(" update CORRIDA set FECMODIF = SYSDATE, USUARIO_ID = :usuario, ");
qry.append(" ORIGEN_ID = (case when ORIGEN_ID = :viejaOrigen then :nuevaOrigen else ORIGEN_ID end ), ");
qry.append(" DESTINO_ID = (case when DESTINO_ID = :viejoDestino then :nuevoDestino else DESTINO_ID end ) ");
qry.append(" where RUTA_ID = :ruta ");
Query query = getSession().createSQLQuery(qry.toString());
query = getSession().createSQLQuery(qry.toString());
query.setInteger("viejaOrigen", viejoTramo.getOrigem().getParadaId());
query.setInteger("nuevaOrigen", nuevoTramo.getOrigem().getParadaId());
query.setInteger("viejoDestino", viejoTramo.getOrigem().getParadaId());