From 584df34577c071736be03b893301873727783583 Mon Sep 17 00:00:00 2001 From: "daniel.zauli" Date: Tue, 5 Dec 2017 20:22:35 +0000 Subject: [PATCH] fixes bug #10062 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@77013 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioDemandasDetalhado.java | 89 +++++++++++++++++- .../RelatorioDemandasDetalhadoNovoLayout.java | 81 +++++++++++++++- .../RelatorioDemandasDetalhado.jasper | Bin 43396 -> 44608 bytes .../RelatorioDemandasDetalhado.jrxml | 20 +++- ...elatorioDemandasDetalhadoNovoLayout.jasper | Bin 35680 -> 36557 bytes ...RelatorioDemandasDetalhadoNovoLayout.jrxml | 70 ++++++++------ 6 files changed, 225 insertions(+), 35 deletions(-) diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java index b91de1365..4e8694473 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhado.java @@ -47,7 +47,8 @@ public class RelatorioDemandasDetalhado extends RelatorioDemandas { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); StringBuilder sql = new StringBuilder(); - + + sql.append(" with vendidos as ( "); sql.append(" SELECT "); sql.append(" bol.fechorviaje DATA, "); sql.append(" r.DESCRUTA LINHA, "); @@ -61,7 +62,8 @@ public class RelatorioDemandasDetalhado extends RelatorioDemandas { sql.append(" nvl(ct.PLATAFORMA,'') PLATAFORMA, "); sql.append(" e.NOMBEMPRESA EMPRESA,"); sql.append(" COUNT(bol.BOLETO_ID) OCUPACAO, "); - sql.append(" r.NUMRUTA CODLINHA "); + sql.append(" r.NUMRUTA CODLINHA , "); + sql.append(" r.INDSENTIDOIDA SENTIDO "); sql.append(" FROM "); sql.append(" boleto bol "); sql.append(" LEFT JOIN ruta r "); @@ -141,7 +143,8 @@ public class RelatorioDemandasDetalhado extends RelatorioDemandas { sql.append(" ts.DESCSERVICIO, "); sql.append(" ct.PLATAFORMA, "); sql.append(" da.CANTASIENTOSVENDIBLES, "); - sql.append(" r.NUMRUTA "); + sql.append(" r.NUMRUTA, "); + sql.append(" r.INDSENTIDOIDA "); sql.append(" ORDER BY "); sql.append(" e.NOMBEMPRESA, "); @@ -151,6 +154,85 @@ public class RelatorioDemandasDetalhado extends RelatorioDemandas { sql.append(" p_destino.DESCPARADA, "); sql.append(" cs.DESCCLASE "); + sql.append(" ) , nao_vendidos as ( "); + + sql.append(" select distinct c.FECCORRIDA data, "); + sql.append(" r.DESCRUTA LINHA, "); + sql.append(" c.CORRIDA_ID SERVICO, "); + sql.append(" c.FECHORSALIDA HORARIO, "); + sql.append(" p_origem.DESCPARADA ORIGEM, "); + sql.append(" p_destino.DESCPARADA DESTINO, "); + sql.append(" cs.DESCCLASE CLASSE, "); + sql.append(" da.CANTASIENTOSVENDIBLES CAPACIDADE, "); + sql.append(" ts.DESCSERVICIO TIPO_SERVICO, "); + sql.append(" NVL(ct.PLATAFORMA,'') PLATAFORMA, "); + sql.append(" e.NOMBEMPRESA EMPRESA, "); + sql.append(" 0 as OCUPACAO, "); + sql.append(" r.NUMRUTA CODLINHA, "); + sql.append(" r.INDSENTIDOIDA SENTIDO "); + + sql.append(" from corrida c "); + sql.append(" LEFT JOIN ruta r "); + sql.append(" ON r.RUTA_ID = c.RUTA_ID "); + sql.append(" LEFT JOIN parada p_origem "); + sql.append(" ON p_origem.PARADA_ID = c.ORIGEN_ID "); + sql.append(" LEFT JOIN parada p_destino "); + sql.append(" ON p_destino.PARADA_ID = c.DESTINO_ID "); + sql.append(" LEFT JOIN CLASE_SERVICIO cs "); + sql.append(" ON cs.CLASESERVICIO_ID = c.CLASESERVICIO_ID "); + sql.append(" LEFT JOIN TIPO_SERVICIO ts "); + sql.append(" ON ts.TIPOSERVICIO_ID = cs.TIPOSERVICO "); + sql.append(" LEFT JOIN corrida_tramo ct "); + sql.append(" ON ct.CORRIDA_ID = c.CORRIDA_ID "); + sql.append(" AND ct.FECCORRIDA = c.FECCORRIDA "); + sql.append(" LEFT JOIN rol_operativo ro "); + sql.append(" ON ro.ROLOPERATIVO_ID = c.ROLOPERATIVO_ID "); + sql.append(" LEFT JOIN diagrama_autobus da "); + sql.append(" ON da.diagramaautobus_id = ro.diagramaautobus_id "); + sql.append(" LEFT JOIN empresa e "); + sql.append(" ON e.EMPRESA_ID = c.EMPRESACORRIDA_ID "); + sql.append(" WHERE "); + sql.append(" c.FECHORSALIDA >= :DATA_INICIAL "); + sql.append(" AND c.FECHORSALIDA <= :DATA_FINAL "); + sql.append(" and c.activo = 1 "); + + if (parametros.get("RUTA_ID") != null) { + sql.append(" AND r.RUTA_ID = :RUTA_ID "); + } + if (parametros.get("EMPRESA_ID") != null) { + sql.append(" AND e.EMPRESA_ID = :EMPRESA_ID "); + } + + if (parametros.get("HORA_INICIAL") != null && parametros.get("HORA_FINAL") != null) { + sql.append(" AND "); + sql.append(" ( "); + do { + mesclarDataHora(dataInicial, horaInicial); + sql.append(" C.FECHORSALIDA BETWEEN to_date('" + format.format(dataInicial.getTime()) + "', 'dd/MM/yyyy HH24:MI:ss') "); + mesclarDataHora(dataInicial, horaFinal); + sql.append(" AND to_date('" + format.format(dataInicial.getTime()) + "', 'dd/MM/yyyy HH24:MI:ss')"); + dataInicial.add(Calendar.DAY_OF_MONTH, 1); + if (!dataInicial.after(dataFinal)) { + sql.append(" OR "); + } + + } while (!dataInicial.after(dataFinal)); + sql.append(" ) "); + } + if (parametros.get("TIPO_SERVICO") != null) { + sql.append(" AND c.TIPOSERVICIO_ID = :TIPO_SERVICO "); + } + sql.append(" and (c.corrida_id) not in (select (ve.SERVICO) from vendidos ve) "); + sql.append(" ) "); + + sql.append(" select * from ( "); + + sql.append(" select * from vendidos union select * from nao_vendidos "); + + sql.append(" ) order by empresa "); + + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); if (parametros.get("EMPRESA_ID") != null) { stmt.setInt("EMPRESA_ID", Integer.valueOf(parametros.get("EMPRESA_ID").toString())); @@ -186,6 +268,7 @@ public class RelatorioDemandasDetalhado extends RelatorioDemandas { dataResult.put("OCUPACAO", rset.getInt("OCUPACAO")); dataResult.put("EMPRESA", rset.getString("EMPRESA")); dataResult.put("CODLINHA", rset.getString("CODLINHA")); + dataResult.put("SENTIDO", rset.getString("SENTIDO")); this.dados.add(dataResult); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhadoNovoLayout.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhadoNovoLayout.java index a0e576d59..eebc39855 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhadoNovoLayout.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDemandasDetalhadoNovoLayout.java @@ -42,6 +42,9 @@ public class RelatorioDemandasDetalhadoNovoLayout extends RelatorioDemandas { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); StringBuilder sql = new StringBuilder(); + + sql.append(" with vendidos as ( "); + sql.append("select "); sql.append(" trunc(co.feccorrida) as data_corrida, "); sql.append(" trunc(bo.fechorviaje) as data, "); @@ -58,7 +61,8 @@ public class RelatorioDemandasDetalhadoNovoLayout extends RelatorioDemandas { sql.append(" count(bo.boleto_id) as ocupacao, "); sql.append(" ts.descservicio as tipo_servico, "); sql.append(" ct.plataforma as plataforma, "); - sql.append(" e.nombempresa as empresa "); + sql.append(" e.nombempresa as empresa, "); + sql.append(" r.INDSENTIDOIDA AS sentido "); sql.append("from boleto bo "); sql.append(" join corrida co on co.corrida_id = bo.corrida_id and co.feccorrida = bo.feccorrida "); sql.append(" join corrida_tramo ct on ct.corrida_id = bo.corrida_id and bo.feccorrida = ct.feccorrida and ct.origen_id = bo.origen_id "); @@ -99,8 +103,80 @@ public class RelatorioDemandasDetalhadoNovoLayout extends RelatorioDemandas { sql.append(" case when ((ori.indvisibleinternet is null or ori.indvisibleinternet = 1) "); sql.append(" and (des.indvisibleinternet is null or des.indvisibleinternet = 1)) then 'SIM' else 'NÃO' end, "); sql.append(" bo.fechorviaje, ori.descparada, des.descparada, cs.descclase, "); - sql.append(" da.cantasientos, ts.descservicio, ct.plataforma, e.nombempresa "); + sql.append(" da.cantasientos, ts.descservicio, ct.plataforma, e.nombempresa, r.INDSENTIDOIDA "); sql.append("order by e.nombempresa, data, linha, servico, origem, destino "); + + sql.append(" ), nao_vendidos as ( "); + + + sql.append(" SELECT co.FECHORSALIDA AS data_corrida, "); + sql.append(" co.FECHORSALIDA AS data, "); + sql.append(" r.descruta AS linha, "); + sql.append(" r.numruta AS codlinha, "); + sql.append(" co.corrida_id AS servico, "); + sql.append(" CASE "); + sql.append(" WHEN ((ori.indvisibleinternet IS NULL "); + sql.append(" OR ori.indvisibleinternet = 1) "); + sql.append("AND (des.indvisibleinternet IS NULL "); + sql.append("OR des.indvisibleinternet = 1)) "); + sql.append("THEN 'SIM' "); + sql.append("ELSE 'NÃO' "); + sql.append("END AS internet, "); + sql.append("co.FECCORRIDA AS horario, "); + sql.append("ori.descparada AS origem, "); + sql.append(" des.descparada AS destino, "); + sql.append(" cs.descclase AS classe, "); + sql.append(" da.cantasientos AS capacidade, "); + sql.append(" 0 AS ocupacao, "); + sql.append(" ts.descservicio AS tipo_servico, "); + sql.append(" ct.plataforma AS plataforma, "); + sql.append(" e.nombempresa AS empresa, "); + sql.append(" r.INDSENTIDOIDA AS sentido "); + sql.append(" FROM corrida co "); + sql.append(" JOIN corrida_tramo ct "); + sql.append(" ON ct.corrida_id = co.corrida_id "); + sql.append(" AND co.feccorrida = ct.feccorrida "); + sql.append(" AND ct.origen_id = co.origen_id "); + sql.append(" JOIN ruta r "); + sql.append(" ON co.ruta_id = r.ruta_id "); + sql.append(" LEFT JOIN empresa e "); + sql.append(" ON e.empresa_id = co.empresacorrida_id "); + sql.append(" JOIN parada ori "); + sql.append(" ON ori.parada_id = co.origen_id "); + sql.append(" JOIN parada des "); + sql.append(" ON des.parada_id = co.destino_id "); + sql.append(" JOIN clase_servicio cs "); + sql.append(" ON cs.claseservicio_id = co.claseservicio_id "); + sql.append(" JOIN rol_operativo ro "); + sql.append(" ON ro.roloperativo_id = co.roloperativo_id "); + sql.append(" JOIN diagrama_autobus da "); + sql.append(" ON ro.diagramaautobus_id = da.diagramaautobus_id "); + sql.append(" JOIN tipo_servicio ts "); + sql.append(" ON ts.tiposervicio_id = co.tiposervicio_id "); + sql.append(" WHERE ct.activo = 1 "); + sql.append(" and co.activo = 1 "); + sql.append(" and co.FECHORSALIDA >= :DATA_INICIAL and co.FECHORSALIDA <= :DATA_FINAL "); + + if (parametros.get("HORA_INICIAL") != null && parametros.get("HORA_FINAL") != null) { + sql.append(" AND "); + sql.append(" ( "); + do { + mesclarDataHora(dataInicial, horaInicial); + sql.append(" co.FECCORRIDA between to_date('" + format.format(dataInicial.getTime()) + "', 'dd/MM/yyyy HH24:MI:ss') "); + mesclarDataHora(dataInicial, horaFinal); + sql.append(" and to_date('" + format.format(dataInicial.getTime()) + "', 'dd/MM/yyyy HH24:MI:ss')"); + dataInicial.add(Calendar.DAY_OF_MONTH, 1); + if (!dataInicial.after(dataFinal)) { + sql.append(" or "); + } + + } while (!dataInicial.after(dataFinal)); + sql.append(" ) "); + } + + sql.append(" )select * from ( "); + sql.append(" select * from vendidos v union select * from nao_vendidos ) order by empresa "); + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql.toString()); if (parametros.get("EMPRESA_ID") != null) @@ -135,6 +211,7 @@ public class RelatorioDemandasDetalhadoNovoLayout extends RelatorioDemandas { dataResult.put("OCUPACAO", rset.getInt("OCUPACAO")); dataResult.put("EMPRESA", rset.getString("EMPRESA")); dataResult.put("CODLINHA", rset.getString("CODLINHA")); + dataResult.put("SENTIDO", rset.getString("SENTIDO")); this.dados.add(dataResult); } this.resultSet = rset; diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDemandasDetalhado.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDemandasDetalhado.jasper index 41bce4d650d018117db9cbef1793efd85b11b90d..329984ff5ce86af555eaf1ac1ac157ddd5ac7724 100644 GIT binary patch literal 44608 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 literal 43396 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 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDemandasDetalhado.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDemandasDetalhado.jrxml index 8afdb6b6e..84bd03c9d 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDemandasDetalhado.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDemandasDetalhado.jrxml @@ -1,7 +1,7 @@ - +