package com.rjconsultores.ventaboletos.dao.sqlbuilder.impl; import com.rjconsultores.ventaboletos.dao.sqlbuilder.SQLBuilder; public class SQLBuilderOracle implements SQLBuilder { private static final Integer HORAS_NO_DIA = Integer.valueOf(24); @Override public String getSQLGerarTarifaOficial(final Integer codRuta, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(); sb.append("INSERT "); sb.append("INTO "); sb.append(" TARIFA_OFICIAL "); sb.append(" ( "); sb.append(" TARIFAOFICIAL_ID, "); sb.append(" PRECIO, "); sb.append(" PRECIOORIGINAL, "); sb.append(" TRAMO_ID, "); sb.append(" MARCA_ID, "); sb.append(" CLASESERVICIO_ID, "); sb.append(" PRECIOREDABIERTO, "); sb.append(" MONEDA_ID, "); sb.append(" VIGENCIATARIFA_ID, "); sb.append(" STATUSTARIFA, "); sb.append(" IMPORTETAXAEMBARQUE, "); sb.append(" IMPORTEPEDAGIO, "); sb.append(" IMPORTEOUTROS, "); sb.append(" IMPORTESEGURO, "); sb.append(" ORGAOCONCEDENTE_ID, "); sb.append(" RUTA_ID, "); sb.append(" ACTIVO, "); sb.append(" FECMODIF, "); sb.append(" USUARIO_ID, "); sb.append(" ORIGEN_ID, "); sb.append(" DESTINO_ID "); sb.append(" ) "); sb.append(" select "); sb.append(" "); sb.append(" TARIFA_OFICIAL_SEQ.NEXTVAL, "); sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct3.coeficiente,0) * coalesce(tc.kmcoeficiente3,0)) * "); sb.append(" case when e.icms is null then 1 else (1/(1-e.icms/100)) end ,2), "); sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct3.coeficiente,0) * coalesce(tc.kmcoeficiente3,0)) * "); sb.append(" case when e.icms is null then 1 else (1/(1-e.icms/100)) end ,2),"); sb.append(" t.tramo_id, "); sb.append(" mc.marca_id, "); sb.append(" r.CLASESERVICIO_ID, "); sb.append(" null, "); sb.append(" m.moneda_id, "); sb.append(" null, "); sb.append(" 'A', "); sb.append(" null, "); sb.append(" null, "); sb.append(" null, "); sb.append(" null, "); sb.append(" oc.orgaoconcedente_id, "); sb.append(" r.ruta_id, "); sb.append(" 1, "); sb.append(" sysdate, "); sb.append(" ").append(usuarioId).append(", "); sb.append(" po.parada_id, "); sb.append(" pd.parada_id "); sb.append(" "); sb.append("from "); sb.append(" ruta_combinacion rc "); sb.append(" inner join ruta r on r.ruta_id = rc.ruta_id "); sb.append(" inner join ruta_empresa re on r.ruta_id = re.ruta_id "); sb.append(" inner join marca ma on ma.empresa_id = re.empresa_id "); sb.append(" inner join orgao_tramo tc on tc.tramo_id = rc.tramo_id "); sb.append(" and tc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and tc.activo =1 "); sb.append(" inner join orgao_concedente oc on "); sb.append(" oc.orgaoconcedente_id = tc.orgaoconcedente_id "); sb.append(" and oc.orgaoconcedente_id =r.orgaoconcedente_id "); sb.append(" inner join coeficiente_tarifa ct1 on ct1.coeficientetarifa_id = tc.coeficientetarifa1_id "); sb.append(" left join coeficiente_tarifa ct2 on ct2.coeficientetarifa_id = tc.coeficientetarifa2_id "); sb.append(" left join coeficiente_tarifa ct3 on ct3.coeficientetarifa_id = tc.coeficientetarifa3_id "); sb.append(" inner join tramo t on t.tramo_id = rc.tramo_id "); sb.append(" inner join parada po on po.parada_id = t.origen_id "); sb.append(" inner join parada pd on pd.parada_id = t.destino_id "); sb.append(" inner join ciudad c on c.ciudad_id = po.ciudad_id "); sb.append(" inner join estado e on e.estado_id = c.estado_id "); sb.append(" inner join MARCA_CLASESERVICIO mc on "); sb.append(" mc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and ma.marca_id = mc.marca_id, "); sb.append(" moneda m "); sb.append(" "); sb.append("where "); sb.append(" rc.activo = 1 "); if (codRuta != null) { sb.append(" and r.ruta_id = ").append(codRuta); } sb.append(" and r.activo = 1 "); sb.append(" and tc.activo = 1 "); sb.append(" and mc.marca_id <> -1 "); sb.append(" and mc.activo = 1 "); sb.append(" and re.activo = 1 "); sb.append(" and m.moneda_id = 1 "); if (orgaoConcedenteId != null) { sb.append(" and oc.orgaoconcedente_id = ").append(orgaoConcedenteId); } sb.append(" and "); sb.append(" (t.tramo_id, "); sb.append(" mc.marca_id, "); sb.append(" r.CLASESERVICIO_ID, "); sb.append(" m.moneda_id, "); sb.append(" oc.orgaoconcedente_id, r.ruta_id) "); sb.append(" not in (select tao.tramo_id,tao.marca_id,tao.CLASESERVICIO_ID, "); sb.append(" tao.moneda_id,tao.orgaoconcedente_id, tao.ruta_id "); sb.append(" from tarifa_oficial tao where tao.activo = 1) "); return sb.toString(); } @Override public String getSQLAtualizarTarifaOficial(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(""); sb.append("UPDATE TARIFA_OFICIAL SET PRECIO = "); sb.append("( "); sb.append("select "); sb.append(" "); sb.append(" ROUND( "); sb.append(" (coalesce(ct1.coeficiente,0) * coalesce(tc.kmcoeficiente1,0) + "); sb.append(" coalesce(ct2.coeficiente,0) * coalesce(tc.kmcoeficiente2,0) + "); sb.append(" coalesce(ct3.coeficiente,0) * coalesce(tc.kmcoeficiente3,0)) * "); sb.append(" case when e.icms is null then 1 else (1/(1-e.icms/100)) end ,2)"); sb.append(" "); sb.append("from "); sb.append(" ruta_combinacion rc "); sb.append(" inner join ruta r on r.ruta_id = rc.ruta_id "); sb.append(" inner join orgao_tramo tc on "); sb.append(" tc.tramo_id = rc.tramo_id and tc.CLASESERVICIO_ID = r.CLASESERVICIO_ID and tc.activo =1 "); sb.append(" inner join orgao_concedente oc on "); sb.append(" oc.orgaoconcedente_id = tc.orgaoconcedente_id "); sb.append(" and oc.orgaoconcedente_id =r.orgaoconcedente_id "); sb.append(" inner join coeficiente_tarifa ct1 on ct1.coeficientetarifa_id = tc.coeficientetarifa1_id "); sb.append(" left join coeficiente_tarifa ct2 on ct2.coeficientetarifa_id = tc.coeficientetarifa2_id "); sb.append(" left join coeficiente_tarifa ct3 on ct3.coeficientetarifa_id = tc.coeficientetarifa3_id "); sb.append(" inner join tramo t on t.tramo_id = rc.tramo_id "); sb.append(" inner join parada po on po.parada_id = t.origen_id "); sb.append(" inner join parada pd on pd.parada_id = t.destino_id "); sb.append(" inner join ciudad c on c.ciudad_id = po.ciudad_id "); sb.append(" inner join estado e on e.estado_id = c.estado_id "); sb.append(" inner join MARCA_CLASESERVICIO mc on mc.CLASESERVICIO_ID = r.CLASESERVICIO_ID, "); sb.append(" moneda m "); sb.append(" "); sb.append("where "); sb.append(" rc.activo = 1 "); sb.append(" and r.activo = 1 "); sb.append(" and mc.marca_id <> -1 "); sb.append(" and tc.activo = 1 "); sb.append(" and m.moneda_id = 1 "); if (orgaoConcedenteId != null) { sb.append(" and oc.orgaoconcedente_id = ").append(orgaoConcedenteId); } sb.append(" and t.tramo_id = TARIFA_OFICIAL.tramo_id "); sb.append(" and mc.marca_id = TARIFA_OFICIAL.marca_id "); sb.append(" and r.CLASESERVICIO_ID = TARIFA_OFICIAL.CLASESERVICIO_ID "); sb.append(" and m.moneda_id = TARIFA_OFICIAL.moneda_id "); sb.append(" and oc.orgaoconcedente_id = TARIFA_OFICIAL.orgaoconcedente_id "); sb.append(" and r.ruta_id = TARIFA_OFICIAL.ruta_id "); sb.append(") "); sb.append(" "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = sysdate "); sb.append(" "); sb.append("where "); sb.append(" activo = 1 "); if (rutaId != null) { sb.append(" and ruta_id = ").append(rutaId); } if (orgaoConcedenteId != null) { sb.append(" and orgaoconcedente_id = ").append(orgaoConcedenteId); } return sb.toString(); } @Override public String getAtualizarTaxaEmbarquePorKmParada(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("( "); sb.append("select "); sb.append(" tepKm.valorTaxa "); sb.append(" "); sb.append(" "); sb.append("from "); sb.append(" tarifa_oficial tao "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); sb.append(" inner join TAXA_EMBARQUE_PARADA tepKm on "); sb.append(" tepKm.parada_id = t.origen_id and tepKm.KMATE >= "); sb.append(" t.CANTKMREAL and tepKm.activo = 1 and tepKm.indtipo = 'K' "); sb.append("where "); sb.append(" tepKm.kmate= "); sb.append(" (select min(tepKm1.KMATE) "); sb.append(" from "); sb.append(" TAXA_EMBARQUE_PARADA tepKm1 "); sb.append(" where "); sb.append(" tepKm1.parada_id = t.origen_id and tepKm1.KMATE >= t.CANTKMREAL and tepKm.activo = 1 "); sb.append(" ) "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(") "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = sysdate "); sb.append(" "); sb.append("where "); sb.append(" tarifa_oficial.activo = 1 "); if (rutaId != null) { sb.append(" and tarifa_oficial.ruta_id = ").append(rutaId); } if (orgaoConcedenteId != null) { sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); } return sb.toString(); } @Override public String getSQLAtualizarTaxaEmbarquePorKmOrgao(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("coalesce( "); sb.append("( "); sb.append("select "); sb.append(" tek.valorTaxa "); sb.append(" "); sb.append("from "); sb.append(" tarifa_oficial tao "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); sb.append(" inner join taxa_embarque_km tek on "); sb.append(" tek.orgaoconcedente_id = tao.ORGAOCONCEDENTE_ID "); sb.append(" and tek.activo = 1 and t.CANTKMREAL <= tek.kmate "); sb.append("where "); sb.append(" tek.kmate= "); sb.append(" (select min(tek1.KMATE) "); sb.append(" from "); sb.append(" taxa_embarque_km tek1 "); sb.append(" where "); sb.append(" tek1.orgaoconcedente_id = tao.ORGAOCONCEDENTE_ID "); sb.append(" and t.CANTKMREAL <= tek1.kmate and tek1.activo = 1 "); sb.append(" ) "); sb.append(" "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append("),IMPORTETAXAEMBARQUE) "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = sysdate "); sb.append(" "); sb.append("where "); sb.append(" tarifa_oficial.activo = 1 "); if (rutaId != null) { sb.append(" and tarifa_oficial.ruta_id = ").append(rutaId); } if (orgaoConcedenteId != null) { sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); } return sb.toString(); } @Override public String getSQLAtualizarTaxaEmbarquePorParadaFixo(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTETAXAEMBARQUE = "); sb.append("coalesce( "); sb.append("( "); sb.append("select "); sb.append(" tepFixo.valorTaxa "); sb.append(" "); sb.append("from "); sb.append(" tarifa_oficial tao "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); sb.append(" inner join TAXA_EMBARQUE_PARADA tepFixo on "); sb.append(" tepFixo.parada_id = t.origen_id "); sb.append(" and tepFixo.indtipo = 'F' and tepFixo.activo = 1 "); sb.append("where "); sb.append(" tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tepFixo.orgaoconcedente_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append("),IMPORTETAXAEMBARQUE) "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = sysdate "); sb.append(" "); sb.append("where "); sb.append(" tarifa_oficial.activo = 1 "); if (rutaId != null) { sb.append(" and tarifa_oficial.ruta_id = ").append(rutaId); } if (orgaoConcedenteId != null) { sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); } return sb.toString(); } @Override public String getSQLAtualizarSeguroPorKm(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTESEGURO = "); sb.append("( "); sb.append("select "); sb.append(" sk.VALORTAXA "); sb.append("from "); sb.append(" tarifa_oficial tao "); sb.append(" inner join tramo t on t.tramo_id = tao.tramo_id "); sb.append(" inner join seguro_km sk on "); sb.append(" sk.KMATE >= t.CANTKMREAL and sk.activo = 1 "); sb.append(" and tao.ORGAOCONCEDENTE_ID = sk.ORGAOCONCEDENTE_ID "); sb.append("where "); sb.append(" sk.kmate= "); sb.append(" (select min(sk1.KMATE) "); sb.append(" from "); sb.append(" seguro_km sk1 "); sb.append(" where "); sb.append(" sk1.KMATE >= t.CANTKMREAL and sk1.activo = 1 "); sb.append(" and tao.ORGAOCONCEDENTE_ID = sk1.ORGAOCONCEDENTE_ID "); sb.append(" ) "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(") "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = sysdate "); sb.append(" "); sb.append("where "); sb.append(" tarifa_oficial.activo = 1 "); if (rutaId != null) { sb.append(" and tarifa_oficial.ruta_id = ").append(rutaId); } if (orgaoConcedenteId != null) { sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); } return sb.toString(); } @Override public String getSQLAtualizarSeguroPorTarifa(final Integer rutaId, final Integer usuarioId, final Integer orgaoConcedenteId) { StringBuilder sb = new StringBuilder(""); sb.append("update tarifa_oficial set IMPORTESEGURO = "); sb.append("( "); sb.append("select "); sb.append(" st.VALORTAXA "); sb.append("from "); sb.append(" tarifa_oficial tao "); sb.append(" inner join seguro_tarifa st on "); sb.append(" st.VALORTARIFAATE >= tao.precio and st.activo = 1 "); sb.append(" and tao.ORGAOCONCEDENTE_ID = st.ORGAOCONCEDENTE_ID "); sb.append("where "); sb.append(" st.VALORTARIFAATE= "); sb.append(" (select min(st1.VALORTARIFAATE) "); sb.append(" from "); sb.append(" seguro_tarifa st1 "); sb.append(" where "); sb.append(" st1.VALORTARIFAATE >= tao.precio and st1.activo = 1 "); sb.append(" and tao.ORGAOCONCEDENTE_ID = st1.ORGAOCONCEDENTE_ID "); sb.append(" ) "); sb.append(" and tao.marca_id = tarifa_oficial.marca_id "); sb.append(" and tao.orgaoconcedente_id = tarifa_oficial.orgaoconcedente_id "); sb.append(" and tao.claseservicio_id=tarifa_oficial.claseservicio_id "); sb.append(" and tao.moneda_id = tarifa_oficial.moneda_id "); sb.append(" and tao.ruta_id = tarifa_oficial.ruta_id "); sb.append(" and tao.tramo_id = tarifa_oficial.tramo_id "); sb.append(") "); sb.append(", usuario_id = ").append(usuarioId).append(",fecmodif = sysdate "); sb.append(" "); sb.append("where "); sb.append(" tarifa_oficial.activo = 1 "); if (rutaId != null) { sb.append(" and tarifa_oficial.ruta_id = ").append(rutaId); } if (orgaoConcedenteId != null) { sb.append(" and tarifa_oficial.orgaoconcedente_id = ").append(orgaoConcedenteId); } return sb.toString(); } @Override public String getSQLAtualizarTarifaPorTarifaOfical(final Integer vigenciaTarifaId, final Integer usuarioId, final Boolean calculaPegagio) { StringBuilder sb = new StringBuilder(""); sb.append("update ( "); sb.append(" "); sb.append("select "); sb.append(" ta.precio as taprecio, "); sb.append(" ta.preciooriginal as tapreciooriginal, "); sb.append(" ta.importetaxaembarque as taimportetaxaembarque, "); sb.append(" ta.importepedagio as taimportepedagio, "); sb.append(" ta.importeoutros as taimporteoutros, "); sb.append(" ta.importeseguro as taimporteseguro, "); sb.append(" tao.precio as taoprecio, "); sb.append(" tao.preciooriginal as taopreciooriginal, "); sb.append(" tao.importetaxaembarque as taoimportetaxaembarque, "); sb.append(" tao.importepedagio as taoimportepedagio, "); sb.append(" tao.importeoutros as taoimporteoutros, "); sb.append(" tao.importeseguro as taoimporteseguro, "); sb.append(" ta.fecmodif as tafecmodif,ta.usuario_id as tausuario_id "); sb.append("from "); sb.append(" tarifa_oficial tao "); sb.append(" inner join tarifa ta on "); sb.append(" tao.marca_id = ta.marca_id "); sb.append(" and tao.claseservicio_id = ta.claseservicio_id "); sb.append(" and tao.tramo_id = ta.tramo_id "); sb.append(" and tao.moneda_id = ta.moneda_id "); sb.append(" and tao.ruta_id = ta.ruta_id "); sb.append(" and tao.orgaoconcedente_id = ta.orgaoconcedente_id "); sb.append("where "); sb.append(" ta.vigenciatarifa_id = ").append(vigenciaTarifaId); sb.append(" ) set "); sb.append(" taprecio = taoprecio, "); sb.append(" tapreciooriginal = taopreciooriginal, "); sb.append(" taimportetaxaembarque = taoimportetaxaembarque, "); if (calculaPegagio) { sb.append(" taimportepedagio = taoimportepedagio,"); } sb.append(" taimporteoutros = taoimporteoutros,taimporteseguro = taoimporteseguro, "); sb.append(" tafecmodif = current_timestamp, tausuario_id = ").append(usuarioId); return sb.toString(); } @Override public String getSQLInserirTarifaPelaTarifaOficial(final Integer vigenciaTarifaId, final Integer usuarioId) { StringBuilder sb = new StringBuilder(""); sb.append(" insert "); sb.append(" into "); sb.append(" TARIFA "); sb.append(" ( TARIFA_ID, PRECIO, PRECIOREDABIERTO, TRAMO_ID, "); sb.append(" MARCA_ID, CLASESERVICIO_ID, PRECIOORIGINAL, MONEDA_ID, "); sb.append(" VIGENCIATARIFA_ID, STATUSTARIFA, ACTIVO, FECMODIF, "); sb.append(" USUARIO_ID, IMPORTETAXAEMBARQUE, IMPORTEPEDAGIO, IMPORTEOUTROS, "); sb.append(" IMPORTESEGURO, ORGAOCONCEDENTE_ID, RUTA_ID, ORIGEN_ID, DESTINO_ID ) "); sb.append(" select "); sb.append(" TARIFA_SEQ.nextval, "); sb.append(" tao.PRECIO , "); sb.append(" tao.PRECIOREDABIERTO , "); sb.append(" tao.TRAMO_ID , "); sb.append(" tao.MARCA_ID , "); sb.append(" tao.CLASESERVICIO_ID , "); sb.append(" tao.PRECIOORIGINAL , "); sb.append(" tao.MONEDA_ID , "); sb.append(" v.VIGENCIATARIFA_ID , "); sb.append(" tao.STATUSTARIFA , "); sb.append(" tao.ACTIVO , "); sb.append(" current_timestamp , "); sb.append(" ").append(usuarioId).append(", "); sb.append(" tao.IMPORTETAXAEMBARQUE , "); sb.append(" tao.IMPORTEPEDAGIO , "); sb.append(" tao.IMPORTEOUTROS , "); sb.append(" tao.IMPORTESEGURO , "); sb.append(" tao.ORGAOCONCEDENTE_ID , "); sb.append(" tao.RUTA_ID , "); sb.append(" tao.ORIGEN_ID , "); sb.append(" tao.DESTINO_ID "); sb.append(" from "); sb.append(" TARIFA_OFICIAL tao, "); sb.append(" VIGENCIA_TARIFA v "); sb.append(" where "); sb.append(" tao.ACTIVO=1 "); sb.append(" and v.VIGENCIATARIFA_ID=").append(vigenciaTarifaId).append(" "); sb.append(" and not (exists (select "); sb.append(" tar.TARIFA_ID "); sb.append(" from "); sb.append(" TARIFA tar "); sb.append(" where "); sb.append(" tar.ACTIVO=1 "); sb.append(" and tar.TRAMO_ID=tao.TRAMO_ID "); sb.append(" and tar.MARCA_ID=tao.MARCA_ID "); sb.append(" and tar.CLASESERVICIO_ID=tao.CLASESERVICIO_ID "); sb.append(" and tar.MONEDA_ID=tao.MONEDA_ID "); sb.append(" and tar.ORGAOCONCEDENTE_ID=tao.ORGAOCONCEDENTE_ID "); sb.append(" and tar.RUTA_ID=tao.RUTA_ID "); sb.append(" and tar.VIGENCIATARIFA_ID=").append(vigenciaTarifaId).append("))"); return sb.toString(); } @Override public String getSQLActualizarCorridaFecHusoFecVerano() { StringBuilder sb = new StringBuilder(); sb.append(" update Corrida cq "); sb.append(" set cq.fechorSalidaOriginalH = "); sb.append(" ( "); sb.append(" select "); sb.append(" c.fechorSalidaOriginal "); sb.append(" + nvl((c.origem.ciudad.estado.tiempoHorHuso/").append(HORAS_NO_DIA).append("), 0) "); sb.append(" + nvl( case when "); sb.append(" c.fechorSalidaOriginal between "); sb.append(" c.origem.ciudad.estado.fecInicioHorVerano "); sb.append(" and c.origem.ciudad.estado.fecFinoHorVerano "); sb.append(" then (c.origem.ciudad.estado.tiempoHorVerano/").append(HORAS_NO_DIA).append(") "); sb.append(" else 0 end, 0) "); sb.append(" from Corrida c "); sb.append(" where c.id.corridaId in ( :corridaId ) "); sb.append(" and c.id.feccorrida in ( :feccorrida ) "); sb.append(" and c.id.corridaId = cq.id.corridaId "); sb.append(" and c.id.feccorrida = cq.id.feccorrida "); sb.append(" ) "); sb.append(" where cq.id.corridaId in ( :corridaId ) "); sb.append(" and cq.id.feccorrida in ( :feccorrida ) "); return sb.toString(); } @Override public String getSQLActualizarCorridaTramoFecHusoFecVerano() { StringBuilder sb = new StringBuilder(); sb.append(" update CorridaTramo ctq "); sb.append(" set ctq.fechorSalidaOriginalH = :fechorSalidaOriginalH, ctq.fechorsalidaH = :fechorsalidaH, ctq.fechorllegadaH = :fechorllegadaH"); sb.append(" where ctq.corridatramoId = :corridatramoId "); return sb.toString(); } }