fixes bug#23471
dev: Wallace qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@110539 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
b4a248c972
commit
a0f9fd8af2
|
@ -166,13 +166,16 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
horarioBean.setDestino((String) rset.getObject("DESTINO"));
|
||||
horarioBean.setSomaExtensaoTrecho((BigDecimal) rset.getObject("EXTENSAO_TRECHO"));
|
||||
horarioBean.setPaxKmTransportado((BigDecimal) rset.getObject("KM_REAL"));
|
||||
|
||||
horarioBean.setKmRodado((BigDecimal) rset.getObject("KM_RODADO"));
|
||||
|
||||
horarioBean = trecho(horarioBean);
|
||||
|
||||
horarioBean = calcTotal(horarioBean);
|
||||
horarioBean = calcMediaReceitaTotal(horarioBean);
|
||||
|
||||
horarioBean = calcTotalViagem(horarioBean);
|
||||
horarioBean = calcKmRodado(horarioBean);
|
||||
// horarioBean = calcKmRodado(horarioBean);
|
||||
horarioBean = calcEquivalente(horarioBean);
|
||||
horarioBean = calcMpa(horarioBean);
|
||||
horarioBean = calcMpe(horarioBean);
|
||||
|
@ -192,6 +195,8 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
totalOrdinario = totalOrdinario.add(horarioBean.getOrd() != null ? horarioBean.getOrd() : BigDecimal.ZERO);
|
||||
totalExtra = totalExtra.add(horarioBean.getExtra() != null ? horarioBean.getExtra() : BigDecimal.ZERO);
|
||||
totalViagem = totalViagem.add(horarioBean.getTotalViagem() != null ? horarioBean.getTotalViagem() : BigDecimal.ZERO);
|
||||
|
||||
/**
|
||||
//No double deck corrida2_id estrá preenchido para os dois pisos (nas duas corridas).
|
||||
//Implementado esta lógica para não somar os dois KMs. Deverá somar somente um dos pisos
|
||||
if (Boolean.TRUE.equals(horarioBean.getIsDoubleDeck())) {
|
||||
|
@ -203,6 +208,11 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
} else {
|
||||
totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO);
|
||||
}
|
||||
**/
|
||||
|
||||
// calculo do km_rodado feito direto via banco de dados
|
||||
totalKmRodado = totalKmRodado.add(horarioBean.getKmRodado() != null ? horarioBean.getKmRodado() : BigDecimal.ZERO);
|
||||
|
||||
listaCorridas.add(horarioBean.getServico().longValue());
|
||||
totalAbsoluto = totalAbsoluto.add(horarioBean.getAbsol() != null ? horarioBean.getAbsol() : BigDecimal.ZERO);
|
||||
totalEquivalente = totalEquivalente.add(horarioBean.getEquivalente() != null ? horarioBean.getEquivalente() : BigDecimal.ZERO);
|
||||
|
@ -397,7 +407,8 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
sql.append(" TIPO_LINHA, ");
|
||||
sql.append(" ISDOUBLEDECK, ");
|
||||
sql.append(" ABSOL, ");
|
||||
sql.append(" COALESCE(SUM(KM_REAL), 0) AS KM_REAL ");
|
||||
sql.append(" COALESCE(SUM(KM_REAL), 0) AS KM_REAL, ");
|
||||
sql.append(" KM_RODADO ");
|
||||
sql.append(" FROM ");
|
||||
sql.append(" (SELECT ");
|
||||
sql.append(" R.RUTA_ID, ");
|
||||
|
@ -422,7 +433,11 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
sql.append(" TB2.ORD, ");
|
||||
sql.append(" TB2.EXTRA, ");
|
||||
sql.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'INTERESTADUAL' ELSE 'INTERMUNICIPAL' END TIPO_LINHA, ");
|
||||
sql.append(" CASE WHEN C.CORRIDA2_ID IS NULL THEN 0 ELSE 1 END ISDOUBLEDECK, ");
|
||||
|
||||
// sql.append(" CASE WHEN C.CORRIDA2_ID IS NULL THEN 0 ELSE 1 END ISDOUBLEDECK, ");
|
||||
sql.append(" TB2.ISDOUBLEDECK, ");
|
||||
sql.append("CASE WHEN TB2.ISDOUBLEDECK = 0 OR (C.CORRIDA2_ID IS NULL OR C.CORRIDA_ID > C.CORRIDA2_ID) THEN TB2.KM_RODADO_GERAL ELSE 0 END KM_RODADO, ");
|
||||
|
||||
sql.append(" ABSOL, ");
|
||||
sql.append(" CJ.KM_REAL AS KM_REAL ");
|
||||
sql.append(" FROM CORRIDA C ");
|
||||
|
@ -454,7 +469,15 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
sql.append(" 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, ");
|
||||
sql.append(" NVL(TF.PRECIO, 0) AS TARIFA ");
|
||||
sql.append(" NVL(TF.PRECIO, 0) AS TARIFA, ");
|
||||
sql.append(" MAX(CASE WHEN EXISTS (SELECT COUNT(1) AS VENDEU, C.CORRIDA2_ID ");
|
||||
sql.append(" FROM CORRIDA C_AUX ");
|
||||
sql.append(" JOIN CAJA BO_AUX ON BO_AUX.CORRIDA_ID = C.CORRIDA2_ID AND BO_AUX.FECCORRIDA = C.FECCORRIDA ");
|
||||
sql.append(" WHERE C_AUX.CORRIDA_ID = C.CORRIDA2_ID ");
|
||||
sql.append(" AND C_AUX.FECCORRIDA = C.FECCORRIDA ");
|
||||
sql.append(" AND BO_AUX.CAJA_ID IS NOT NULL AND ROWNUM = 1 ");
|
||||
sql.append(" GROUP BY C.CORRIDA2_ID) THEN 1 ELSE 0 END ) AS ISDOUBLEDECK, ");
|
||||
sql.append(" (COUNT(C.TIPOSERVICIO_ID) * TR.CANTKMREAL) KM_RODADO_GERAL ");
|
||||
sql.append(" FROM CORRIDA C ");
|
||||
sql.append(" INNER JOIN PARADA ORIGEM ON C.Origen_Id = ORIGEM.PARADA_ID ");
|
||||
sql.append(" INNER JOIN PARADA DESTINO ON C.DESTINO_ID = DESTINO.PARADA_ID ");
|
||||
|
@ -471,9 +494,10 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
sql.append(" AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
|
||||
sql.append(" GROUP BY C.CORRIDA_ID, C.CORRIDA2_ID, ");
|
||||
sql.append(" C.ROLOPERATIVO_ID, ");
|
||||
sql.append(" c.ruta_id, ");
|
||||
sql.append(" Destino.Cveparada, ");
|
||||
sql.append(" C.RUTA_ID, ");
|
||||
sql.append(" DESTINO.CVEPARADA, ");
|
||||
sql.append(" ORIGEM.CVEPARADA, ");
|
||||
sql.append(" TR.CANTKMREAL, ");
|
||||
sql.append(" TO_CHAR(C.FECHORSALIDA, 'HH24:MI'), ");
|
||||
sql.append(" NVL(TF.PRECIO, 0) ");
|
||||
sql.append(" ) TB2 ON (TB2.CORRIDA_ID = C.CORRIDA_ID AND (TB2.CORRIDA2_ID=C.CORRIDA2_ID OR (TB2.CORRIDA2_ID IS NULL AND C.CORRIDA2_ID IS NULL)) and tb2.c_ruta_id = c.ruta_id ");
|
||||
|
@ -507,7 +531,7 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
sql.append(" INNER JOIN VIGENCIA_TARIFA VT ON (VT.VIGENCIATARIFA_ID = TF.VIGENCIATARIFA_ID AND C.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA ) ");
|
||||
|
||||
|
||||
sql.append(" WHERE C.ACTIVO = 1 AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
|
||||
sql.append(" WHERE C.ACTIVO <> 0 AND C.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIO, 'dd/mm/yyyy hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'dd/mm/yyyy hh24:mi:ss') ");
|
||||
|
||||
if (lsNumServico.size() > 0) {
|
||||
for (Corrida corrida : lsNumServico) {
|
||||
|
@ -563,7 +587,7 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
|
||||
|
||||
|
||||
sql.append(" WHERE CO.ACTIVO = 1 ");
|
||||
sql.append(" WHERE CO.ACTIVO <> 0 ");
|
||||
sql.append(" AND RC.ACTIVO = 1");
|
||||
sql.append(" AND T.ACTIVO = 1");
|
||||
sql.append(" AND BO.INDSTATUSBOLETO != 'S' AND BO.MOTIVOCANCELACION_ID IS NULL ");
|
||||
|
@ -623,9 +647,9 @@ public class RelatorioLinhasHorario extends Relatorio {
|
|||
sql.append(" NVL(TF.PRECIO, 0), DA.CANTASIENTOS, CS.DESCCLASE, TR.CANTKMREAL, 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, C.CORRIDA2_ID ) ");
|
||||
sql.append(" CJ.EQUIVALENTE, CJ.KM_REAL , CJ.BOLETO_ID, C.CORRIDA2_ID, TB2.ISDOUBLEDECK, TB2.KM_RODADO_GERAL ) ");
|
||||
sql.append("GROUP BY GRUPO_RUTA, HORA, SERVICO, SERVICO2, SENTIDO, LOT, CLA, TARIFA, ORIGEM, DESTINO, ");
|
||||
sql.append(" EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ISDOUBLEDECK, ABSOL ");
|
||||
sql.append(" EXTENSAO, BAGAGENS, ORD, EXTRA, TIPO_LINHA, ISDOUBLEDECK, ABSOL, KM_RODADO ");
|
||||
sql.append("ORDER BY TIPO_LINHA, GRUPO_RUTA, SERVICO, SERVICO2, ORIGEM, DESTINO ");
|
||||
log.info(sql.toString());
|
||||
return sql.toString();
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue