From 8dac566fe83a134b2bd04e6e8ebd6294bdd090b7 Mon Sep 17 00:00:00 2001 From: "wallace.henrique" Date: Tue, 29 Oct 2024 17:06:41 -0300 Subject: [PATCH] fixes bug#5090 --- pom.xml | 4 +- .../RelatorioDadosConsolidadosCeturb.java | 352 ++++++++++++++++ ...torioDadosConsolidadosCeturb_es.properties | 16 + ...ioDadosConsolidadosCeturb_pt_BR.properties | 16 + .../RelatorioDadosConsolidadosCeturb.jasper | Bin 0 -> 42507 bytes .../RelatorioDadosConsolidadosCeturb.jrxml | 395 ++++++++++++++++++ .../RelatorioDadosConsolidadosCeturbBean.java | 378 +++++++++++++++++ ...orioDadosConsolidadosCeturbController.java | 205 +++++++++ ...mMenuRelatorioDadosConsolidadosCeturb.java | 24 ++ .../utilerias/menu/menu_original.properties | 1 + web/WEB-INF/i3-label_en.label | 17 +- web/WEB-INF/i3-label_es_CO.label | 15 + web/WEB-INF/i3-label_es_MX.label | 18 +- web/WEB-INF/i3-label_fr_FR.label | 15 + web/WEB-INF/i3-label_pt_BR.label | 14 + ...filtroRelatorioDadosConsolidadosCeturb.zul | 98 +++++ 16 files changed, 1564 insertions(+), 4 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDadosConsolidadosCeturb.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDadosConsolidadosCeturbBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDadosConsolidadosCeturbController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioDadosConsolidadosCeturb.java create mode 100644 web/gui/relatorios/filtroRelatorioDadosConsolidadosCeturb.zul diff --git a/pom.xml b/pom.xml index 2764a3004..a3565ecca 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.164.0 + 1.165.0 war 1.122.0 - 1.104.0 + 1.105.0 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDadosConsolidadosCeturb.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDadosConsolidadosCeturb.java new file mode 100644 index 000000000..43d64409f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDadosConsolidadosCeturb.java @@ -0,0 +1,352 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioDadosConsolidadosCeturbBean; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioResumoLinhasBean; +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +/** + * @author Bruno H. G. Gouvea + * + */ +public class RelatorioDadosConsolidadosCeturb extends Relatorio { + + /** + * @param parametros + * @param conexao + */ + + private List lsDadosRelatorio; + private static String CONSTANTE_GRATUIDADE_CRIANCA; + + public RelatorioDadosConsolidadosCeturb(Map parametros, Connection conexao) throws Exception{ + super(parametros, conexao); + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + Integer rutaId = parametros.get("RUTA_ID") != null ? Integer.valueOf(parametros.get("RUTA_ID").toString()) : null; + Integer empresaId = parametros.get("EMPRESA_ID") != null ? Integer.valueOf(parametros.get("EMPRESA_ID").toString()) : null; + Integer grupoRutaId = parametros.get("GRUPORUTA_ID") != null ? Integer.valueOf(parametros.get("GRUPORUTA_ID").toString()) : null; + CONSTANTE_GRATUIDADE_CRIANCA = buscarConstante("GRATUIDADE_CRIANCA"); + String sql = getSql(rutaId, grupoRutaId); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + ResultSet rset = null; + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); + if (parametros.get("DATA_INICIAL") != null) { + Date dataInicio = (Date) parametros.get("DATA_INICIAL"); + stmt.setString("DATA_INICIAL", sdf.format(dataInicio)); + } + + if (parametros.get("DATA_FINAL") != null) { + Date dataFinal = (Date) parametros.get("DATA_FINAL"); + stmt.setString("DATA_FINAL", sdf.format(dataFinal)); + } + + if (rutaId != null) { + stmt.setInt("RUTA_ID", rutaId); + } + if (grupoRutaId != null) { + stmt.setInt("GRUPORUTA_ID", grupoRutaId); + } + stmt.setInt("EMPRESA_ID", empresaId.intValue()); + stmt.setString("CRIANCA_ID",CONSTANTE_GRATUIDADE_CRIANCA); + rset = stmt.executeQuery(); + + lsDadosRelatorio = new ArrayList(); + Set setDadosRelatorio = new HashSet(); + + RelatorioDadosConsolidadosCeturbBean relatorioBean = null; + while (rset.next()) { + + relatorioBean = new RelatorioDadosConsolidadosCeturbBean(); + relatorioBean.setINDSENTIDOIDA(rset.getInt("INDSENTIDOIDA")); + relatorioBean.setRUTA_ID(rset.getBigDecimal("RUTA_ID")); + relatorioBean.setNUMRUTA(rset.getString("NUMRUTA")); + relatorioBean.setDESCRUTA(rset.getString("DESCRUTA") + (BigDecimal.ZERO.equals(rset.getBigDecimal("INDSENTIDOIDA")) ? " - VOLTA " : " - IDA")); + relatorioBean.setINTERESTADUAL(rset.getString("INTERESTADUAL")); + relatorioBean.setGRUPO_LINHA(rset.getString("GRUPO_LINHA")); + relatorioBean.setEXTENSAO_KM(rset.getBigDecimal("EXTENSAO_KM")); + relatorioBean.setRECEITA_SEGURO(rset.getBigDecimal("RECEITA_SEGURO")); + relatorioBean.setRECEITA_BAGAGEM(rset.getBigDecimal("RECEITA_BAGAGEM")); + relatorioBean.setRECEITA_SEGURO_OUTROS(rset.getBigDecimal("RECEITA_SEGURO_OUTROS")); + relatorioBean.setRECEITA_TARIFA(rset.getBigDecimal("RECEITA_TARIFA")); + relatorioBean.setRECEITA_PEDAGIO(rset.getBigDecimal("RECEITA_PEDAGIO")); + relatorioBean.setRECEITA_EMBARQUE(rset.getBigDecimal("RECEITA_EMBARQUE")); + relatorioBean.setPASSAGEIROS(rset.getBigDecimal("PASSAGEIROS")); + relatorioBean.setVIAGENS_EXTRA(rset.getBigDecimal("VIAGENS_EXTRA")); + relatorioBean.setVIAGENS(rset.getBigDecimal("VIAGENS")); + relatorioBean.setCVE_CLASE_SERVICIO(rset.getString("CVE_CLASE_SERVICIO")); + relatorioBean.setRECEITA_TOTAL(rset.getBigDecimal("RECEITA_TOTAL")); + relatorioBean.setVIAGENS_TOTAL(rset.getBigDecimal("VIAGENS_TOTAL")); + relatorioBean.setKM_RODADO(rset.getBigDecimal("KM_RODADO")); + relatorioBean.setPASSAGEIROS_EQUIVALENTE(rset.getBigDecimal("PASSAGEIROS_EQUIVALENTE")); + relatorioBean.setPASSAGEIROS_MPA(rset.getBigDecimal("PASSAGEIROS_MPA")); + relatorioBean.setPASSAGEIROS_MPE(rset.getBigDecimal("PASSAGEIROS_MPE")); + relatorioBean.setRECEITA_KM(rset.getBigDecimal("RECEITA_KM")); + relatorioBean.setRECEITA_VIAGEM(rset.getBigDecimal("RECEITA_VIAGEM")); + relatorioBean.setPAX_KM(rset.getBigDecimal("PAX_KM")); + relatorioBean.setPAX_OFERTADO(rset.getBigDecimal("PAX_OFERTADO")); + relatorioBean.setTARIFA(rset.getBigDecimal("TARIFA")); + relatorioBean.setEQ(rset.getBigDecimal("EQ")); + relatorioBean.setIAP(rset.getBigDecimal("IAP")); + relatorioBean.setASSENTOS(rset.getBigDecimal("ASSENTOS")); + relatorioBean.setICMS(calcularICMS(relatorioBean.getRECEITA_TOTAL(), rset.getBigDecimal("ICMS"))); + relatorioBean.setTARIFA_MAIOR(rset.getBigDecimal("TARIFAMAIOR")); + setDadosRelatorio.add(relatorioBean); + } + + if (setDadosRelatorio.size() > 0) { + lsDadosRelatorio.addAll(setDadosRelatorio); + setLsDadosRelatorio( lsDadosRelatorio ); + }else { + //tratado caso onde filtra a linha (apenas uma linha) + if(rset.getRow() ==0 && rutaId !=null && relatorioBean!=null) { + lsDadosRelatorio.add(relatorioBean); + setLsDadosRelatorio(lsDadosRelatorio); + } + } + + } + }); + } + + /* + * (non-Javadoc) + * + * @see com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio#processaParametros() + */ + @Override + public void processaParametros() throws Exception { + } + + private String getSql(Integer rutaId, Integer grupoRutaId) { + StringBuilder sqlSb = new StringBuilder(); + sqlSb.append(" SELECT SUB.*, "); + sqlSb.append(" (NVL(SUB.PASSAGEIROS,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPA, "); + sqlSb.append(" ( ROUND(NVL(SUB.PASSAGEIROS,0), 2) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS PASSAGEIROS_MPE, "); + sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0))) RECEITA_KM, "); + sqlSb.append(" (NVL(SUB.RECEITA_TOTAL,0) / DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) AS RECEITA_VIAGEM, "); + sqlSb.append(" ROUND(((NVL(RECEITA_TARIFA,0) / DECODE(NVL(RECEITA_TARIFA,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0))) / DECODE(NVL(SUB.TARIFA,0), 0, 1, NVL(SUB.TARIFA,0))), 2) AS EQ, "); + sqlSb.append(" (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) AS PAX_OFERTADO, "); + sqlSb.append(" ((((SUB.PAX_KM) / (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)))) * 100) AS IAP "); + sqlSb.append(" FROM ( SELECT TAB.INDSENTIDOIDA, TAB.RUTA_ID, TAB.NUMRUTA, TAB.DESCRUTA, TAB.TARIFA, TAB.ASSENTOS, TAB.ROLOPERATIVO_ID, "); + sqlSb.append(" TAB.INTERESTADUAL, TAB.GRUPO_LINHA, TAB.EXTENSAO_KM, TAB.CVE_CLASE_SERVICIO, "); + sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO,0)) AS RECEITA_SEGURO, SUM(NVL(TAB.RECEITA_BAGAGEM,0)) AS RECEITA_BAGAGEM, "); + sqlSb.append(" SUM(NVL(TAB.RECEITA_SEGURO_OUTROS,0)) AS RECEITA_SEGURO_OUTROS, SUM(NVL(TAB.RECEITA_TARIFA,0)) AS RECEITA_TARIFA, "); + sqlSb.append(" SUM(NVL(TAB.RECEITA_PEDAGIO,0)) AS RECEITA_PEDAGIO, SUM(NVL(TAB.RECEITA_EMBARQUE,0)) AS RECEITA_EMBARQUE, SUM(NVL(TAB.PASSAGEIROS,0)) AS PASSAGEIROS, "); + sqlSb.append(" SUM(NVL(TAB.VIAGENS_EXTRA,0)) AS VIAGENS_EXTRA, SUM(NVL(TAB.VIAGENS,0)) AS VIAGENS, SUM(NVL(TAB.RECEITA_TOTAL,0)) AS RECEITA_TOTAL, "); + sqlSb.append(" SUM(NVL(TAB.VIAGENS_TOTAL,0)) AS VIAGENS_TOTAL, SUM(NVL(TAB.KM_RODADO,0)) AS KM_RODADO, SUM(NVL(TAB.PASSAGEIROS_EQUIVALENTE,0)) AS PASSAGEIROS_EQUIVALENTE, "); + sqlSb.append(" SUM(NVL(TAB.PAX_KM,0)) AS PAX_KM, "); + sqlSb.append(" TAB.ICMS, "); + sqlSb.append(" TAB.TARIFAMAIOR "); + sqlSb.append(" FROM (SELECT TAB1.*, "); + sqlSb.append(" (TAB1.RECEITA_TARIFA + RECEITA_SEGURO + RECEITA_EMBARQUE + RECEITA_PEDAGIO) RECEITA_TOTAL, "); + sqlSb.append(" (NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) VIAGENS_TOTAL, "); + sqlSb.append(" ((NVL(TAB1.VIAGENS,0) + NVL(TAB1.VIAGENS_EXTRA,0)) * NVL(TAB1.EXTENSAO_KM,0)) KM_RODADO, "); + sqlSb.append(" TAB1.KM_REAL PAX_KM, "); + sqlSb.append(" (SELECT SUM(NVL(PE.EQUIVALENTE,0)) "); + sqlSb.append(" FROM (SELECT CO.FECCORRIDA, CO.RUTA_ID, BO.PRECIOBASE, CO.CORRIDA_ID, ROUND((BO.NUMKMVIAJE * COUNT(1) / "); + if (parametros.get("SOMAR_KM_RODADOS_POR").equals("SEQUENCIA")) { + sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) "); + sqlSb.append(" FROM RUTA_SECUENCIA RS, TRAMO TR "); + sqlSb.append(" WHERE RS.RUTA_ID = TAB1.RUTA_ID "); + sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID "); + sqlSb.append(" AND RS.ACTIVO = 1 )), 2) EQUIVALENTE "); + }else { + sqlSb.append(" (SELECT SUM(NVL(TR.CANTKMREAL,0)) "); + sqlSb.append(" FROM RUTA_COMBINACION RS, TRAMO TR "); + sqlSb.append(" WHERE RS.RUTA_ID = TAB1.RUTA_ID "); + sqlSb.append(" AND RS.TRAMO_ID = TR.TRAMO_ID "); + + sqlSb.append(" AND TR.ORIGEN_ID = CO.ORIGEN_ID "); + sqlSb.append(" AND TR.DESTINO_ID = CO.DESTINO_ID "); + + sqlSb.append(" AND RS.ACTIVO = 1)), 2) EQUIVALENTE "); + } + sqlSb.append(" FROM CORRIDA CO, BOLETO BO "); + sqlSb.append(" WHERE CO.CORRIDA_ID = BO.CORRIDA_ID "); + sqlSb.append(" AND CO.FECCORRIDA = BO.FECCORRIDA "); + sqlSb.append(" AND BO.ACTIVO = 1 "); + sqlSb.append(" AND (BO.MOTIVOCANCELACION_ID IS NULL OR BO.MOTIVOCANCELACION_ID = 0 AND BO.CATEGORIA_ID <> :CRIANCA_ID) "); + sqlSb.append(" GROUP BY CO.FECCORRIDA, CO.RUTA_ID, BO.PRECIOBASE, BO.NUMKMVIAJE, CO.CORRIDA_ID, CO.ORIGEN_ID, CO.DESTINO_ID) PE "); + sqlSb.append(" WHERE PE.FECCORRIDA = TAB1.FECCORRIDA "); + sqlSb.append(" AND PE.CORRIDA_ID = TAB1.CORRIDA_ID "); + sqlSb.append(" AND PE.RUTA_ID = TAB1.RUTA_ID) PASSAGEIROS_EQUIVALENTE "); + sqlSb.append(" FROM (SELECT RT.RUTA_ID, "); + sqlSb.append(" RT.INDSENTIDOIDA, "); + sqlSb.append(" RT.NUMRUTA, "); + sqlSb.append(" CR.FECCORRIDA, "); + sqlSb.append(" CR.CORRIDA_ID, "); + sqlSb.append(" CONCAT(RT.DESCRUTA, CASE WHEN RT.INDSENTIDOIDA = 0 THEN ' - VOLTA' ELSE ' - IDA' END) DESCRUTA, "); + sqlSb.append(" TF.PRECIO TARIFA, "); + sqlSb.append(" DA.CANTASIENTOS ASSENTOS, "); + sqlSb.append(" RO.ROLOPERATIVO_ID, "); + sqlSb.append(" CASE WHEN CO.ESTADO_ID <> CD.ESTADO_ID THEN 'S' ELSE 'N' END INTERESTADUAL, "); + sqlSb.append(" NVL(GR.DESCGRUPO, 'Nao Definido') GRUPO_LINHA, "); + if (parametros.get("SOMAR_KM_RODADOS_POR").equals("SEQUENCIA")) { + sqlSb.append(" (SELECT SUM(NVL(RS.KMORIGINAL,0)) FROM RUTA_SECUENCIA RS, TRAMO TR WHERE RS.RUTA_ID = RT.RUTA_ID AND RS.TRAMO_ID = TR.TRAMO_ID AND RS.ACTIVO = 1) EXTENSAO_KM, "); + }else { + sqlSb.append(" TR.CANTKMREAL AS EXTENSAO_KM, "); + } + + sqlSb.append(" SUM(NVL(BL.NUMKMVIAJE,0)) KM_REAL, "); + sqlSb.append(" NVL(SUM(NVL(BL.IMPORTESEGURO,0)), 0) RECEITA_SEGURO, "); + sqlSb.append(" 0 RECEITA_BAGAGEM, "); + sqlSb.append(" 0 RECEITA_SEGURO_OUTROS, "); + sqlSb.append(" SUM(NVL(BL.PRECIOPAGADO,0)) RECEITA_TARIFA, "); + sqlSb.append(" SUM(NVL(BL.IMPORTEPEDAGIO,0)) RECEITA_PEDAGIO, "); + sqlSb.append(" SUM(NVL(BL.IMPORTETAXAEMBARQUE,0)) RECEITA_EMBARQUE, "); + sqlSb.append(" COUNT(1) PASSAGEIROS, "); + sqlSb.append(" COUNT(DISTINCT CASE WHEN CR.TIPOSERVICIO_ID = 2 THEN CR.FECCORRIDA || CR.CORRIDA_ID ELSE NULL END) VIAGENS_EXTRA, "); + sqlSb.append(" COUNT(DISTINCT CASE WHEN CR.TIPOSERVICIO_ID <> 2 THEN CR.FECCORRIDA || CR.CORRIDA_ID ELSE NULL END) VIAGENS, "); + sqlSb.append(" NVL(CS.CVECLASE, ' ') CVE_CLASE_SERVICIO, "); + sqlSb.append(" EI.ICMS ICMS,"); + sqlSb.append(" (SELECT MAX(T.PRECIO) AS PRECIO FROM TARIFA T "); + sqlSb.append(" JOIN TRAMO TR ON TR.TRAMO_ID = T.TRAMO_ID "); + sqlSb.append(" JOIN PARADA PORIGEN ON PORIGEN.PARADA_ID = TR.ORIGEN_ID "); + sqlSb.append(" JOIN PARADA PDESTINO ON PDESTINO.PARADA_ID = TR.DESTINO_ID "); + sqlSb.append(" JOIN CLASE_SERVICIO CS ON CS.CLASESERVICIO_ID = T.CLASESERVICIO_ID "); + sqlSb.append(" JOIN VIGENCIA_TARIFA VT ON VT.VIGENCIATARIFA_ID = T.VIGENCIATARIFA_ID "); + sqlSb.append(" JOIN MARCA M ON M.MARCA_ID = T.MARCA_ID "); + sqlSb.append(" WHERE "); + sqlSb.append(" T.ACTIVO = 1 "); + sqlSb.append(" AND VT.ACTIVO = 1 "); + sqlSb.append(" AND TR.ACTIVO = 1 "); + sqlSb.append(" AND T .RUTA_ID = RT.RUTA_ID "); + sqlSb.append(" )TARIFAMAIOR "); + sqlSb.append(" FROM RUTA RT, "); + + if (!parametros.get("SOMAR_KM_RODADOS_POR").equals("SEQUENCIA")) { + sqlSb.append(" RUTA_COMBINACION RC, "); + } + + sqlSb.append(" BOLETO BL, "); + sqlSb.append(" CORRIDA CR, "); + sqlSb.append(" TRAMO TR, "); + sqlSb.append(" ROL_OPERATIVO RO, "); + sqlSb.append(" DIAGRAMA_AUTOBUS DA, "); + sqlSb.append(" TARIFA TF, "); + sqlSb.append(" VIGENCIA_TARIFA VT, "); + sqlSb.append(" GRUPO_RUTA GR, "); + sqlSb.append(" PARADA PO, "); + sqlSb.append(" PARADA PD, "); + sqlSb.append(" CIUDAD CO, "); + sqlSb.append(" CIUDAD CD, "); + sqlSb.append(" CLASE_SERVICIO CS, "); + sqlSb.append(" EMPRESA_IMPOSTO EI "); + sqlSb.append(" WHERE RT.RUTA_ID = CR.RUTA_ID "); + sqlSb.append(" AND CS.CLASESERVICIO_ID = RT.CLASESERVICIO_ID "); + sqlSb.append(" AND CR.FECCORRIDA = BL.FECCORRIDA "); + if(rutaId !=null) { + sqlSb.append(" AND CR.RUTA_ID = NVL(:RUTA_ID, CR.RUTA_ID) "); + } + if(grupoRutaId!=null) { + sqlSb.append(" AND DECODE(:GRUPORUTA_ID, NULL, 1, RT.GRUPORUTA_ID) = DECODE(:GRUPORUTA_ID, NULL, 1, :GRUPORUTA_ID) "); + } + sqlSb.append(" AND CR.CORRIDA_ID = BL.CORRIDA_ID "); + sqlSb.append(" AND CR.EMPRESACORRIDA_ID = :EMPRESA_ID "); + sqlSb.append(" AND CR.ORIGEN_ID = PO.PARADA_ID "); + sqlSb.append(" AND CR.DESTINO_ID = PD.PARADA_ID "); + sqlSb.append(" AND PO.CIUDAD_ID = CO.CIUDAD_ID "); + sqlSb.append(" AND PD.CIUDAD_ID = CD.CIUDAD_ID "); + sqlSb.append(" AND RT.GRUPORUTA_ID = GR.GRUPORUTA_ID(+) "); + sqlSb.append(" AND RO.ROLOPERATIVO_ID = CR.ROLOPERATIVO_ID "); + sqlSb.append(" AND RO.DIAGRAMAAUTOBUS_ID = DA.DIAGRAMAAUTOBUS_ID "); + sqlSb.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); + sqlSb.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); + sqlSb.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); + + if (!parametros.get("SOMAR_KM_RODADOS_POR").equals("SEQUENCIA")) { + sqlSb.append(" AND RC.RUTA_ID = RT.RUTA_ID "); + sqlSb.append(" AND RC.TRAMO_ID = TR.TRAMO_ID "); + sqlSb.append(" AND RC.ACTIVO = 1 "); + } + + sqlSb.append(" AND TF.MARCA_ID = CR.MARCA_ID "); + sqlSb.append(" AND TF.RUTA_ID = CR.RUTA_ID "); + sqlSb.append(" AND TF.TRAMO_ID = TR.TRAMO_ID "); + sqlSb.append(" AND TF.STATUSTARIFA = 'A' "); + sqlSb.append(" AND TF.ACTIVO = 1 "); + sqlSb.append(" AND BL.MOTIVOCANCELACION_ID IS NULL "); + sqlSb.append(" AND BL.INDSTATUSOPERACION = 'F' "); + sqlSb.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); + sqlSb.append(" AND VT.ACTIVO = 1 "); + sqlSb.append(" AND BL.CATEGORIA_ID NOT IN (3, :CRIANCA_ID) "); + sqlSb.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA "); + sqlSb.append(" AND CR.FECCORRIDA BETWEEN TO_DATE(:DATA_INICIAL, 'DD/MM/YY hh24:mi:ss') AND TO_DATE(:DATA_FINAL, 'DD/MM/YY hh24:mi:ss') "); + sqlSb.append(" AND CR.ACTIVO = 1 "); + sqlSb.append(" AND BL.ACTIVO = 1 "); + sqlSb.append(" AND EI.EMPRESA_ID = CR.EMPRESACORRIDA_ID AND CO.ESTADO_ID = EI.ESTADO_ID and EI.ACTIVO = 1"); + sqlSb.append(" GROUP BY CS.CVECLASE, "); + sqlSb.append(" RT.RUTA_ID, "); + sqlSb.append(" RT.NUMRUTA, "); + sqlSb.append(" CR.FECCORRIDA, "); + sqlSb.append(" CR.CORRIDA_ID, "); + sqlSb.append(" RT.DESCRUTA, "); + sqlSb.append(" TF.PRECIO, "); + sqlSb.append(" DA.CANTASIENTOS, "); + sqlSb.append(" RO.ROLOPERATIVO_ID, "); + sqlSb.append(" GR.DESCGRUPO, "); + sqlSb.append(" CO.ESTADO_ID, "); + sqlSb.append(" CD.ESTADO_ID, "); + sqlSb.append(" TR.CANTKMREAL, "); + sqlSb.append(" RT.INDSENTIDOIDA, EI.ICMS) TAB1 "); + sqlSb.append(" GROUP BY TAB1.RUTA_ID,TAB1.INDSENTIDOIDA,TAB1.NUMRUTA,TAB1.FECCORRIDA,TAB1.DESCRUTA, "); + sqlSb.append(" TAB1.TARIFA,TAB1.ASSENTOS,TAB1.ROLOPERATIVO_ID,TAB1.INTERESTADUAL, "); + sqlSb.append(" TAB1.GRUPO_LINHA,TAB1.EXTENSAO_KM,TAB1.RECEITA_SEGURO,TAB1.RECEITA_BAGAGEM, "); + sqlSb.append(" TAB1.RECEITA_SEGURO_OUTROS,TAB1.RECEITA_TARIFA,TAB1.RECEITA_PEDAGIO,TAB1.RECEITA_EMBARQUE, "); + sqlSb.append(" TAB1.PASSAGEIROS,TAB1.VIAGENS_EXTRA,TAB1.VIAGENS,TAB1.CVE_CLASE_SERVICIO, TAB1.KM_REAL, TAB1.CORRIDA_ID, TAB1.ICMS, TAB1.TARIFAMAIOR "); + sqlSb.append(" ) TAB "); + sqlSb.append(" GROUP BY TAB.RUTA_ID, TAB.NUMRUTA, TAB.DESCRUTA, TAB.TARIFA, TAB.ASSENTOS, TAB.ROLOPERATIVO_ID, "); + sqlSb.append(" TAB.INTERESTADUAL, TAB.GRUPO_LINHA, TAB.EXTENSAO_KM, TAB.CVE_CLASE_SERVICIO, TAB.INDSENTIDOIDA, TAB.ICMS, TAB.TARIFAMAIOR) SUB "); + sqlSb.append(" WHERE "); + sqlSb.append(" (DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0) "); + sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 "); + sqlSb.append(" AND DECODE(NVL(SUB.KM_RODADO,0), 0, 1, NVL(SUB.KM_RODADO,0)) != 0 "); + sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 "); + sqlSb.append(" AND DECODE(NVL(SUB.VIAGENS_TOTAL,0), 0, 1, NVL(SUB.VIAGENS_TOTAL,0)) != 0 "); + sqlSb.append(" AND DECODE(NVL(SUB.TARIFA,0), 0, 1, NVL(SUB.TARIFA,0)) != 0 "); + sqlSb.append(" AND (NVL(SUB.ASSENTOS,0) * NVL(SUB.KM_RODADO,0)) != 0 "); + sqlSb.append(" ORDER BY SUB.DESCRUTA, SUB.INDSENTIDOIDA, SUB.ASSENTOS, SUB.TARIFA "); + return sqlSb.toString(); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + private String buscarConstante(String nomeConstante) { + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + return constanteService.buscarPorNomeConstante(nomeConstante).getValorconstante(); + } + + private BigDecimal calcularICMS(BigDecimal receitaTotal, BigDecimal ICMS) { + if(receitaTotal != null && MoneyHelper.isMaior(receitaTotal, BigDecimal.ZERO)) { + return MoneyHelper.getValorDescontadoPercentual(receitaTotal, ICMS); + } + return BigDecimal.ZERO; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_es.properties new file mode 100644 index 000000000..5df1ab735 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_es.properties @@ -0,0 +1,16 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Reporte: +cabecalho.periodo=Period Viagens: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: + +rodape.pagina=Página +rodape.de=de \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_pt_BR.properties new file mode 100644 index 000000000..b0ecd266c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDadosConsolidadosCeturb_pt_BR.properties @@ -0,0 +1,16 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + + +#Labels cabeçalho +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período Viagens: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: + +rodape.pagina=Página +rodape.de=de \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jasper new file mode 100644 index 0000000000000000000000000000000000000000..c05e61f9433b2aab1bef3144c9727fa8d05299a5 GIT binary patch literal 42507 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 j2Q;NJ3}}Va04ANR?Vz7^gbrZGe_wVR2cEG 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jrxml new file mode 100644 index 000000000..7e8c029dc --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDadosConsolidadosCeturb.jrxml @@ -0,0 +1,395 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDadosConsolidadosCeturbBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDadosConsolidadosCeturbBean.java new file mode 100644 index 000000000..06c37e814 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDadosConsolidadosCeturbBean.java @@ -0,0 +1,378 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.Date; + +public class RelatorioDadosConsolidadosCeturbBean implements Comparable{ + + private int INDSENTIDOIDA; + private BigDecimal RUTA_ID; + private BigDecimal RUTA_ID_VOLTA; + private String NUMRUTA; + private String PREFIXO; + private String DESCRUTA; + private String INTERESTADUAL; + private String GRUPO_LINHA; + private BigDecimal EXTENSAO_KM; + private BigDecimal RECEITA_SEGURO; + private BigDecimal RECEITA_BAGAGEM; + private BigDecimal RECEITA_SEGURO_OUTROS; + private BigDecimal RECEITA_TARIFA; + private BigDecimal RECEITA_TARIFA_SEGURO; + private BigDecimal RECEITA_PEDAGIO; + private BigDecimal RECEITA_EMBARQUE; + private BigDecimal PASSAGEIROS; + private BigDecimal VIAGENS_EXTRA; + private BigDecimal VIAGENS; + private String CVE_CLASE_SERVICIO; + private BigDecimal RECEITA_TOTAL; + private BigDecimal VIAGENS_TOTAL; + private BigDecimal KM_RODADO; + private BigDecimal PASSAGEIROS_EQUIVALENTE; + private BigDecimal PASSAGEIROS_MPA; + private BigDecimal PASSAGEIROS_MPE; + private BigDecimal RECEITA_KM; + private BigDecimal RECEITA_VIAGEM; + private BigDecimal PAX_KM; + private BigDecimal PAX_OFERTADO; + private String DESC_CLASE_SERVICIO; + private BigDecimal ASSENTOS; + + private Integer ROLOPERATIVO_ID; + private Date FECCORRIDA; + private BigDecimal TARIFA; + private BigDecimal EQ; + private BigDecimal IAP; + private BigDecimal ICMS; + private BigDecimal TARIFA_MAIOR; + + + + public BigDecimal getRUTA_ID_VOLTA() { + return RUTA_ID_VOLTA; + } + + public void setRUTA_ID_VOLTA(BigDecimal rUTA_ID_VOLTA) { + RUTA_ID_VOLTA = rUTA_ID_VOLTA; + } + + public BigDecimal getRUTA_ID() { + return RUTA_ID; + } + + public void setRUTA_ID(BigDecimal rUTA_ID) { + RUTA_ID = rUTA_ID; + } + + public String getNUMRUTA() { + return NUMRUTA; + } + + public void setNUMRUTA(String nUMRUTA) { + NUMRUTA = nUMRUTA; + } + + public String getPREFIXO() { + return PREFIXO; + } + + public void setPREFIXO(String pREFIXO) { + PREFIXO = pREFIXO; + } + + public String getDESCRUTA() { + return DESCRUTA; + } + + public void setDESCRUTA(String dESCRUTA) { + DESCRUTA = dESCRUTA; + } + + public String getINTERESTADUAL() { + return INTERESTADUAL; + } + + public void setINTERESTADUAL(String iNTERESTADUAL) { + INTERESTADUAL = iNTERESTADUAL; + } + + public String getGRUPO_LINHA() { + return GRUPO_LINHA; + } + + public void setGRUPO_LINHA(String gRUPO_LINHA) { + GRUPO_LINHA = gRUPO_LINHA; + } + + public BigDecimal getEXTENSAO_KM() { + return EXTENSAO_KM; + } + + public void setEXTENSAO_KM(BigDecimal eXTENSAO_KM) { + EXTENSAO_KM = eXTENSAO_KM; + } + + public BigDecimal getRECEITA_SEGURO() { + return RECEITA_SEGURO; + } + + public void setRECEITA_SEGURO(BigDecimal rECEITA_SEGURO) { + RECEITA_SEGURO = rECEITA_SEGURO; + } + + public BigDecimal getRECEITA_BAGAGEM() { + return RECEITA_BAGAGEM; + } + + public void setRECEITA_BAGAGEM(BigDecimal rECEITA_BAGAGEM) { + RECEITA_BAGAGEM = rECEITA_BAGAGEM; + } + + public BigDecimal getRECEITA_SEGURO_OUTROS() { + return RECEITA_SEGURO_OUTROS; + } + + public void setRECEITA_SEGURO_OUTROS(BigDecimal rECEITA_SEGURO_OUTROS) { + RECEITA_SEGURO_OUTROS = rECEITA_SEGURO_OUTROS; + } + + public BigDecimal getRECEITA_TARIFA() { + return RECEITA_TARIFA; + } + + public void setRECEITA_TARIFA(BigDecimal rECEITA_TARIFA) { + RECEITA_TARIFA = rECEITA_TARIFA; + } + + public BigDecimal getRECEITA_PEDAGIO() { + return RECEITA_PEDAGIO; + } + + public void setRECEITA_PEDAGIO(BigDecimal rECEITA_PEDAGIO) { + RECEITA_PEDAGIO = rECEITA_PEDAGIO; + } + + public BigDecimal getRECEITA_EMBARQUE() { + return RECEITA_EMBARQUE; + } + + public void setRECEITA_EMBARQUE(BigDecimal rECEITA_EMBARQUE) { + RECEITA_EMBARQUE = rECEITA_EMBARQUE; + } + + public BigDecimal getPASSAGEIROS() { + return PASSAGEIROS; + } + + public void setPASSAGEIROS(BigDecimal pASSAGEIROS) { + PASSAGEIROS = pASSAGEIROS; + } + + public BigDecimal getVIAGENS_EXTRA() { + return VIAGENS_EXTRA; + } + + public void setVIAGENS_EXTRA(BigDecimal vIAGENS_EXTRA) { + VIAGENS_EXTRA = vIAGENS_EXTRA; + } + + public BigDecimal getVIAGENS() { + return VIAGENS; + } + + public void setVIAGENS(BigDecimal vIAGENS) { + VIAGENS = vIAGENS; + } + + public String getCVE_CLASE_SERVICIO() { + return CVE_CLASE_SERVICIO; + } + + public void setCVE_CLASE_SERVICIO(String cVE_CLASE_SERVICIO) { + CVE_CLASE_SERVICIO = cVE_CLASE_SERVICIO; + } + + public BigDecimal getRECEITA_TOTAL() { + return RECEITA_TOTAL; + } + + public void setRECEITA_TOTAL(BigDecimal rECEITA_TOTAL) { + RECEITA_TOTAL = rECEITA_TOTAL; + } + + public BigDecimal getVIAGENS_TOTAL() { + return VIAGENS_TOTAL; + } + + public void setVIAGENS_TOTAL(BigDecimal vIAGENS_TOTAL) { + VIAGENS_TOTAL = vIAGENS_TOTAL; + } + + public BigDecimal getKM_RODADO() { + return KM_RODADO; + } + + public void setKM_RODADO(BigDecimal kM_RODADO) { + KM_RODADO = kM_RODADO; + } + + public BigDecimal getPASSAGEIROS_EQUIVALENTE() { + return PASSAGEIROS_EQUIVALENTE; + } + + public void setPASSAGEIROS_EQUIVALENTE(BigDecimal pASSAGEIROS_EQUIVALENTE) { + PASSAGEIROS_EQUIVALENTE = pASSAGEIROS_EQUIVALENTE; + } + + public BigDecimal getPASSAGEIROS_MPA() { + return PASSAGEIROS_MPA; + } + + public void setPASSAGEIROS_MPA(BigDecimal pASSAGEIROS_MPA) { + PASSAGEIROS_MPA = pASSAGEIROS_MPA; + } + + public BigDecimal getPASSAGEIROS_MPE() { + return PASSAGEIROS_MPE; + } + + public void setPASSAGEIROS_MPE(BigDecimal pASSAGEIROS_MPE) { + PASSAGEIROS_MPE = pASSAGEIROS_MPE; + } + + public BigDecimal getRECEITA_KM() { + return RECEITA_KM; + } + + public void setRECEITA_KM(BigDecimal rECEITA_KM) { + RECEITA_KM = rECEITA_KM; + } + + public BigDecimal getRECEITA_VIAGEM() { + return RECEITA_VIAGEM; + } + + public void setRECEITA_VIAGEM(BigDecimal rECEITA_VIAGEM) { + RECEITA_VIAGEM = rECEITA_VIAGEM; + } + + public BigDecimal getPAX_KM() { + return PAX_KM; + } + + public void setPAX_KM(BigDecimal pAX_KM) { + PAX_KM = pAX_KM; + } + + public BigDecimal getPAX_OFERTADO() { + return PAX_OFERTADO; + } + + public void setPAX_OFERTADO(BigDecimal pAX_OFERTADO) { + PAX_OFERTADO = pAX_OFERTADO; + } + + public int getINDSENTIDOIDA() { + return INDSENTIDOIDA; + } + + public void setINDSENTIDOIDA(int iNDSENTIDOIDA) { + INDSENTIDOIDA = iNDSENTIDOIDA; + } + + public String getDESC_CLASE_SERVICIO() { + return DESC_CLASE_SERVICIO; + } + + public void setDESC_CLASE_SERVICIO(String dESC_CLASE_SERVICIO) { + DESC_CLASE_SERVICIO = dESC_CLASE_SERVICIO; + } + + public BigDecimal getRECEITA_TARIFA_SEGURO() { + return RECEITA_TARIFA_SEGURO; + } + + public void setRECEITA_TARIFA_SEGURO(BigDecimal rECEITA_TARIFA_SEGURO) { + RECEITA_TARIFA_SEGURO = rECEITA_TARIFA_SEGURO; + } + + public BigDecimal getASSENTOS() { + return ASSENTOS; + } + + public void setASSENTOS(BigDecimal aSSENTOS) { + ASSENTOS = aSSENTOS; + } + + @Override + public String toString() { + // TODO Auto-generated method stub + return getRUTA_ID() + getDESCRUTA(); + } + + @Override + public int compareTo(RelatorioDadosConsolidadosCeturbBean o) { + if( this == null || o == null) { + return -1; + } + + return this.getPREFIXO().compareTo(o.getPREFIXO()); + } + + public Integer getROLOPERATIVO_ID() { + return ROLOPERATIVO_ID; + } + + public void setROLOPERATIVO_ID(Integer rOLOPERATIVO_ID) { + ROLOPERATIVO_ID = rOLOPERATIVO_ID; + } + + public Date getFECCORRIDA() { + return FECCORRIDA; + } + + public void setFECCORRIDA(Date fECCORRIDA) { + FECCORRIDA = fECCORRIDA; + } + + public BigDecimal getTARIFA() { + return TARIFA; + } + + public void setTARIFA(BigDecimal tARIFA) { + TARIFA = tARIFA; + } + + public BigDecimal getEQ() { + return EQ; + } + + public void setEQ(BigDecimal eQ) { + EQ = eQ; + } + + public BigDecimal getIAP() { + return IAP; + } + + public void setIAP(BigDecimal iAP) { + IAP = iAP; + } + + public BigDecimal getICMS() { + return ICMS; + } + + public void setICMS(BigDecimal iCMS) { + ICMS = iCMS; + } + + public BigDecimal getTARIFA_MAIOR() { + return TARIFA_MAIOR; + } + + public void setTARIFA_MAIOR(BigDecimal tARIFA_MAIOR) { + TARIFA_MAIOR = tARIFA_MAIOR; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDadosConsolidadosCeturbController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDadosConsolidadosCeturbController.java new file mode 100644 index 000000000..04d2ef2cd --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioDadosConsolidadosCeturbController.java @@ -0,0 +1,205 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Radio; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.GrupoRuta; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDadosConsolidadosCeturb; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioResumoLinhas; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioResumoLinhasAnalitico; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioResumoLinhasAnaliticoSimplificadoSumarizado; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioResumoLinhasAnaliticoSumarizado; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.ConstanteService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.GrupoRutaService; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +/** + * + * @author Administrador + */ +@Controller("relatorioDadosConsolidadosCeturbController") +@Scope("prototype") +public class RelatorioDadosConsolidadosCeturbController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private DataSource dataSourceRead; + @Autowired + private EmpresaService empresaService; + @Autowired + private RutaService rutaService; + @Autowired + private GrupoRutaService grupoRutaService; + + private List lsRuta; + private List lsEmpresa; + private List lsGrupoRuta; + + private Datebox fecCorridaIni; + private Datebox fecCorridaFin; + private MyComboboxEstandar cmbRuta; + private MyComboboxEstandar cmbEmpresa; + private MyComboboxEstandar cmbGrupoRuta; + private Radio rdAnalitico; + private Radio rdSequencia; + private Checkbox chcSumarizar; + private Checkbox chcSimplificadoSumarizado; + private static String CONSTANTE_GRATUIDADE_CRIANCA; + + + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + /** + * @throws Exception + * + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + parametros.put("DATA_INICIAL", this.fecCorridaIni.getValue()); + parametros.put("DATA_FINAL", DateUtil.fimFecha(this.fecCorridaFin.getValue())); + parametros.put("NOME_RELATORIO", Labels.getLabel("relatorioDadosConsolidadosCeturbController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("NOME_USUARIO", UsuarioLogado.getUsuarioLogado().getNombusuario()); + parametros.put("CRIANCA_ID", buscarConstante("GRATUIDADE_CRIANCA")); + + Comboitem itemRuta = cmbRuta.getSelectedItem(); + + filtro.append("Linha: "); + if (itemRuta != null) { + Ruta ruta = (Ruta) itemRuta.getValue(); + parametros.put("RUTA_ID", ruta.getRutaId()); + filtro.append(ruta.getDescruta() + ";"); + } + else + filtro.append("Todas;"); + + Comboitem itemGrupoRuta = cmbGrupoRuta.getSelectedItem(); + + filtro.append("Grupo de Linha: "); + if (itemGrupoRuta != null) { + GrupoRuta grupoRuta = (GrupoRuta) itemGrupoRuta.getValue(); + parametros.put("GRUPORUTA_ID", grupoRuta.getGrupoRutaId()); + filtro.append(grupoRuta.getDescGrupo()); + } + else + filtro.append("Todos;"); + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + parametros.put("EMPRESA_ID", empresa.getEmpresaId()); + parametros.put("EMPRESA", empresa.getNombempresa()); + filtro.append(" EMPRESA: " + empresa.getNombempresa()); + } + + SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy"); + filtro.append(" DATA: " + df.format(new Date())); + parametros.put("DATA", new Date()); + parametros.put("SOMAR_KM_RODADOS_POR", rdSequencia.isChecked() ? "SEQUENCIA" : "COMBINACAO"); + + + parametros.put("FILTROS", filtro.toString()); + + String tituloRelatorio = "relatorioDadosConsolidadosCeturbController.window.title"; + relatorio = new RelatorioDadosConsolidadosCeturb(parametros, dataSourceRead.getConnection()); + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel(tituloRelatorio), args, MODAL); + + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + setLsRuta(rutaService.obtenerTodos()); + lsEmpresa = empresaService.obtenerTodos(); + lsGrupoRuta = grupoRutaService.obtenerTodos(); + + super.doAfterCompose(comp); + } + + private String buscarConstante(String nomeConstante) { + ConstanteService constanteService = (ConstanteService) AppContext.getApplicationContext().getBean("constanteService"); + return constanteService.buscarPorNomeConstante(nomeConstante).getValorconstante(); + } + + public List getLsRuta() { + return lsRuta; + } + + public void setLsRuta(List lsRuta) { + this.lsRuta = lsRuta; + } + + public MyComboboxEstandar getCmbRuta() { + return cmbRuta; + } + + public void setCmbRuta(MyComboboxEstandar cmbRuta) { + this.cmbRuta = cmbRuta; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsGrupoRuta() { + return lsGrupoRuta; + } + + public void setLsGrupoRuta(List lsGrupoRuta) { + this.lsGrupoRuta = lsGrupoRuta; + } + + public Checkbox getChcSimplificadoSumarizado() { + return chcSimplificadoSumarizado; + } + + public void setChcSimplificadoSumarizado(Checkbox chcSimplificadoSumarizado) { + this.chcSimplificadoSumarizado = chcSimplificadoSumarizado; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioDadosConsolidadosCeturb.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioDadosConsolidadosCeturb.java new file mode 100644 index 000000000..db321b86d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioDadosConsolidadosCeturb.java @@ -0,0 +1,24 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioDadosConsolidadosCeturb extends DefaultItemMenuSistema { + + public ItemMenuRelatorioDadosConsolidadosCeturb() { + super("indexController.mniRelatorioDadosConsolidadosCeturb.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.DADOSCONSOLIDADOCETURB"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioDadosConsolidadosCeturb.zul", + Labels.getLabel("indexController.mniRelatorioDadosConsolidadosCeturb.label"), getArgs() ,desktop); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index 86716e282..43b072d27 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -285,6 +285,7 @@ analitico.gerenciais.pacote.resumido=com.rjconsultores.ventaboletos.web.utileria analitico.gerenciais.relatorioRemessaCNAB=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioRemessaCNAB analitico.gerenciais.ceturb=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.ceturb.SubMenuRelatorioCeturb analitico.gerenciais.ceturb.RelatorioMovimentoMensalPassageiros=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioMovimentoMensalPassageiros +analitico.gerenciais.ceturb.RelatorioDadosConsolidadosCeturb=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioDadosConsolidadosCeturb analitico.integracion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.integracion.SubMenuIntegracion analitico.integracion.sisdap=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSisdap analitico.integracion.sie=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioSie diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 836fa02cc..9de95cf4c 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -10545,4 +10545,19 @@ editarConfiguracaoCodBarrasTrechoController.origem = Origin editarConfiguracaoCodBarrasTrechoController.destino = Destination editarConfiguracaoCodBarrasTrechoController.codTerminal = Terminal Code editarConfiguracaoCodBarrasTrechoController.codEmpresa = Company Code -editarConfiguracaoCodBarrasTrechoController.codRuta = Line Code \ No newline at end of file +editarConfiguracaoCodBarrasTrechoController.codRuta = Line Code + + +# Realtorio dados consolidados Ceturb +relatorioDadosConsolidadosCeturbController.lbAte.value = until +relatorioDadosConsolidadosCeturbController.lbEmpresa.value = Enterprise +relatorioDadosConsolidadosCeturbController.lbFecCorrida.value = Travel Period +relatorioDadosConsolidadosCeturbController.lbGrupoRuta.label = Line Group +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.ajuda = Select Sequence if you want the total KM driven considering the sequence registration, otherwise the KM of the Combination will be considered. +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.label = Consider for full extension +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoCobinacao.label = Combination +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoSequencia.label = Sequence +relatorioDadosConsolidadosCeturbController.lbRuta.value = Line +relatorioDadosConsolidadosCeturbController.lblSimplificadoSumarizado.value = Summarize by rows (Simplified) +relatorioDadosConsolidadosCeturbController.lblSumarizar.value = Summarize by rows (Full) +relatorioDadosConsolidadosCeturbController.window.title = Ceturb Consolidated Data Report \ No newline at end of file diff --git a/web/WEB-INF/i3-label_es_CO.label b/web/WEB-INF/i3-label_es_CO.label index fa28b7f7a..b36c34700 100644 --- a/web/WEB-INF/i3-label_es_CO.label +++ b/web/WEB-INF/i3-label_es_CO.label @@ -10569,3 +10569,18 @@ editarConfiguracaoCodBarrasTrechoController.destino = Destino editarConfiguracaoCodBarrasTrechoController.codTerminal = Cod. Terminal editarConfiguracaoCodBarrasTrechoController.codEmpresa = Cod. Empresa editarConfiguracaoCodBarrasTrechoController.codRuta = Cod. Ruta + + +# Relatorio dados consolidados Ceturb +relatorioDadosConsolidadosCeturbController.lbAte.value = hasta +relatorioDadosConsolidadosCeturbController.lbEmpresa.value = Empresa +relatorioDadosConsolidadosCeturbController.lbFecCorrida.value = Períod de viaje +relatorioDadosConsolidadosCeturbController.lbGrupoRuta.label = Grupo de líneas +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.ajuda = Seleccione Secuencia si desea el total de KM recorridos considerando el registro de secuencia, de lo contrario se considerarán los KM de la Combinación. +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.label = Considere la posibilidad de una extensión completa +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoCobinacao.label = Combinación +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoSequencia.label = Secuencia +relatorioDadosConsolidadosCeturbController.lbRuta.value = Ruta +relatorioDadosConsolidadosCeturbController.lblSimplificadoSumarizado.value = Sumarizar por linhas (Simplificado) +relatorioDadosConsolidadosCeturbController.lblSumarizar.value = Sumarizar por la Rutas (Completo) +relatorioDadosConsolidadosCeturbController.window.title = Reporte Datos Consolidados Ceturb \ No newline at end of file diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index b53275673..6fe865dce 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -10570,4 +10570,20 @@ editarConfiguracaoCodBarrasTrechoController.origem = Origen editarConfiguracaoCodBarrasTrechoController.destino = Destino editarConfiguracaoCodBarrasTrechoController.codTerminal = Cod. Terminal editarConfiguracaoCodBarrasTrechoController.codEmpresa = Cod. Empresa -editarConfiguracaoCodBarrasTrechoController.codRuta = Cod. Ruta \ No newline at end of file +editarConfiguracaoCodBarrasTrechoController.codRuta = Cod. Ruta + + + +# Relatorio dados consolidados Ceturb +relatorioDadosConsolidadosCeturbController.lbAte.value = hasta +relatorioDadosConsolidadosCeturbController.lbEmpresa.value = Empresa +relatorioDadosConsolidadosCeturbController.lbFecCorrida.value = Períod de viaje +relatorioDadosConsolidadosCeturbController.lbGrupoRuta.label = Grupo de líneas +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.ajuda = Seleccione Secuencia si desea el total de KM recorridos considerando el registro de secuencia, de lo contrario se considerarán los KM de la Combinación. +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.label = Considere la posibilidad de una extensión completa +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoCobinacao.label = Combinación +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoSequencia.label = Secuencia +relatorioDadosConsolidadosCeturbController.lbRuta.value = Ruta +relatorioDadosConsolidadosCeturbController.lblSimplificadoSumarizado.value = Sumarizar por linhas (Simplificado) +relatorioDadosConsolidadosCeturbController.lblSumarizar.value = Sumarizar por la Rutas (Completo) +relatorioDadosConsolidadosCeturbController.window.title = Reporte Datos Consolidados Ceturb \ No newline at end of file diff --git a/web/WEB-INF/i3-label_fr_FR.label b/web/WEB-INF/i3-label_fr_FR.label index 2fc6d6a64..a961702dd 100644 --- a/web/WEB-INF/i3-label_fr_FR.label +++ b/web/WEB-INF/i3-label_fr_FR.label @@ -10546,3 +10546,18 @@ editarConfiguracaoCodBarrasTrechoController.destino = Destination editarConfiguracaoCodBarrasTrechoController.codTerminal = Code. Terminal editarConfiguracaoCodBarrasTrechoController.codEmpresa = Code. Entreprise editarConfiguracaoCodBarrasTrechoController.codRuta = Code. Doubler + + +# Realtorio dados consolidados Ceturb +relatorioDadosConsolidadosCeturbController.lbAte.value = jusqu'à +relatorioDadosConsolidadosCeturbController.lbEmpresa.value = Entreprise +relatorioDadosConsolidadosCeturbController.lbFecCorrida.value = Période de voyage +relatorioDadosConsolidadosCeturbController.lbGrupoRuta.label = Groupe de lignes +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.ajuda = Sélectionnez Séquence si vous souhaitez que le KM total parcouru en tenant compte de l'enregistrement de la séquence, sinon le KM de la combinaison sera pris en compte. +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.label = Envisager une extension complète +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoCobinacao.label = Combinaison +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoSequencia.label = Séquence +relatorioDadosConsolidadosCeturbController.lbRuta.value = Doubler +relatorioDadosConsolidadosCeturbController.lblSimplificadoSumarizado.value = Résumer par lignes (simplifié) +relatorioDadosConsolidadosCeturbController.lblSumarizar.value = Résumer par lignes (simplifié) +relatorioDadosConsolidadosCeturbController.window.title = Rapport de données consolidées Ceturb \ No newline at end of file diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index e038e8895..e9827a338 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -10542,3 +10542,17 @@ editarConfiguracaoCodBarrasTrechoController.destino = Destino editarConfiguracaoCodBarrasTrechoController.codTerminal = Cod. Terminal editarConfiguracaoCodBarrasTrechoController.codEmpresa = Cod. Empresa editarConfiguracaoCodBarrasTrechoController.codRuta = Cod. Linha + +# Realtorio dados consolidados Ceturb +relatorioDadosConsolidadosCeturbController.lbAte.value = até +relatorioDadosConsolidadosCeturbController.lbEmpresa.value = Empresa +relatorioDadosConsolidadosCeturbController.lbFecCorrida.value = Período de Viagem +relatorioDadosConsolidadosCeturbController.lbGrupoRuta.label = Grupo de Linhas +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.ajuda = Selecione Sequência caso queira o total de KM rodado considerando o cadastro da sequencia, se não será considerado a KM da Combinação. +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensao.label = Considerar para extensão total +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoCobinacao.label = Combinação +relatorioDadosConsolidadosCeturbController.lbKMConsiderarExtensaoSequencia.label = Sequência +relatorioDadosConsolidadosCeturbController.lbRuta.value = Linha +relatorioDadosConsolidadosCeturbController.lblSimplificadoSumarizado.value = Sumarizar por linhas (Simplificado) +relatorioDadosConsolidadosCeturbController.lblSumarizar.value = Sumarizar por linhas (Completo) +relatorioDadosConsolidadosCeturbController.window.title = Relatório Dados Consolidados Ceturb \ No newline at end of file diff --git a/web/gui/relatorios/filtroRelatorioDadosConsolidadosCeturb.zul b/web/gui/relatorios/filtroRelatorioDadosConsolidadosCeturb.zul new file mode 100644 index 000000000..87c38b6d9 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioDadosConsolidadosCeturb.zul @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +