From 0bd49777839c9b1271106e3553395c9337f6aed0 Mon Sep 17 00:00:00 2001 From: "daniel.zauli" Date: Mon, 5 Feb 2018 17:34:07 +0000 Subject: [PATCH] fixes bug #0010344 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@78746 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../RelatorioMovimentoPorOrgaoConcedente.java | 540 ++++++++++++++++++ ...vimentoPorOrgaoConcedente_pt_BR.properties | 46 ++ ...elatorioMovimentoPorOrgaoConcedente.jasper | Bin 0 -> 34917 bytes ...RelatorioMovimentoPorOrgaoConcedente.jrxml | 257 +++++++++ ...atorioMovimentoPorOrgaoConcedenteBean.java | 71 +++ ...MovimentoPorOrgaoConcedenteController.java | 432 ++++++++++++++ ...uRelatorioMovimentoPorOrgaoConcedente.java | 25 + .../utilerias/menu/menu_original.properties | 1 + .../render/RenderEsquemaCorrida.java | 26 + .../web/utilerias/render/RenderRuta.java | 29 + web/WEB-INF/i3-label_es_MX.label | 46 ++ web/WEB-INF/i3-label_pt_BR.label | 44 ++ ...roRelatorioMovimentoPorOrgaoConcedente.zul | 160 ++++++ 13 files changed, 1677 insertions(+) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentoPorOrgaoConcedente.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentoPorOrgaoConcedente_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioMovimentoPorOrgaoConcedenteBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentoPorOrgaoConcedenteController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioMovimentoPorOrgaoConcedente.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEsquemaCorrida.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRuta.java create mode 100644 web/gui/relatorios/filtroRelatorioMovimentoPorOrgaoConcedente.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentoPorOrgaoConcedente.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentoPorOrgaoConcedente.java new file mode 100644 index 000000000..c44ff1ccd --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentoPorOrgaoConcedente.java @@ -0,0 +1,540 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ArrayDataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +public class RelatorioMovimentoPorOrgaoConcedente extends Relatorio { + +// private List lsRelatorioMovimentoPorOrgaoConcedenteBean; + + public RelatorioMovimentoPorOrgaoConcedente(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new ArrayDataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + Map parametros = this.relatorio.getParametros(); + +// 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.getNombempresa() + ";"); +// } else { +// filtro.append(" Todas;"); +// } + + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, getSql()); + + Calendar dataInicial = Calendar.getInstance(); + dataInicial.setTime((Date) parametros.get("DATA_DE")); + + Calendar dataFinal = Calendar.getInstance(); + dataFinal.setTime((Date) parametros.get("DATA_ATE")); +// + Integer empresaId = (Integer) parametros.get("EMPRESA_ID"); + stmt.setInt("empresa_id", empresaId); + + + if(!parametros.get("ORGAOCONCEDENTE_ID").equals("")){ + stmt.setInt("orgaoconcedenteId",(Integer)parametros.get("ORGAOCONCEDENTE_ID")); + } + + + if(!parametros.get("TIPOSERVICIO_ID").equals("-1")){ + stmt.setInt("tiposervicio_id", Integer.parseInt((String)parametros.get("TIPOSERVICIO_ID"))); + } + + ResultSet rset = stmt.executeQuery(); + + + +// List ls = new ArrayList(); + while (rset.next()) { + Map dataResult = new HashMap(); + dataResult.put("SECCOES", rset.getString("PORIGDESCPARADA") +" "+ rset.getString("PDESTDESCPARADA")); + dataResult.put("KM", rset.getString("TCANTKMREAL")); +// dataResult.put("SEQ", rset.getString("NUMSEQ")); + + dataResult.put("SENTIDO", rset.getString("RUSENTIDO")); + dataResult.put("SOMA", rset.getString("QTD")); + + Double m1 = Double.parseDouble(rset.getString("QTD")); + Double m2 = Double.parseDouble(rset.getString("TARIFA")); + + dataResult.put("TOTAL", String.format("%.02f",m1*m2)); + dataResult.put("TARIFA",rset.getString("TARIFA")); + dataResult.put("SERVICO",rset.getString("SERVICO") != null ? rset.getString("SERVICO") : "-" ); + +// RelatorioMovimentoPorOrgaoConcedenteBean r = new RelatorioMovimentoPorOrgaoConcedenteBean(); +// r.setSECCOES(rset.getString("ORIGEM") +" "+ rset.getString("DESTINO")); +// r.setKM(rset.getString("KILOMETRAGEM")); +// r.setSEQ(rset.getString("NUMSEQ")); +// r.setIDA(rset.getString("INDSENTIDOIDA")); +// r.setSOMA(rset.getString("QTD")); +// +// ls.add(r); + + + this.dados.add(dataResult); + } +// lsRelatorioMovimentoPorOrgaoConcedenteBean = ls; + this.resultSet = rset; + + } + }); + } + + private String getSql() { + + SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); + + StringBuilder sql = new StringBuilder(); + +// sql.append(" WITH boletos AS "); +// sql.append(" (SELECT * "); +// sql.append(" FROM boleto b "); +// +// sql.append(" INNER JOIN empresa e "); +// sql.append(" ON e.empresa_id = b.empresacorrida_Id "); +// sql.append(" AND b.empresacorrida_Id = :empresa_id "); +// sql.append(" AND b.ruta_Id in(213, 3651)"); +// +// sql.append(" WHERE "); +// sql.append(" b.corrida_id in(6678 ,1)"); +// +// sql.append(" AND b.FECCORRIDA BETWEEN to_date('" +format.format(DateUtil.inicioFecha((Date) parametros.get("DATA_DE")).getTime())+"') AND to_date('" +format.format( DateUtil.fimFecha((Date) parametros.get("DATA_ATE")).getTime())+"') "); +// sql.append(" ), "); +// sql.append(" tramosSeqRuta AS "); +// sql.append(" (SELECT DISTINCT t.tramo_id AS tramo_id , "); +// sql.append(" porig.descparada AS origem , "); +// sql.append(" porig.parada_id AS origem_id , "); +// sql.append(" pdest.descparada AS destino , "); +// sql.append(" pdest.parada_id AS destino_id, "); +// sql.append(" t.desctramo AS tramodesc, "); +// sql.append(" r.descruta AS rutadesc, "); +// sql.append(" rs.numsecuencia AS numseq, "); +// sql.append(" t.CANTKMREAL AS kilometragem, "); +// sql.append(" r.INDSENTIDOIDA AS INDSENTIDOIDA "); +// sql.append(" FROM boletos b "); +// sql.append(" INNER JOIN RUTA r "); +// sql.append(" ON r.ruta_id = b.ruta_id "); +// sql.append(" INNER JOIN RUTA_SECUENCIA rs "); +// sql.append(" ON rs.ruta_id = r.ruta_id "); +// sql.append(" INNER JOIN TRAMO t "); +// sql.append(" ON t.tramo_id = rs.tramo_id "); +// sql.append(" INNER JOIN parada porig "); +// sql.append(" ON porig.parada_id = t.ORIGEN_ID "); +// sql.append(" INNER JOIN parada pdest "); +// sql.append(" ON pdest.parada_id = t.DESTINO_ID "); +// sql.append(" INNER JOIN corrida c "); +// sql.append(" ON c.corrida_id = b.corrida_id "); +// sql.append(" WHERE t.activo =1 "); +// //sql.append(" AND t.activo =1 "); +// sql.append(" AND rs.activo =1 "); +// +// sql.append(" ORDER BY rs.numsecuencia "); +// sql.append(" ), "); +// sql.append(" paradasSeqsBolsOrig AS "); +// sql.append(" (SELECT b.boleto_id, "); +// sql.append(" tsr.numseq AS numseqOri, "); +// sql.append(" tsr.tramo_id, "); +// sql.append(" b.origen_id "); +// sql.append(" FROM boletos b "); +// sql.append(" INNER JOIN tramosSeqRuta tsr "); +// sql.append(" ON b.origen_id = tsr.origem_id "); +// sql.append(" ), "); +// sql.append(" paradasSeqsBolsDest AS "); +// sql.append(" (SELECT b.boleto_id, "); +// sql.append(" tsr.numseq AS numseqDest, "); +// sql.append(" tsr.tramo_id, "); +// sql.append(" b.destino_id "); +// sql.append(" FROM boletos b "); +// sql.append(" INNER JOIN tramosSeqRuta tsr "); +// sql.append(" ON b.destino_id = tsr.destino_id "); +// sql.append(" ), "); +// sql.append(" embarques AS "); +// sql.append(" ( SELECT DISTINCT tsr.tramodesc AS etsrtramodesc, "); +// sql.append(" tsr.rutadesc AS etsrrutadesc, "); +// sql.append(" tsr.origem AS etsrorigem, "); +// sql.append(" tsr.origem_id AS etsrorigem_id, "); +// sql.append(" tsr.destino AS etsrdestino, "); +// sql.append(" tsr.destino_id AS etsrdestino_id, "); +// sql.append(" tsr.numseq AS etsrnumseq, "); +// sql.append(" b.boleto_id AS ebboleto_id, "); +// sql.append(" tsr.tramo_id AS etsrtramo_id "); +// sql.append(" FROM tramosSeqRuta tsr "); +// sql.append(" INNER JOIN paradasSeqsBolsOrig psbo "); +// sql.append(" ON psbo.numseqOri <= tsr.numseq "); +// sql.append(" INNER JOIN boletos b "); +// sql.append(" ON b.origen_id = psbo.origen_id "); +// sql.append(" ), "); +// sql.append(" desembarques AS "); +// sql.append(" ( SELECT DISTINCT tsr.tramodesc AS dtsrtramodesc, "); +// sql.append(" tsr.rutadesc AS dtsrrutadesc, "); +// sql.append(" tsr.origem AS dtsrorigem, "); +// sql.append(" tsr.origem_id AS dtsrorigem_id, "); +// sql.append(" tsr.destino AS dtsrdestino, "); +// sql.append(" tsr.destino_id AS dtsrdestino_id, "); +// sql.append(" tsr.numseq AS dtsrnumseq, "); +// sql.append(" b.boleto_id AS dbboleto_id, "); +// sql.append(" tsr.tramo_id AS dtsrtramo_id "); +// sql.append(" FROM tramosSeqRuta tsr "); +// sql.append(" INNER JOIN paradasSeqsBolsDest psbd "); +// sql.append(" ON psbd.numseqDest = tsr.numseq "); +// sql.append(" INNER JOIN boletos b "); +// sql.append(" ON b.destino_id = psbd.destino_id "); +// sql.append(" ), "); +// sql.append(" boletos_embarcados_no_tramo AS "); +// sql.append(" ( SELECT DISTINCT * "); +// sql.append(" FROM embarques e "); +// sql.append(" INNER JOIN desembarques d "); +// sql.append(" ON e.ebboleto_id = d.dbboleto_id "); +// sql.append(" WHERE e.etsrnumseq <= d.dtsrnumseq "); +// sql.append(" ) "); +// sql.append(" SELECT tramo_id, origem, origem_id, destino, destino_id, tramodesc, rutadesc, numseq, kilometragem, indsentidoida, ETSRTRAMODESC, ETSRRUTADESC, ETSRORIGEM, ETSRORIGEM_ID, ETSRDESTINO, ETSRDESTINO_id, ETSRNUMSEQ, count(EBBOLETO_ID) as qtd, ETSRTRAMO_ID ");//, DTSRTRAMODESC, DTSRRUTADESC, DTSRORIGEM_ID, DTSRDESTINO, DTSRDESTINO_ID, DTSRNUMSEQ, DBBOLETO_ID, DTSRTRAMO_ID "); +// sql.append(" FROM tramosSeqRuta tsr "); +// sql.append(" LEFT JOIN boletos_embarcados_no_tramo bet "); +// sql.append(" ON tsr.tramo_id = bet.etsrtramo_id"); +// +// sql.append(" group by tramo_id, origem, origem_id, destino, destino_id, tramodesc, rutadesc, numseq, kilometragem, indsentidoida, ETSRTRAMODESC, ETSRRUTADESC, ETSRORIGEM, ETSRORIGEM_ID, ETSRDESTINO, ETSRDESTINO_id, ETSRNUMSEQ, ETSRTRAMO_ID "); +// sql.append(" ORDER BY numseq "); + + //---------------------------------------------------------------------------------------------------------------------------- +// sql.append(" WITH boletos AS "); +// sql.append(" (SELECT * "); +// sql.append(" FROM boleto b "); +// sql.append(" INNER JOIN empresa e "); +// sql.append(" ON e.empresa_id = b.empresacorrida_Id "); +// sql.append(" AND b.empresacorrida_Id = :empresa_id "); +// if(parametros.get("LINHA_ID") != null ){ +// sql.append(" AND b.ruta_Id IN(" +parametros.get("LINHA_ID")+ " ) "); +// } +// sql.append(" WHERE b.FECCORRIDA BETWEEN to_date('" +format.format(DateUtil.inicioFecha((Date) parametros.get("DATA_DE")).getTime())+"') AND to_date('" +format.format( DateUtil.fimFecha((Date) parametros.get("DATA_ATE")).getTime())+"') "); +// if(parametros.get("SERVICO_ID") != null ){ +// sql.append(" AND b.corrida_id IN(" +parametros.get("SERVICO_ID")+ ") "); +// } +// sql.append(" ), "); +// sql.append(" tramosSeqRuta AS "); +// sql.append(" (SELECT DISTINCT t.tramo_id AS tramo_id , "); +// sql.append(" porig.descparada AS origem , "); +// sql.append(" porig.parada_id AS origem_id , "); +// sql.append(" pdest.descparada AS destino , "); +// sql.append(" pdest.parada_id AS destino_id, "); +// sql.append(" t.desctramo AS tramodesc, "); +// sql.append(" r.descruta AS rutadesc, "); +// sql.append(" rs.numsecuencia AS numseq, "); +// sql.append(" t.CANTKMREAL AS kilometragem, "); +// sql.append(" r.INDSENTIDOIDA AS INDSENTIDOIDA, "); +// sql.append(" r.ruta_id AS miruta "); +// sql.append(" FROM boletos b "); +// sql.append(" INNER JOIN RUTA r "); +// sql.append(" ON r.ruta_id = b.ruta_id "); +// +// if(!parametros.get("ORGAOCONCEDENTE_ID").equals("")){ +// sql.append(" and r.ORGAOCONCEDENTE_ID = :orgaoconcedenteId "); +// } +// +// sql.append(" INNER JOIN RUTA_SECUENCIA rs "); +// sql.append(" ON rs.ruta_id = r.ruta_id "); +// sql.append(" INNER JOIN TRAMO t "); +// sql.append(" ON t.tramo_id = rs.tramo_id "); +// sql.append(" INNER JOIN parada porig "); +// sql.append(" ON porig.parada_id = t.ORIGEN_ID "); +// sql.append(" INNER JOIN parada pdest "); +// sql.append(" ON pdest.parada_id = t.DESTINO_ID "); +// sql.append(" INNER JOIN corrida c "); +// sql.append(" ON c.corrida_id = b.corrida_id AND b.FECCORRIDA = c.FECCORRIDA "); +// +// if(!parametros.get("TIPOSERVICIO_ID").equals("-1")){ +// sql.append(" AND c.tiposervicio_id = :tiposervicio_id");// parametros.get("TIPOSERVICIO_ID") +// } +// +// sql.append(" WHERE t.activo =1 "); +// +// +// +// +// sql.append(" AND rs.activo =1 "); +// sql.append(" ORDER BY rs.numsecuencia "); +// sql.append(" ), "); +// sql.append(" paradasSeqsBolsOrig AS "); +// sql.append(" (SELECT b.boleto_id, "); +// sql.append(" tsr.numseq AS numseqOri, "); +// sql.append(" tsr.tramo_id, "); +// sql.append(" b.origen_id "); +// sql.append(" FROM boletos b "); +// sql.append(" INNER JOIN tramosSeqRuta tsr "); +// sql.append(" ON b.origen_id = tsr.origem_id "); +// sql.append(" ), "); +// sql.append(" paradasSeqsBolsDest AS "); +// sql.append(" (SELECT b.boleto_id, "); +// sql.append(" tsr.numseq AS numseqDest, "); +// sql.append(" tsr.tramo_id, "); +// sql.append(" b.destino_id "); +// sql.append(" FROM boletos b "); +// sql.append(" INNER JOIN tramosSeqRuta tsr "); +// sql.append(" ON b.destino_id = tsr.destino_id "); +// sql.append(" ), "); +// sql.append(" embarques AS "); +// sql.append(" ( SELECT DISTINCT tsr.tramodesc AS etsrtramodesc, "); +// sql.append(" tsr.rutadesc AS etsrrutadesc, "); +// sql.append(" tsr.origem AS etsrorigem, "); +// sql.append(" tsr.origem_id AS etsrorigem_id, "); +// sql.append(" tsr.destino AS etsrdestino, "); +// sql.append(" tsr.destino_id AS etsrdestino_id, "); +// sql.append(" tsr.numseq AS etsrnumseq, "); +// sql.append(" b.boleto_id AS ebboleto_id, "); +// sql.append(" tsr.tramo_id AS etsrtramo_id "); +// sql.append(" FROM tramosSeqRuta tsr "); +// sql.append(" INNER JOIN paradasSeqsBolsOrig psbo "); +// sql.append(" ON psbo.numseqOri <= tsr.numseq "); +// sql.append(" INNER JOIN boletos b "); +// sql.append(" ON b.origen_id = psbo.origen_id "); +// sql.append(" ), "); +// sql.append(" desembarques AS "); +// sql.append(" ( SELECT DISTINCT tsr.tramodesc AS dtsrtramodesc, "); +// sql.append(" tsr.rutadesc AS dtsrrutadesc, "); +// sql.append(" tsr.origem AS dtsrorigem, "); +// sql.append(" tsr.origem_id AS dtsrorigem_id, "); +// sql.append(" tsr.destino AS dtsrdestino, "); +// sql.append(" tsr.destino_id AS dtsrdestino_id, "); +// sql.append(" tsr.numseq AS dtsrnumseq, "); +// sql.append(" b.boleto_id AS dbboleto_id, "); +// sql.append(" tsr.tramo_id AS dtsrtramo_id "); +// sql.append(" FROM tramosSeqRuta tsr "); +// sql.append(" INNER JOIN paradasSeqsBolsDest psbd "); +// sql.append(" ON psbd.numseqDest = tsr.numseq "); +// sql.append(" INNER JOIN boletos b "); +// sql.append(" ON b.destino_id = psbd.destino_id "); +// sql.append(" ), "); +// sql.append(" boletos_embarcados_no_tramo AS "); +// sql.append(" ( SELECT DISTINCT * "); +// sql.append(" FROM embarques e "); +// sql.append(" INNER JOIN desembarques d "); +// sql.append(" ON e.ebboleto_id = d.dbboleto_id "); +// sql.append(" WHERE e.etsrnumseq <= d.dtsrnumseq "); +// sql.append(" ), "); +// sql.append(" secuencia_qtd AS "); +// sql.append(" (SELECT tramo_id, "); +// sql.append(" origem, "); +// sql.append(" origem_id, "); +// sql.append(" destino, "); +// sql.append(" destino_id, "); +// sql.append(" tramodesc, "); +// sql.append(" rutadesc, "); +// sql.append(" numseq, "); +// sql.append(" kilometragem, "); +// sql.append(" indsentidoida, "); +// sql.append(" ETSRTRAMODESC, "); +// sql.append(" ETSRRUTADESC, "); +// sql.append(" ETSRORIGEM, "); +// sql.append(" ETSRORIGEM_ID, "); +// sql.append(" ETSRDESTINO, "); +// sql.append(" ETSRDESTINO_id, "); +// sql.append(" ETSRNUMSEQ, "); +// sql.append(" COUNT(EBBOLETO_ID) AS qtd, "); +// sql.append(" ETSRTRAMO_ID, "); +// sql.append(" miruta "); +// sql.append(" FROM tramosSeqRuta tsr "); +// sql.append(" LEFT JOIN boletos_embarcados_no_tramo bet "); +// sql.append(" ON tsr.tramo_id = bet.etsrtramo_id "); +// sql.append(" GROUP BY tramo_id, "); +// sql.append(" origem, "); +// sql.append(" origem_id, "); +// sql.append(" destino, "); +// sql.append(" destino_id, "); +// sql.append(" tramodesc, "); +// sql.append(" rutadesc, "); +// sql.append(" numseq, "); +// sql.append(" kilometragem, "); +// sql.append(" indsentidoida, "); +// sql.append(" ETSRTRAMODESC, "); +// sql.append(" ETSRRUTADESC, "); +// sql.append(" ETSRORIGEM, "); +// sql.append(" ETSRORIGEM_ID, "); +// sql.append(" ETSRDESTINO, "); +// sql.append(" ETSRDESTINO_id, "); +// sql.append(" ETSRNUMSEQ, "); +// sql.append(" ETSRTRAMO_ID, "); +// sql.append(" miruta "); +// sql.append(" ORDER BY numseq "); +// sql.append(" ) , "); +// sql.append(" combinacion AS "); +// sql.append(" ( SELECT DISTINCT rc.*, "); +// sql.append(" por.parada_id AS idorig, "); +// sql.append(" por.descparada descorig, "); +// sql.append(" pde.parada_id iddest, "); +// sql.append(" pde.descparada descdest "); +// sql.append(" FROM ruta_combinacion rc "); +// sql.append(" INNER JOIN secuencia_qtd sq "); +// sql.append(" ON sq.miruta = rc.ruta_id "); +// sql.append(" INNER JOIN tramo t "); +// sql.append(" ON t.tramo_id = rc.tramo_id "); +// sql.append(" INNER JOIN parada por "); +// sql.append(" ON por.parada_id = t.origen_id "); +// sql.append(" INNER JOIN parada pde "); +// sql.append(" ON pde.parada_id = t.destino_id "); +// sql.append(" ), "); +// sql.append(" secuencia_combinacion AS "); +// sql.append(" (SELECT c.ruta_id AS cruta_id, "); +// sql.append(" c.tramo_id AS ctramo_id, "); +// sql.append(" c.idorig AS cidorig, "); +// sql.append(" c.descorig AS cdescorig, "); +// sql.append(" c.iddest AS iddest, "); +// sql.append(" c.descdest AS cdescdest, "); +// sql.append(" sq.numseq AS seqembarque, "); +// sql.append(" sq2.numseq AS seqdesembarque "); +// sql.append(" FROM combinacion c "); +// sql.append(" INNER JOIN secuencia_qtd sq "); +// sql.append(" ON c.idorig = sq.origem_id "); +// sql.append(" INNER JOIN secuencia_qtd sq2 "); +// sql.append(" ON c.iddest = sq2.destino_id "); +// sql.append(" WHERE c.ruta_id = sq2.miruta "); +// sql.append(" AND c.ruta_id = sq.miruta "); +// sql.append(" ) "); +// sql.append(" SELECT DISTINCT sc.*, "); +// sql.append(" sq.qtd , SQ.INDSENTIDOIDA AS INDSENTIDOIDA , t1.cantkmreal, tar.precio as tarifa "); +// sql.append(" FROM secuencia_combinacion sc "); +// sql.append(" INNER JOIN secuencia_qtd sq "); +// sql.append(" ON sc.seqembarque <= sq.numseq "); +// sql.append(" AND sc.seqdesembarque = sq.numseq "); +// sql.append(" inner join tramo t1 on t1.tramo_id = sc.ctramo_id "); +// sql.append(" INNER JOIN tarifa tar "); +// sql.append(" ON t1.tramo_id = tar.tramo_id "); +// sql.append(" order by ctramo_id "); + + + + sql.append(" WITH boletos AS "); + sql.append(" (SELECT b.boleto_id AS bboleto_id, "); + sql.append(" b.ruta_id AS bruta_id, "); + sql.append(" b.ORIGEN_ID AS bORIGEN_ID, "); + sql.append(" b.DESTINO_ID AS bDESTINO_ID, "); + sql.append(" b.CORRIDA_ID AS bCORRIDA_ID, "); + sql.append(" b.FECCORRIDA AS bFECCORRIDA, "); + sql.append(" b.FECHORVIAJE AS bFECHORVIAJE , "); + sql.append(" b.EMPRESACORRIDA_ID AS bEMPRESACORRIDA_ID, "); + sql.append(" r.INDSENTIDOIDA AS rINDSENTIDOIDA "); + sql.append(" FROM boleto b "); + sql.append(" INNER JOIN empresa e "); + sql.append(" ON e.empresa_id = b.empresacorrida_Id "); + sql.append(" AND b.empresacorrida_Id = :empresa_id "); + if(parametros.get("LINHA_ID") != null ){ + sql.append(" AND b.ruta_Id IN(" +parametros.get("LINHA_ID")+ " ) "); + } + sql.append(" INNER JOIN ruta r "); + sql.append(" ON r.ruta_id = b.ruta_id "); + + sql.append(" INNER JOIN corrida c "); + sql.append(" ON c.corrida_id = b.corrida_id AND b.FECCORRIDA = c.FECCORRIDA "); + + sql.append(" WHERE b.FECCORRIDA BETWEEN to_date('" +format.format(DateUtil.inicioFecha((Date) parametros.get("DATA_DE")).getTime())+"') AND to_date('" +format.format( DateUtil.fimFecha((Date) parametros.get("DATA_ATE")).getTime())+"') "); + sql.append(" AND b.MOTIVOCANCELACION_ID IS NULL "); + + if(parametros.get("SERVICO_ID") != null ){ + sql.append(" AND b.corrida_id IN(" +parametros.get("SERVICO_ID")+ ") "); + } + if(!parametros.get("ORGAOCONCEDENTE_ID").equals("")){ + sql.append(" and r.ORGAOCONCEDENTE_ID = :orgaoconcedenteId "); + } + if(!parametros.get("TIPOSERVICIO_ID").equals("-1")){ + sql.append(" AND c.tiposervicio_id = :tiposervicio_id");// parametros.get("TIPOSERVICIO_ID") + } + +// sql.append(" AND b.corrida_id IN(1) "); + sql.append(" ) , "); + sql.append(" combinacion AS "); + sql.append(" ( SELECT DISTINCT rc.ruta_id AS rcruta_id, "); + sql.append(" rc.tramo_id AS rctramo_id, "); + sql.append(" porig.descparada AS porigdescparada, "); + sql.append(" porig.parada_id AS porigparada_id, "); + sql.append(" pdest.descparada AS pdestdescparada, "); + sql.append(" pdest.parada_id AS pdestparada_id, "); + sql.append(" t.CANTKMREAL AS tCANTKMREAL, "); + sql.append(" ta.PRECIO AS taPRECIO, "); + sql.append(" ru.indsentidoida AS rusentido "); + sql.append(" FROM ruta_combinacion rc "); + sql.append(" INNER JOIN tramo t "); + sql.append(" ON t.tramo_id = rc.tramo_id "); + sql.append(" INNER JOIN parada porig "); + sql.append(" ON porig.parada_id = t.origen_id "); + sql.append(" INNER JOIN parada pdest "); + sql.append(" ON pdest.parada_id = t.destino_id "); + sql.append(" INNER JOIN boletos b "); + sql.append(" ON b.bruta_id = rc.ruta_id "); + sql.append(" INNER JOIN tarifa ta "); + sql.append(" ON ta.tramo_id = t.tramo_id "); + sql.append(" INNER JOIN ruta ru "); + sql.append(" ON ru.ruta_id = rc.ruta_id "); + sql.append(" ) , "); + sql.append(" resultado AS "); + sql.append(" (SELECT * "); + sql.append(" FROM combinacion c "); + sql.append(" LEFT JOIN boletos b "); + sql.append(" ON c.porigparada_id = b.bORIGEN_ID "); + sql.append(" AND c.pdestparada_id = b.bdestino_ID "); + sql.append(" ) "); + sql.append(" SELECT RCRUTA_ID, "); + sql.append(" RCTRAMO_ID, "); + sql.append(" PORIGDESCPARADA, "); + sql.append(" PORIGPARADA_ID, "); + sql.append(" PDESTDESCPARADA, "); + sql.append(" PDESTPARADA_ID, "); + sql.append(" TCANTKMREAL, "); + sql.append(" taPRECIO AS TARIFA, "); + sql.append(" COUNT(BBOLETO_ID) AS QTD, "); + sql.append(" BRUTA_ID, "); + sql.append(" BORIGEN_ID, "); + sql.append(" BDESTINO_ID, "); + sql.append(" BCORRIDA_ID as servico, "); + sql.append(" BFECCORRIDA, "); + sql.append(" BFECHORVIAJE, "); + sql.append(" BEMPRESACORRIDA_ID, "); + sql.append(" RINDSENTIDOIDA, "); + sql.append(" rusentido "); + sql.append(" FROM resultado "); + sql.append(" GROUP BY RCRUTA_ID, "); + sql.append(" RCTRAMO_ID, "); + sql.append(" PORIGDESCPARADA, "); + sql.append(" PORIGPARADA_ID, "); + sql.append(" PDESTDESCPARADA, "); + sql.append(" PDESTPARADA_ID, "); + sql.append(" TCANTKMREAL, "); + sql.append(" taPRECIO, "); + sql.append(" BRUTA_ID, "); + sql.append(" BORIGEN_ID, "); + sql.append(" BDESTINO_ID, "); + sql.append(" BCORRIDA_ID, "); + sql.append(" BFECCORRIDA, "); + sql.append(" BFECHORVIAJE, "); + sql.append(" BEMPRESACORRIDA_ID, "); + sql.append(" RINDSENTIDOIDA , "); + sql.append(" rusentido "); + + + + + //---------------------------------------------------------------------------------------------------------------------------- + + return sql.toString(); + } + + @Override + protected void processaParametros() throws Exception { + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentoPorOrgaoConcedente_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentoPorOrgaoConcedente_pt_BR.properties new file mode 100644 index 000000000..d4d074666 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentoPorOrgaoConcedente_pt_BR.properties @@ -0,0 +1,46 @@ +#geral +msg.noData=Não foi possível obter dados com os parâmetros informados. + +header.titulo.relatorio=QUADRO DEMONSTRATIVO DO MOVIMENTO DE PASSAGEIROS +header.poderConcedente=Poder Concedente +header.periodo=Período de: +header.ate=até: +header.ordinarias=Ordinárias +header.estras=Extras +header.empresa=Empresa: +header.endereco=Endereço: +header.municipio=Município: +header.cnpj=CNPJ: +header.lugares=Lugares +header.ofertados=Ofertados +header.linha=Linha: +header.inscricao=Inscrição: + + +#Labels column header +column.header.seccoes=Secções +column.header.km=KM +column.header.seq=SEQ +column.header.sentido=Sentido +column.header.soma=Soma +column.header.tarifa=Tarifa +column.header.total=Total +column.header.servico=Serviço + +#Labels header +#label.nomePassageiro=Nome Passageiro +#label.dataViaje=Data Viagem +#label.servico=Serviço +#label.passagem=Bilhete +#label.claseServicio=Classe +#label.origem=Origem +#label.destino=Destino +#label.numKmViaje=Distância +#label.poltrona=Po. +#label.precioPagado=Tarifa +#label.precioTaxas=Taxas +#label.preco=Tarifa Total +#label.categoria=Tipo Pax +#label.dataVenda=Data Compra +#label.pontoVenda=Agência +#label.nomeUsuario=Bilheteiro \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jasper new file mode 100644 index 0000000000000000000000000000000000000000..7aa2e2764f48f4af4c5b0c5500fdcc5cc284c2a2 GIT binary patch literal 34917 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
    _IC87n=!hR-hMC43IXnfxS} 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jrxml new file mode 100644 index 000000000..0d71506ec --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentoPorOrgaoConcedente.jrxml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="160" splitType="Stretch"> + <textField> + <reportElement uuid="c65887a6-a78a-400f-84bd-ed4d09a4b492" x="0" y="60" width="802" height="20"/> + <textElement textAlignment="Center" markup="none"> + <font size="14" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.titulo.relatorio}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="5e67db14-e1ef-4e2a-a6a4-bd21adfc35ed" x="623" y="0" width="179" height="20"/> + <textElement textAlignment="Right"/> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="c7da0bfc-d99f-4551-94c1-99cc5a0af80d" x="0" y="20" width="200" height="20"/> + <textElement textAlignment="Center"> + <font size="10"/> + </textElement> + <textFieldExpression><![CDATA[$P{ORGAO_CONCEDENTE}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="1b824e4c-ebdd-4852-b29a-15320ab744b0" x="0" y="0" width="200" height="20"/> + <textElement markup="none"> + <font size="10"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.poderConcedente}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="8770a74a-33a0-44f2-bebd-574588bcd4ae" x="423" y="20" width="200" height="20"/> + <textElement textAlignment="Right" markup="none"> + <font size="10"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.periodo}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="c2d86c3b-29b7-43e7-82c2-706eadd3e067" x="423" y="40" width="200" height="20"/> + <textElement textAlignment="Right" markup="none"> + <font size="10"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.ate}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy"> + <reportElement uuid="5c6c0a52-ecbb-4423-8a0a-24c789d8b3da" x="623" y="20" width="179" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{DATA_DE}]]></textFieldExpression> + </textField> + <textField pattern="dd/MM/yyyy"> + <reportElement uuid="02d93ca3-4d18-4440-940b-674ac21fd849" x="623" y="40" width="179" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{DATA_ATE}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="31137737-3d7a-450f-bd8f-ceaa97f463be" x="0" y="80" width="69" height="20"/> + <textElement markup="none"/> + <textFieldExpression><![CDATA[$R{header.empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="d9f51fd7-872b-45b6-ab47-7c69679db9ed" x="69" y="80" width="334" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{EMPRESA}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="8a44071d-2677-4c75-8931-20c1f2306818" x="69" y="100" width="334" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{MUNICIPIO}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="bbc0db06-9f0f-4989-82a2-bddb5479775d" x="0" y="100" width="69" height="20"/> + <textElement markup="none"/> + <textFieldExpression><![CDATA[$R{header.municipio}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="0a5e07fe-7388-4e38-9a2c-3fab33edf4a1" x="69" y="120" width="334" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{LINHA}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="73ff499c-1cc2-4852-9b25-cb336d66e9fa" x="0" y="120" width="69" height="20"/> + <textElement markup="none"/> + <textFieldExpression><![CDATA[$R{header.linha}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="ecce43f4-3f2a-4a15-ad05-067d4d5c66c4" x="472" y="80" width="330" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{ENDERECO}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="f812fe0c-c355-4a5b-a6c9-098ee57642ae" x="403" y="80" width="69" height="20"/> + <textElement markup="none"/> + <textFieldExpression><![CDATA[$R{header.endereco}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="bbaf5ea2-2d14-4210-a8b8-b8c92a90c8c8" x="472" y="100" width="330" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{CNPJ}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="8110a811-cc15-4678-965f-e7ec9ea3c2d2" x="403" y="100" width="69" height="20"/> + <textElement markup="none"/> + <textFieldExpression><![CDATA[$R{header.cnpj}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="1d20d65c-da30-4749-b3e8-5d8c8b9a0c5d" x="403" y="120" width="69" height="20"/> + <textElement markup="none"/> + <textFieldExpression><![CDATA[$R{header.inscricao}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="888d2a97-cb82-431f-bced-4012e8862e17" x="472" y="120" width="330" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{INSCRICAO}]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioMovimentoPorOrgaoConcedenteBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioMovimentoPorOrgaoConcedenteBean.java new file mode 100644 index 000000000..ec182b3e6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioMovimentoPorOrgaoConcedenteBean.java @@ -0,0 +1,71 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public class RelatorioMovimentoPorOrgaoConcedenteBean { + + private String SECCOES; + private String KM; + private String SEQ; + private String IDA; + private String VOLTA; + private String SOMA; + private String TARIFA; + private String TOTAL; + private String TOTALFINAL;//TOTAL FINAL DE TODAS AS INFORMAÇÕES + + + public String getSECCOES() { + return SECCOES; + } + public void setSECCOES(String sECCOES) { + SECCOES = sECCOES; + } + public String getKM() { + return KM; + } + public void setKM(String kM) { + KM = kM; + } + public String getSEQ() { + return SEQ; + } + public void setSEQ(String sEQ) { + SEQ = sEQ; + } + public String getIDA() { + return IDA; + } + public void setIDA(String iDA) { + IDA = iDA; + } + public String getVOLTA() { + return VOLTA; + } + public void setVOLTA(String vOLTA) { + VOLTA = vOLTA; + } + public String getSOMA() { + return SOMA; + } + public void setSOMA(String sOMA) { + SOMA = sOMA; + } + public String getTARIFA() { + return TARIFA; + } + public void setTARIFA(String tARIFA) { + TARIFA = tARIFA; + } + public String getTOTAL() { + return TOTAL; + } + public void setTOTAL(String tOTAL) { + TOTAL = tOTAL; + } + public String getTOTALFINAL() { + return TOTALFINAL; + } + public void setTOTALFINAL(String tOTALFINAL) { + TOTALFINAL = tOTALFINAL; + } + +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentoPorOrgaoConcedenteController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentoPorOrgaoConcedenteController.java new file mode 100644 index 000000000..2c38a574f --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentoPorOrgaoConcedenteController.java @@ -0,0 +1,432 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.util.ArrayList; +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.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Datebox; +import org.zkoss.zul.Radio; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioDemandasDetalhadoNovoLayout; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioMovimentoPorOrgaoConcedente; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; +import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; +import com.rjconsultores.ventaboletos.service.RutaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEsquemaCorrida; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRuta; + +@Controller("relatorioMovimentoPorOrgaoConcedenteController") +@Scope("prototype") +public class RelatorioMovimentoPorOrgaoConcedenteController extends MyGenericForwardComposer { + + @Autowired + private DataSource dataSourceRead; + + @Autowired + private EmpresaService empresaService; + private List lsEmpresas; + private Combobox cmbEmpresa; + private Empresa empresa; + + @Autowired + private OrgaoConcedenteService orgaoConcedenteService; + private List lsOrgaoConcedente; + private Combobox cmbOrgaoConcedente; + private OrgaoConcedente orgaoConcedente; + + private Radio radTipoServicioTodos; + private Radio radTipoServicioOrdinarios; + private Radio radTipoServicioExtraOrdinarios; + + private Datebox fecInicio; + private Datebox fecFinal; + + @Autowired + private EsquemaCorridaService esquemaCorridaService; + private List lsEsquemaCorrida; + private List lsSelectedEsquemaCorrida; + private Combobox cmbEsquemaCorrida; + private MyListbox listboxSelectedEsquemaCorrida; + + @Autowired + private RutaService rutaService; + private List lsRuta; + private List lsSelectedRuta; + private Combobox cmbRuta; + private MyListbox listboxSelectedRuta; + + public List getLsRuta() { + return lsRuta; + } + + public void setLsRuta(List lsRuta) { + this.lsRuta = lsRuta; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + + this.lsEmpresas = this.empresaService.obtenerTodos(); + this.lsOrgaoConcedente = this.orgaoConcedenteService.obtenerTodos(); + this.lsRuta = this.rutaService.buscarRutasPorEmpresas(UsuarioLogado.getUsuarioLogado().getEmpresa()); + this.lsEsquemaCorrida = this.esquemaCorridaService.obtenerTodos(); + + super.doAfterCompose(comp); + + listboxSelectedEsquemaCorrida.setItemRenderer(new RenderEsquemaCorrida()); + lsSelectedEsquemaCorrida = new ArrayList(); + listboxSelectedRuta.setItemRenderer(new RenderRuta()); + lsSelectedRuta = new ArrayList(); + + + } + + public OrgaoConcedenteService getOrgaoConcedenteService() { + return orgaoConcedenteService; + } + + public void setOrgaoConcedenteService(OrgaoConcedenteService orgaoConcedenteService) { + this.orgaoConcedenteService = orgaoConcedenteService; + } + + public Combobox getCmbOrgaoConcedente() { + return cmbOrgaoConcedente; + } + + public void setCmbOrgaoConcedente(Combobox cmbOrgaoConcedente) { + this.cmbOrgaoConcedente = cmbOrgaoConcedente; + } + + public List getLsOrgaoConcedente() { + return lsOrgaoConcedente; + } + + public void setLsOrgaoConcedente(List lsOrgaoConcedente) { + this.lsOrgaoConcedente = lsOrgaoConcedente; + } + + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + + public EmpresaService getEmpresaService() { + return empresaService; + } + + public void setEmpresaService(EmpresaService empresaService) { + this.empresaService = empresaService; + } + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public Empresa getEmpresa() { + return empresa; + } + + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; + } + + public Datebox getFecInicio() { + return fecInicio; + } + + public void setFecInicio(Datebox fecInicio) { + this.fecInicio = fecInicio; + } + + public Datebox getFecFinal() { + return fecFinal; + } + + public void setFecFinal(Datebox fecFinal) { + this.fecFinal = fecFinal; + } + + public OrgaoConcedente getOrgaoConcedente() { + return orgaoConcedente; + } + + public void setOrgaoConcedente(OrgaoConcedente orgaoConcedente) { + this.orgaoConcedente = orgaoConcedente; + } + + public List getLsEsquemaCorrida() { + return lsEsquemaCorrida; + } + + public void setLsEsquemaCorrida(List lsEsquemaCorrida) { + this.lsEsquemaCorrida = lsEsquemaCorrida; + } + + public List getLsSelectedEsquemaCorrida() { + return lsSelectedEsquemaCorrida; + } + + public void setLsSelectedEsquemaCorrida(List lsSelectedEsquemaCorrida) { + this.lsSelectedEsquemaCorrida = lsSelectedEsquemaCorrida; + } + + public EsquemaCorridaService getEsquemaCorridaService() { + return esquemaCorridaService; + } + + public void setEsquemaCorridaService(EsquemaCorridaService esquemaCorridaService) { + this.esquemaCorridaService = esquemaCorridaService; + } + + public Combobox getCmbEsquemaCorrida() { + return cmbEsquemaCorrida; + } + + public void setCmbEsquemaCorrida(Combobox cmbEsquemaCorrida) { + this.cmbEsquemaCorrida = cmbEsquemaCorrida; + } + + public void onClick$btnAddEsquemaCorrida(Event ev) throws InterruptedException { + if (cmbEsquemaCorrida.getSelectedItem() != null) { + lsSelectedEsquemaCorrida.add((EsquemaCorrida) cmbEsquemaCorrida.getSelectedItem().getValue()); + listboxSelectedEsquemaCorrida.setData(lsSelectedEsquemaCorrida); + cmbEsquemaCorrida.setSelectedItem(null); + } + } + + public void onClick$btnRemoveEsquemaCorrida(Event ev) throws InterruptedException { + if (listboxSelectedEsquemaCorrida.getSelectedItem() != null) { + EsquemaCorrida ec = (EsquemaCorrida)listboxSelectedEsquemaCorrida.getSelected(); + lsSelectedEsquemaCorrida.remove(ec); + listboxSelectedEsquemaCorrida.setData(lsSelectedEsquemaCorrida); + } + } + + public void onClick$btnAddRuta(Event ev) throws InterruptedException { + if (cmbRuta.getSelectedItem() != null) { + lsSelectedRuta.add((Ruta) cmbRuta.getSelectedItem().getValue()); + listboxSelectedRuta.setData(lsSelectedRuta); + cmbRuta.setSelectedItem(null); + } + } + + public void onClick$btnRemoveRuta(Event ev) throws InterruptedException { + if (listboxSelectedRuta.getSelectedItem() != null) { + Ruta ec = (Ruta)listboxSelectedRuta.getSelected(); + lsSelectedRuta.remove(ec); + listboxSelectedRuta.setData(lsSelectedRuta); + } + } + + public MyListbox getListboxSelectedEsquemaCorrida() { + return listboxSelectedEsquemaCorrida; + } + + public void setListboxSelectedEsquemaCorrida(MyListbox listboxSelectedEsquemaCorrida) { + this.listboxSelectedEsquemaCorrida = listboxSelectedEsquemaCorrida; + } + + public RutaService getRutaService() { + return rutaService; + } + + public void setRutaService(RutaService rutaService) { + this.rutaService = rutaService; + } + + public List getLsSelectedRuta() { + return lsSelectedRuta; + } + + public void setLsSelectedRuta(List lsSelectedRuta) { + this.lsSelectedRuta = lsSelectedRuta; + } + + public Combobox getCmbRuta() { + return cmbRuta; + } + + public void setCmbRuta(Combobox cmbRuta) { + this.cmbRuta = cmbRuta; + } + + public MyListbox getListboxSelectedRuta() { + return listboxSelectedRuta; + } + + public void setListboxSelectedRuta(MyListbox listboxSelectedRuta) { + this.listboxSelectedRuta = listboxSelectedRuta; + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + + Relatorio relatorio; + + Map parametros = new HashMap(); + + if (this.orgaoConcedente != null) { + parametros.put("ORGAOCONCEDENTE_ID", this.orgaoConcedente.getOrgaoConcedenteId()); + parametros.put("ORGAO_CONCEDENTE", this.orgaoConcedente.getDescOrgao()); + }else{ + parametros.put("ORGAO_CONCEDENTE", "TODOS"); + } + + if(this.empresa != null){ + parametros.put("EMPRESA", this.empresa.getNombempresa()); + parametros.put("MUNICIPIO", this.empresa.getCidade().getNombciudad()); + parametros.put("EMPRESA_ID", this.empresa.getEmpresaId()); + parametros.put("ENDERECO", this.empresa.getLogradouro() +this.empresa.getNumero());// +this.empresa.getComplemento()); + parametros.put("CNPJ", this.empresa.getCnpj()); + parametros.put("INSCRICAO", "descrição inscrição estadual"); + }else{ + parametros.put("EMPRESA", "TODAS"); + parametros.put("MUNICIPIO", ""); + parametros.put("ENDERECO",""); + parametros.put("CNPJ", ""); + parametros.put("INSCRICAO", ""); + } + Boolean isNull = fecInicio.getValue() == null || fecFinal.getValue() == null; + if(isNull){ + try { + Messagebox.show(Labels.getLabel("relatorioMovimentoPorOrgaoConcedente.MSG.informarPeriodoData"), + Labels.getLabel("relatorioMovimentoPorOrgaoConcedente.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + + if(this.lsSelectedRuta != null && !this.lsSelectedRuta.isEmpty()){ + parametros.put("LINHA_ID", obterRutaIds(this.lsSelectedRuta) ); + parametros.put("LINHA", this.lsSelectedRuta.toString());// "oi"); + }else{ + parametros.put("LINHA", "TODAS"); + } + + if(this.lsSelectedEsquemaCorrida != null && ! this.lsSelectedEsquemaCorrida.isEmpty()){ + parametros.put("SERVICO_ID", obterEsquemaCorrridaIds(this.lsSelectedEsquemaCorrida) ); + parametros.put("SERVICO", this.lsSelectedEsquemaCorrida); + }else{ + parametros.put("SERVICO", "TODOS"); + } + + + + String tipoServicioId = ""; + if (radTipoServicioTodos.isChecked()) { + tipoServicioId = "-1"; + }else if (radTipoServicioOrdinarios.isChecked()) { + tipoServicioId = "1"; + }else if(radTipoServicioExtraOrdinarios.isChecked()) { + tipoServicioId = "2"; + } + parametros.put("TIPOSERVICIO_ID", tipoServicioId); + + if(fecInicio.getValue() != null && fecFinal.getValue() != null ){ + Date dataInicial = fecInicio.getValue(); + Date dataFinal = fecFinal.getValue(); + if (dataInicial.after(dataFinal)) { + Messagebox.show(Labels.getLabel("relatorioMovimentoPorOrgaoConcedente.MSG.dataInicialMaiorFinal"), + Labels.getLabel("relatorioMovimentoPorOrgaoConcedente.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } +// parametros.put("FECCORRIDA", new java.sql.Date(((java.util.Date) this.fecCorrida.getValue()).getTime())); + parametros.put("DATA_DE", new java.sql.Date(((java.util.Date) fecInicio.getValue()).getTime())); + parametros.put("DATA_ATE", new java.sql.Date(((java.util.Date) fecFinal.getValue()).getTime())); + } + + parametros.put("ESQUEMACORRIDA_ID", obterEsquemaCorrridaIds(lsSelectedEsquemaCorrida) ); + + relatorio = new RelatorioMovimentoPorOrgaoConcedente(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioMovimentoPorOrgaoConcedente.window.title"), args, MODAL); + + } + + private String obterEsquemaCorrridaIds(List esquemaCorridas){ + String ids = ""; + for(int i = 0 ; i < esquemaCorridas.size() ; i ++){ + if(i == 0 ){ + ids = ids+esquemaCorridas.get(i).getNumCorrida(); + }else{ + ids = ids+","+esquemaCorridas.get(i).getNumCorrida(); + } + } + return ids; + } + + private String obterRutaIds(List rutas){ + String ids = ""; + for(int i = 0 ; i < rutas.size() ; i ++){ + if(i == 0 ){ + ids = ids+rutas.get(i).getRutaId(); + }else{ + ids = ids+","+rutas.get(i).getRutaId(); + } + } + return ids; + } + + public Radio getRadTipoServicioTodos() { + return radTipoServicioTodos; + } + + public void setRadTipoServicioTodos(Radio radTipoServicioTodos) { + this.radTipoServicioTodos = radTipoServicioTodos; + } + + public Radio getRadTipoServicioOrdinarios() { + return radTipoServicioOrdinarios; + } + + public void setRadTipoServicioOrdinarios(Radio radTipoServicioOrdinarios) { + this.radTipoServicioOrdinarios = radTipoServicioOrdinarios; + } + + public Radio getRadTipoServicioExtraOrdinarios() { + return radTipoServicioExtraOrdinarios; + } + + public void setRadTipoServicioExtraOrdinarios(Radio radTipoServicioExtraOrdinarios) { + this.radTipoServicioExtraOrdinarios = radTipoServicioExtraOrdinarios; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioMovimentoPorOrgaoConcedente.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioMovimentoPorOrgaoConcedente.java new file mode 100644 index 000000000..47dfa5c61 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioMovimentoPorOrgaoConcedente.java @@ -0,0 +1,25 @@ +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 ItemMenuRelatorioMovimentoPorOrgaoConcedente extends DefaultItemMenuSistema { + + public ItemMenuRelatorioMovimentoPorOrgaoConcedente() { + super("indexController.mniRelatorioMovimentoPorOrgaoConcedente.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.MOVIMENTOPORORGAOCONCEDENTE"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioMovimentoPorOrgaoConcedente.zul", + Labels.getLabel("relatorioMovimentoPorOrgaoConcedente.window.title"), 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 294a90ac7..cabf367d3 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 @@ -157,6 +157,7 @@ analitico.gerenciais.estatisticos.relatorioCorridas=com.rjconsultores.ventabolet analitico.gerenciais.estatisticos.gratuidades=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeANTT analitico.gerenciais.estatisticos.gratuidadesANTT=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidade analitico.gerenciais.estatisticos.gratuidadesIdosoDeficiente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioGratuidadeIdosoDeficiente +analitico.gerenciais.estatisticos.relatorioMovimentoPorOrgaoConcedente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioMovimentoPorOrgaoConcedente analitico.gerenciais.estatisticos.checkin=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioCheckin analitico.gerenciais.estatisticos.relatorioBaixasVendasInternet=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioBaixasVendasInternet analitico.gerenciais.financeiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.financeiro.SubMenuRelatorioFinanceiro diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEsquemaCorrida.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEsquemaCorrida.java new file mode 100644 index 000000000..eab6979f9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEsquemaCorrida.java @@ -0,0 +1,26 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; + +public class RenderEsquemaCorrida implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + EsquemaCorrida esquemaCorrida = (EsquemaCorrida) o; + + Listcell lc = new Listcell(esquemaCorrida.getNumCorrida().toString()); + lc.setParent(lstm); + + lc = new Listcell(esquemaCorrida.getRuta().getNumRuta()); + lc.setParent(lstm); + + lc = new Listcell(esquemaCorrida.getRuta().getDescruta()); + lc.setParent(lstm); + + lstm.setAttribute("data", esquemaCorrida); + } + +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRuta.java new file mode 100644 index 000000000..e27d3b1b0 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRuta.java @@ -0,0 +1,29 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.Ruta; + +public class RenderRuta implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + Ruta ruta = (Ruta) o; + + Listcell lc = new Listcell(ruta.getNumRuta().toString()); + lc.setParent(lstm); + + lc = new Listcell(ruta.getPrefixo()); + lc.setParent(lstm); + + lc = new Listcell(ruta.getDescruta()); + lc.setParent(lstm); + + lc = new Listcell(ruta.getOrgaoConcedente().getDescOrgao()); + lc.setParent(lstm); + + lstm.setAttribute("data", ruta); + } + +} \ 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 b973b2da4..0ba517126 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -7257,6 +7257,52 @@ relatorioRemessaCNAB.lbDataEmissao.value = Dt. Emissão relatorioRemessaCNAB.lbValor.value = Valor relatorioRemessaCNAB.lbRemessa.value = Enviado +# Relatório Movimento Por Orgao Concedente +indexController.mniRelatorioMovimentoPorOrgaoConcedente.label = Movimento Por Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.window.title = Movimento Por Órgao Concedente +relatorioMovimentoPorOrgaoConcedente.lbEmpresa.value =Empresa +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConc.value=Orgão Conc. +relatorioMovimentoPorOrgaoConcedente.labelTiposServicios.value=Tipos de Serviços +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioOrdinarios.value=Ordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioExtraOrdinarios.value=Extraordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioTodos.value=Todos +relatorioMovimentoPorOrgaoConcedente.labelDataInicial.value=Data inicial +relatorioMovimentoPorOrgaoConcedente.labelDataFinal.value=Data Final +relatorioMovimentoPorOrgaoConcedente.labelServico.value=Serviço +relatorioMovimentoPorOrgaoConcedente.labelCodLinha.value=Cód Linha +relatorioMovimentoPorOrgaoConcedente.labelOrigemXdestino.value=Origem x Destino +relatorioMovimentoPorOrgaoConcedente.labelRuta.value=Linha +relatorioMovimentoPorOrgaoConcedente.labelNumRuta.value=Num. Linha +relatorioMovimentoPorOrgaoConcedente.labelPrefixoRuta.value=Prefixo +relatorioMovimentoPorOrgaoConcedente.labeldescruta.value=Descrição +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConcedente.value=Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.MSG.dataInicialMaiorFinal=Data inicial maior que final +relatorioMovimentoPorOrgaoConcedente.MSG.informarPeriodoData=Favor informar o período a ser consultado + +# Relatório Movimento Por Orgao Concedente +indexController.mniRelatorioMovimentoPorOrgaoConcedente.label = Movimento Por Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.window.title = Movimento Por Órgao Concedente +relatorioMovimentoPorOrgaoConcedente.lbEmpresa.value =Empresa +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConc.value=Orgão Conc. +relatorioMovimentoPorOrgaoConcedente.labelTiposServicios.value=Tipos de Serviços +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioOrdinarios.value=Ordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioExtraOrdinarios.value=Extraordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioTodos.value=Todos +relatorioMovimentoPorOrgaoConcedente.labelDataInicial.value=Data inicial +relatorioMovimentoPorOrgaoConcedente.labelDataFinal.value=Data Final +relatorioMovimentoPorOrgaoConcedente.labelServico.value=Serviço +relatorioMovimentoPorOrgaoConcedente.labelCodLinha.value=Cód Linha +relatorioMovimentoPorOrgaoConcedente.labelOrigemXdestino.value=Origem x Destino +relatorioMovimentoPorOrgaoConcedente.labelRuta.value=Linha +relatorioMovimentoPorOrgaoConcedente.labelNumRuta.value=Num. Linha +relatorioMovimentoPorOrgaoConcedente.labelPrefixoRuta.value=Prefixo +relatorioMovimentoPorOrgaoConcedente.labeldescruta.value=Descrição +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConcedente.value=Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.MSG.dataInicialMaiorFinal=Data inicial maior que final +relatorioMovimentoPorOrgaoConcedente.MSG.informarPeriodoData=Favor informar o período a ser consultado + + + # Relatório Vendas com Parcelamento relatorioVendasParcelamentoController.window.title = Ventas con Parcelamiento relatorioVendasParcelamentoController.lbDataFin.value = Fecha Final diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 3cb7991eb..1d4026e59 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -7743,6 +7743,50 @@ relatorioRemessaCNAB.lbDataEmissao.value = Dt. Emissão relatorioRemessaCNAB.lbValor.value = Valor relatorioRemessaCNAB.lbRemessa.value = Enviado +# Relatório Movimento Por Orgao Concedente +indexController.mniRelatorioMovimentoPorOrgaoConcedente.label = Movimento Por Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.window.title = Movimento Por Órgao Concedente +relatorioMovimentoPorOrgaoConcedente.lbEmpresa.value =Empresa +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConc.value=Orgão Conc. +relatorioMovimentoPorOrgaoConcedente.labelTiposServicios.value=Tipos de Serviços +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioOrdinarios.value=Ordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioExtraOrdinarios.value=Extraordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioTodos.value=Todos +relatorioMovimentoPorOrgaoConcedente.labelDataInicial.value=Data inicial +relatorioMovimentoPorOrgaoConcedente.labelDataFinal.value=Data Final +relatorioMovimentoPorOrgaoConcedente.labelServico.value=Serviço +relatorioMovimentoPorOrgaoConcedente.labelCodLinha.value=Cód Linha +relatorioMovimentoPorOrgaoConcedente.labelOrigemXdestino.value=Origem x Destino +relatorioMovimentoPorOrgaoConcedente.labelRuta.value=Linha +relatorioMovimentoPorOrgaoConcedente.labelNumRuta.value=Num. Linha +relatorioMovimentoPorOrgaoConcedente.labelPrefixoRuta.value=Prefixo +relatorioMovimentoPorOrgaoConcedente.labeldescruta.value=Descrição +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConcedente.value=Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.MSG.dataInicialMaiorFinal=Data inicial maior que final +relatorioMovimentoPorOrgaoConcedente.MSG.informarPeriodoData=Favor informar o período a ser consultado + +# Relatório Movimento Por Orgao Concedente +indexController.mniRelatorioMovimentoPorOrgaoConcedente.label = Movimento Por Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.window.title = Movimento Por Órgao Concedente +relatorioMovimentoPorOrgaoConcedente.lbEmpresa.value =Empresa +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConc.value=Orgão Conc. +relatorioMovimentoPorOrgaoConcedente.labelTiposServicios.value=Tipos de Serviços +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioOrdinarios.value=Ordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioExtraOrdinarios.value=Extraordinários +relatorioMovimentoPorOrgaoConcedente.labelTipoServicioTodos.value=Todos +relatorioMovimentoPorOrgaoConcedente.labelDataInicial.value=Data inicial +relatorioMovimentoPorOrgaoConcedente.labelDataFinal.value=Data Final +relatorioMovimentoPorOrgaoConcedente.labelServico.value=Serviço +relatorioMovimentoPorOrgaoConcedente.labelCodLinha.value=Cód Linha +relatorioMovimentoPorOrgaoConcedente.labelOrigemXdestino.value=Origem x Destino +relatorioMovimentoPorOrgaoConcedente.labelRuta.value=Linha +relatorioMovimentoPorOrgaoConcedente.labelNumRuta.value=Num. Linha +relatorioMovimentoPorOrgaoConcedente.labelPrefixoRuta.value=Prefixo +relatorioMovimentoPorOrgaoConcedente.labeldescruta.value=Descrição +relatorioMovimentoPorOrgaoConcedente.labelOrgaoConcedente.value=Órgão Concedente +relatorioMovimentoPorOrgaoConcedente.MSG.dataInicialMaiorFinal=Data inicial maior que final +relatorioMovimentoPorOrgaoConcedente.MSG.informarPeriodoData=Favor informar o período a ser consultado + # Relatório Vendas com Parcelamento relatorioVendasParcelamentoController.window.title = Vendas com Parcelamento diff --git a/web/gui/relatorios/filtroRelatorioMovimentoPorOrgaoConcedente.zul b/web/gui/relatorios/filtroRelatorioMovimentoPorOrgaoConcedente.zul new file mode 100644 index 000000000..4c8914ac4 --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioMovimentoPorOrgaoConcedente.zul @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +