wilian 2015-10-19 20:14:07 +00:00
parent d04949a402
commit 28d6a9cf75
2 changed files with 40 additions and 10 deletions

View File

@ -82,6 +82,8 @@ public class RelatorioLinhasHorario extends Relatorio {
Integer tipoServico = (Integer) parametros.get("TIPOSERVICIO_ID");
String sql = getSql(lsNumLinha, lsNumServico, empresa, tipoServico, grupoRuta);
log.info(sql);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
@ -419,12 +421,6 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" ABSOL, ");
sql.append(" CJ.KM_REAL AS KM_REAL ");
sql.append("FROM ");
sql.append(" (SELECT RS.RUTA_ID, SUM(NVL(T.CANTKMREAL, 0)) AS EXTENSAO ");
sql.append(" FROM RUTA_SECUENCIA RS ");
sql.append(" INNER JOIN TRAMO T ON (RS.TRAMO_ID = T.TRAMO_ID ) ");
sql.append(" WHERE RS.ACTIVO = 1 ");
sql.append(" AND T.ACTIVO = 1 ");
sql.append(" GROUP BY RS.RUTA_ID) TB1, ");
sql.append(" (SELECT C.CORRIDA_ID, C.ROLOPERATIVO_ID, TO_CHAR(C.FECHORSALIDA, 'HH24:MI') AS HORASALIDA, ");
sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 1 THEN 1 ELSE NULL END) AS ORD, ");
sql.append(" COUNT(CASE WHEN C.TIPOSERVICIO_ID = 2 THEN 1 ELSE NULL END) AS EXTRA ");
@ -453,7 +449,11 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" BO.BOLETO_ID, ");
sql.append(" BO.NUMKMVIAJE * COUNT(1) AS KM_REAL, ");
sql.append(" ROUND((BO.NUMKMVIAJE * COUNT(1) / ");
sql.append(" (SELECT SUM(TR.CANTKMREAL) FROM RUTA_SECUENCIA RS, TRAMO TR WHERE RS.RUTA_ID = CO.RUTA_ID AND RS.TRAMO_ID = TR.TRAMO_ID)), 3) EQUIVALENTE, ");
sql.append("(");
sql.append(" SELECT DISTINCT NVL(B.NUMKMVIAJE, 0)");
sql.append(" FROM BOLETO B");
sql.append(" WHERE B.BOLETO_ID = BO.BOLETO_ID");
sql.append(")), 3) EQUIVALENTE,");
sql.append(" SUM(NVL(BO.IMPORTESEGURO, 0)) AS IMPORTESEGURO, ");
sql.append(" SUM(NVL(BO.IMPORTETAXAEMBARQUE, 0)) AS IMPORTETAXAEMBARQUE, ");
sql.append(" SUM(NVL(BO.IMPORTEPEDAGIO, 0)) AS IMPORTEPEDAGIO, ");
@ -492,8 +492,32 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append("LEFT JOIN EVENTO_EXTRA EE ON (EE.CORRIDA_ID = C.CORRIDA_ID AND EE.FECCORRIDA = C.FECCORRIDA AND EE.TIPOEVENTOEXTRA_ID = 1 ) ");
sql.append("LEFT JOIN TARIFA TF ON (TF.CLASESERVICIO_ID = C.CLASESERVICIO_ID AND TF.DESTINO_ID = C.DESTINO_ID AND TF.ORIGEN_ID = C.ORIGEN_ID AND TF.MARCA_ID = C.MARCA_ID AND TF.RUTA_ID = C.RUTA_ID ) ");
sql.append("LEFT JOIN VIGENCIA_TARIFA VTF ON (TF.VIGENCIATARIFA_ID = VTF.VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN VTF.FECINICIOVIGENCIA AND VTF.FECFINVIGENCIA ) ");
sql.append("WHERE TB1.RUTA_ID = C.RUTA_ID ");
sql.append("AND TB2.CORRIDA_ID = C.CORRIDA_ID ");
sql.append("INNER JOIN ");
sql.append("( ");
sql.append("SELECT DISTINCT B.ORIGEN_ID, B.DESTINO_ID, B.EMPRESACORRIDA_ID, RS.RUTA_ID, CO.CORRIDA_ID, NVL(B.NUMKMVIAJE, 0) AS EXTENSAO ");
sql.append("FROM RUTA_SECUENCIA RS ");
sql.append("INNER JOIN BOLETO B ON B.RUTA_ID = RS.RUTA_ID ");
sql.append("INNER JOIN CORRIDA CO ON (CO.CORRIDA_ID = B.CORRIDA_ID AND CO.FECCORRIDA = B.FECCORRIDA) ");
sql.append("WHERE RS.ACTIVO = 1 ");
sql.append("AND B.ACTIVO = 1 ");
sql.append("AND CO.FECCORRIDA BETWEEN :DATA_INICIO AND :DATA_FINAL ");
if (lsNumServico.size() > 0) {
for (Corrida corrida : lsNumServico) {
if (lsNumServico.indexOf(corrida) == 0) {
sql.append(" AND CO.CORRIDA_ID IN ( " + corrida.getId().getCorridaId());
} else {
sql.append(" , " + corrida.getId().getCorridaId() + " ");
}
}
sql.append(" ) ");
}
sql.append(empresa == null ? "" : " AND CO.EMPRESACORRIDA_ID = " + empresa.getEmpresaId());
sql.append(") TB5 ON TB5.ORIGEN_ID = ORIGEM.PARADA_ID ");
sql.append("AND TB5.DESTINO_ID = DESTINO.PARADA_ID ");
sql.append("AND TB5.EMPRESACORRIDA_ID = C.EMPRESACORRIDA_ID ");
sql.append("AND TB5.RUTA_ID = C.RUTA_ID ");
sql.append("AND TB5.CORRIDA_ID = C.CORRIDA_ID ");
sql.append("WHERE TB2.CORRIDA_ID = C.CORRIDA_ID ");
sql.append("AND TB2.ROLOPERATIVO_ID = C.ROLOPERATIVO_ID ");
sql.append("AND TB2.HORASALIDA = TO_CHAR(C.FECHORSALIDA, 'HH24:MI') ");
sql.append("AND TB4.CORRIDA_ID = C.CORRIDA_ID ");
@ -532,7 +556,7 @@ public class RelatorioLinhasHorario extends Relatorio {
sql.append(" AND C.ACTIVO <> 0 AND ORIGEM.ACTIVO = 1 AND DESTINO.ACTIVO = 1 ");
sql.append("AND R.ACTIVO = 1 AND RO.ACTIVO = 1 AND DA.ACTIVO = 1 AND CS.ACTIVO = 1 ");
sql.append("GROUP BY R.RUTA_ID, NVL(GR.DESCGRUPO, 'Não Definido'), TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), C.CORRIDA_ID, R.INDSENTIDOIDA, ");
sql.append(" DA.CANTASIENTOS, CS.DESCCLASE, EXTENSAO, TB2.ORD, TB2.EXTRA, ABSOL, ");
sql.append(" DA.CANTASIENTOS, CS.DESCCLASE, TB5.EXTENSAO, TB2.ORD, TB2.EXTRA, ABSOL, ");
sql.append(" CO.ESTADO_ID, CD.ESTADO_ID, ORIGEM.CVEPARADA, DESTINO.CVEPARADA, CJ.PRECIOPAGADO, ");
sql.append(" CJ.IMPORTESEGURO, CJ.IMPORTETAXAEMBARQUE, CJ.IMPORTEPEDAGIO, ");
sql.append(" CJ.EQUIVALENTE, CJ.KM_REAL , CJ.BOLETO_ID ) ");

View File

@ -12,6 +12,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.beans.PesoOperacional;
import com.rjconsultores.ventaboletos.service.ConstanteService;
@ -19,6 +21,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
public class RelatorioOrigemDestino extends Relatorio {
private static Logger log = Logger.getLogger(RelatorioOrigemDestino.class);
private static String CONSTANTE_GRATUIDADE_CRIANCA;
public RelatorioOrigemDestino(Map<String, Object> parametros, Connection conexao) throws Exception {
@ -38,6 +42,8 @@ public class RelatorioOrigemDestino extends Relatorio {
Boolean trechosSemMovimento = (Boolean) getParametros().get("TRECHOS_SEM_MOVIMENTO");
String sql = getSQL(empresaIds, corridasIds, dataDe, dataAte, bilhetesGratuitos, trechosSemMovimento);
log.info(sql);
List<PesoOperacional> lsPesoOperacionalRelatorio = getPesoOperacional(corridasIds, dataDe, dataAte, bilhetesGratuitos, empresaIds, trechosSemMovimento);
getParametros().put("lsPesoOperacionalRelatorio", lsPesoOperacionalRelatorio);