From dd4dfad471e8b6880c096956e44777ce899b2576 Mon Sep 17 00:00:00 2001 From: wilian Date: Tue, 23 Feb 2016 19:34:59 +0000 Subject: [PATCH] fixes bug #7153 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@53190 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../impl/RelatorioDevolucaoBilhetes.java | 28 +- .../impl/RelatorioHistoricoComissaoGeral.java | 29 ++ ...latorioObservacaoConferenciaMovimento.java | 148 ++++++ .../RelatorioDevolucaoBilhetes_es.properties | 17 + ...elatorioDevolucaoBilhetes_pt_BR.properties | 17 + ...atorioHistoricoComissaoGeral_es.properties | 44 ++ ...rioHistoricoComissaoGeral_pt_BR.properties | 44 ++ .../RelatorioHistoricoComissao_es.properties | 45 ++ ...elatorioHistoricoComissao_pt_BR.properties | 45 ++ ...servacaoConferenciaMovimento_es.properties | 28 ++ ...vacaoConferenciaMovimento_pt_BR.properties | 28 ++ .../RelatorioDevolucaoBilhetes.jasper | Bin 50096 -> 51715 bytes .../RelatorioDevolucaoBilhetes.jrxml | 78 +-- .../RelatorioHistoricoComissao.jasper | Bin 43673 -> 47799 bytes .../RelatorioHistoricoComissao.jrxml | 349 ++++++------- .../RelatorioHistoricoComissaoGeral.jasper | Bin 0 -> 48603 bytes .../RelatorioHistoricoComissaoGeral.jrxml | 467 ++++++++++++++++++ ...torioObservacaoConferenciaMovimento.jasper | Bin 0 -> 38566 bytes ...atorioObservacaoConferenciaMovimento.jrxml | 280 +++++++++++ .../BusquedaHistoricoComissaoController.java | 12 +- ...ervacaoConferenciaMovimentoController.java | 94 ++++ ...latorioObservacaoConferenciaMovimento.java | 25 + web/WEB-INF/i3-label_es_MX.label | 12 +- web/WEB-INF/i3-label_pt_BR.label | 11 +- .../comissao/busquedaHistoricoComissao.zul | 13 +- ...elatorioObservacaoConferenciaMovimento.zul | 77 +++ 26 files changed, 1652 insertions(+), 239 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoComissaoGeral.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioObservacaoConferenciaMovimento.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioHistoricoComissaoGeral.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioHistoricoComissaoGeral.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioObservacaoConferenciaMovimento.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioObservacaoConferenciaMovimento.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioObservacaoConferenciaMovimentoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioObservacaoConferenciaMovimento.java create mode 100644 web/gui/relatorios/filtroRelatorioObservacaoConferenciaMovimento.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java index e6d743e00..7a2384cf1 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioDevolucaoBilhetes.java @@ -8,16 +8,21 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import org.apache.log4j.Logger; + import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DevolucaoBilhetes; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; public class RelatorioDevolucaoBilhetes extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioDevolucaoBilhetes.class); public RelatorioDevolucaoBilhetes(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -53,12 +58,13 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { } String sql = getSql(empresaId, puntoVentas, estados); + log.debug(sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); ResultSet rset = null; - stmt.setTimestamp("DATA_INICIO", (Timestamp) parametros.get("DATA_INICIO")); - stmt.setTimestamp("DATA_FINAL", (Timestamp) parametros.get("DATA_FINAL")); + stmt.setString("DATA_INICIO", DateUtil.getStringDate(((Timestamp) parametros.get("DATA_INICIO")), "dd/MM/yyyy HH:mm:ss")); + stmt.setString("DATA_FINAL", DateUtil.getStringDate(((Timestamp) parametros.get("DATA_FINAL")), "dd/MM/yyyy HH:mm:ss")); rset = stmt.executeQuery(); @@ -115,9 +121,9 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { private String getSql(Integer empresaId, String puntoVentas, String estados) { StringBuilder sql = new StringBuilder(); - sql.append("SELECT AIDF.ACFISCAL AS AIDF, "); - sql.append(" COALESCE(CAJ.NUMFOLIOSISTEMA, NUMOPERACION) AS NUMFOLIOSISTEMA, "); - sql.append(" CAJ.NUMSERIEPREIMPRESA AS SERIE_SUBSERIE, "); + sql.append("SELECT COALESCE(AIDF.ACFISCAL,SUBSTR(ML2.NUMSERIE20, -6, 7)) AS AIDF, "); + sql.append(" COALESCE(CAJ.NUMFOLIOSISTEMA, CAJ.NUMOPERACION) AS NUMFOLIOSISTEMA, "); + sql.append(" CASE WHEN ML2.NUMSERIE20 IS NULL THEN CAJ.NUMSERIEPREIMPRESA ELSE NULL END AS SERIE_SUBSERIE, "); sql.append(" CAJ.NUMFOLIOPREIMPRESO AS FOLIO, "); sql.append(" CAJ.PRECIOPAGADO AS PRECIOPAGADO, "); sql.append(" CAJ.PRECIOBASE AS PRECIOBASE, "); @@ -139,19 +145,23 @@ public class RelatorioDevolucaoBilhetes extends Relatorio { sql.append("INNER JOIN CIUDAD CO ON (CO.CIUDAD_ID = ORIGEM.CIUDAD_ID ) "); sql.append("INNER JOIN CIUDAD CD ON (CD.CIUDAD_ID = DESTINO.CIUDAD_ID ) "); sql.append("INNER JOIN ESTADO EST ON EST.ESTADO_ID = CO.ESTADO_ID "); + sql.append("LEFT JOIN BOLETO B ON (B.NUMASIENTO = CAJ.NUMASIENTO "); + sql.append(" AND B.FECCORRIDA = CAJ.FECCORRIDA "); + sql.append(" AND B.CORRIDA_ID = CAJ.CORRIDA_ID) "); + sql.append("LEFT JOIN FISCAL_ML2 ML2 ON ML2.BOLETO_ID = B.BOLETO_ID "); sql.append("LEFT JOIN EMPRESA_IMPOSTO EI ON EST.ESTADO_ID = EI.ESTADO_ID AND EI.EMPRESA_ID = CAJ.MARCA_ID "); sql.append("LEFT JOIN AIDF AIDF ON ((AIDF.SERIE = CAJ.NUMSERIEPREIMPRESA OR "); sql.append(" AIDF.SERIE = SUBSTR(CAJ.NUMSERIEPREIMPRESA,1,INSTR(CAJ.NUMSERIEPREIMPRESA,'-',1)-1)) "); sql.append(" AND (CAJ.NUMFOLIOPREIMPRESO BETWEEN AIDF.FORMINICIAL AND AIDF.FORMFINAL)) "); sql.append("WHERE CAJ.MOTIVOCANCELACION_ID IN (32) "); - sql.append("AND CAJ.FECHORVENTA BETWEEN :DATA_INICIO AND :DATA_FINAL "); + sql.append("AND CAJ.FECHORVENTA BETWEEN TO_DATE(:DATA_INICIO,'DD/MM/YYYY HH24:MI:SS') AND TO_DATE(:DATA_FINAL,'DD/MM/YYYY HH24:MI:SS') "); sql.append("AND CAJ.CATEGORIA_ID NOT IN (SELECT VALORCONSTANTE FROM CONSTANTE WHERE NOMBCONSTANTE = 'GRATUIDADE_CRIANCA') "); sql.append(estados == null ? "" : "AND EST.ESTADO_ID IN (" + estados + ") "); sql.append(puntoVentas == null ? "" : "AND PTV.PUNTOVENTA_ID IN (" + puntoVentas + ") "); sql.append(empresaId == null ? "" : "AND CAJ.MARCA_ID IN (" + empresaId + ") "); - sql.append("GROUP BY AIDF.ACFISCAL, "); - sql.append(" COALESCE(CAJ.NUMFOLIOSISTEMA, NUMOPERACION), "); - sql.append(" CAJ.NUMSERIEPREIMPRESA, "); + sql.append("GROUP BY COALESCE(AIDF.ACFISCAL,SUBSTR(ML2.NUMSERIE20, -6, 7)), "); + sql.append(" COALESCE(CAJ.NUMFOLIOSISTEMA, CAJ.NUMOPERACION), "); + sql.append(" CASE WHEN ML2.NUMSERIE20 IS NULL THEN CAJ.NUMSERIEPREIMPRESA ELSE NULL END, "); sql.append(" CAJ.NUMFOLIOPREIMPRESO, "); sql.append(" CAJ.PRECIOPAGADO, "); sql.append(" CAJ.PRECIOBASE, "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoComissaoGeral.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoComissaoGeral.java new file mode 100644 index 000000000..8f45e70f6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioHistoricoComissaoGeral.java @@ -0,0 +1,29 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.util.List; +import java.util.Map; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioHistoricoComissaoGeral extends Relatorio { + + public RelatorioHistoricoComissaoGeral(Map parametros, Connection conexao) { + super(parametros, conexao); + + List historico = (List) parametros.get("historico"); + setLsDadosRelatorio(historico); + } + + public void setLsDadosRelatorio(List historico) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(historico)); + } + + @Override + protected void processaParametros() throws Exception { + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioObservacaoConferenciaMovimento.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioObservacaoConferenciaMovimento.java new file mode 100644 index 000000000..21261d76c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioObservacaoConferenciaMovimento.java @@ -0,0 +1,148 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import org.apache.log4j.Logger; + +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.vo.comissao.LogConferenciaVO; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioObservacaoConferenciaMovimento extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioObservacaoConferenciaMovimento.class); + private Integer empresaId; + private Integer puntoventaId; + private Date dataInicial; + private Date dataFinal; + + public RelatorioObservacaoConferenciaMovimento(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + Connection conexao = this.relatorio.getConexao(); + definirFiltros(this.relatorio.getParametros()); + List lsDadosRelatorio = processarRelatorio(conexao); + setLsDadosRelatorio(lsDadosRelatorio); + } + }); + } + + private List processarRelatorio(Connection conexao) throws ParseException { + List lsDadosRelatorio = new ArrayList(); + ResultSet rset = null; + NamedParameterStatement stmt = null; + try { + StringBuilder sQuery = new StringBuilder(); + sQuery.append("SELECT PV.NOMBPUNTOVENTA, C.DATAMOVIMENTO, LOG.STATUS, LOG.OBSERVACAO, B.NUMFOLIOSISTEMA, CAT.DESCCATEGORIA, LOG.PRECO, LOG.FECMODIF, LOG.INDCREDITO, B.TIPOVENTA_ID, U.NOMBUSUARIO, LOG.TIPO, EE.DESCINFO, TEE.DESCTIPOEVENTO ") + .append("FROM LOG_CONFERENCIA LOG ") + .append("INNER JOIN CONFERENCIA C ON C.CONFERENCIA_ID = LOG.CONFERENCIA_ID ") + .append("INNER JOIN EMPRESA E ON E.EMPRESA_ID = C.EMPRESA_ID ") + .append("INNER JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = C.PUNTOVENTA_ID ") + .append("INNER JOIN USUARIO U ON U.USUARIO_ID = LOG.USUARIO_ID ") + .append("LEFT JOIN BOLETO B ON B.BOLETO_ID = LOG.BOLETO_ID ") + .append("LEFT JOIN CATEGORIA CAT ON CAT.CATEGORIA_ID = B.CATEGORIA_ID ") + .append("LEFT JOIN EVENTO_EXTRA EE ON EE.EVENTOEXTRA_ID = LOG.EVENTOEXTRA_ID ") + .append("LEFT JOIN TIPO_EVENTO_EXTRA TEE ON TEE.TIPOEVENTOEXTRA_ID = EE.TIPOEVENTOEXTRA_ID ") + .append("WHERE LOG.ACTIVO = 1 ") + .append("AND C.DATAMOVIMENTO BETWEEN :dataInicial AND :dataFinal "); + + if(empresaId != null) { + sQuery.append("AND C.EMPRESA_ID = :empresaId "); + } + + if(puntoventaId != null) { + sQuery.append("AND PV.PUNTOVENTA_ID = :puntoventaId "); + } + + sQuery.append("ORDER BY C.DATAMOVIMENTO"); + + log.info(sQuery.toString()); + + stmt = new NamedParameterStatement(conexao, sQuery.toString()); + if(empresaId != null) { + stmt.setInt("empresaId", empresaId); + } + + if(puntoventaId != null) { + stmt.setInt("puntoventaId", puntoventaId); + } + stmt.setDate("dataInicial", new java.sql.Date(dataInicial.getTime())); + stmt.setDate("dataFinal", new java.sql.Date(dataFinal.getTime())); + + rset = stmt.executeQuery(); + + while (rset.next()) { + LogConferenciaVO logConferencia = new LogConferenciaVO(); + logConferencia.setDatamovimento(rset.getDate("datamovimento")); + logConferencia.setNombpuntoventa(rset.getString("nombpuntoventa")); + logConferencia.setStatus(rset.getInt("status")); + logConferencia.setNumfoliosistema(rset.getString("numfoliosistema")); + logConferencia.setTipoventa(rset.getInt("tipoventa_id")); + logConferencia.setObservacao(rset.getString("observacao")); + logConferencia.setDesccategoria(rset.getString("desccategoria")); + logConferencia.setFecmodif(rset.getDate("fecmodif")); + logConferencia.setIndcredito(rset.getBoolean("indcredito")); + logConferencia.setNombusuario(rset.getString("nombusuario")); + logConferencia.setPreco(rset.getBigDecimal("preco")); + logConferencia.setTipo(rset.getInt("tipo")); + logConferencia.setDescinfoevento(rset.getString("descinfo")); + logConferencia.setDesctipoevento(rset.getString("desctipoevento")); + + lsDadosRelatorio.add(logConferencia); + } + + return lsDadosRelatorio; + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + try { + if(rset != null) { + rset.close(); + } + if(stmt != null) { + stmt.close(); + } + } catch (SQLException e) { + log.error(e.getMessage(), e); + } + } + return null; + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + } + + @Override + protected void processaParametros() throws Exception { + } + + private void definirFiltros(Map parametros) throws ParseException { + Integer puntoventaId = (Integer) parametros.get("puntoventaId"); + Integer empresaId = (Integer) parametros.get("empresaId"); + this.dataInicial = (Date) parametros.get("dataFiltroInicial"); + this.dataFinal = (Date) parametros.get("dataFiltroFinal"); + + if(empresaId != null) { + this.empresaId = empresaId; + } + if(puntoventaId != null) { + this.puntoventaId = puntoventaId; + } + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties new file mode 100644 index 000000000..f263d0b68 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_es.properties @@ -0,0 +1,17 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#labels +label.periodo=Período: +label.ate=até +label.filtros=Fitros: +label.aidf=AIDF(Bilhetes Manuais) +label.serieSubs=Série/Subs.(ECF) +label.numero=Número +label.vrContabil=Vr. Contábil +label.baseCalc=Base Calc. +label.aliquota=Alíquota +label.icms=ICMS +label.pagina=Página: +label.total=Total +label.qtdeBilhetes=Quantidade de Bilhetes: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties new file mode 100644 index 000000000..f263d0b68 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioDevolucaoBilhetes_pt_BR.properties @@ -0,0 +1,17 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#labels +label.periodo=Período: +label.ate=até +label.filtros=Fitros: +label.aidf=AIDF(Bilhetes Manuais) +label.serieSubs=Série/Subs.(ECF) +label.numero=Número +label.vrContabil=Vr. Contábil +label.baseCalc=Base Calc. +label.aliquota=Alíquota +label.icms=ICMS +label.pagina=Página: +label.total=Total +label.qtdeBilhetes=Quantidade de Bilhetes: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_es.properties new file mode 100644 index 000000000..9d65319ab --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_es.properties @@ -0,0 +1,44 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Histórico Comissão Geral +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.usuario=Usuário: +cabecalho.puntoventa=Punto Venta: +cabecalho.empresa=Empresa: +cabecalho.comissoes=Comissões +label.nombpuntoventa=Punto Venta +label.numpuntoventa=Número +label.usuario=Usuário +label.datamovimento=Data Mov. +label.statusDescricao=Situação +label.numfoliosistema=Nº Bilhete +label.desccategoria=Categoria +label.observacao=Observação +label.preco=Valor +label.debitoCredito=D/C +label.fecmodif=Dt. Alt. +label.tipoventa=Tipo Venta +label.tipo=Tipo +label.competencia=Comp. +label.status=Status +label.bpr=BPR +label.excBag=Exc Bag +label.segOpc=Seg Opc +label.outros=Outros +label.descEv=Desc Ev +label.descFixo=Desc Fixo +label.royaties=Royaties +label.issRetido=Iss Retido +label.metasBon=Metas/Bon +label.entPas=Ent Pas +label.usuarioPagamento=Usuario Pagamento +label.usuarioLancamento=Usuario Lançamento \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_pt_BR.properties new file mode 100644 index 000000000..793511c17 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissaoGeral_pt_BR.properties @@ -0,0 +1,44 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Histórico Comissão Geral +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.usuario=Usuário: +cabecalho.puntoventa=Punto Venta: +cabecalho.empresa=Empresa: +cabecalho.comissoes=Comissões +label.nombpuntoventa=Ponto Venta +label.numpuntoventa=Número +label.usuario=Usuário +label.datamovimento=Data Mov. +label.statusDescricao=Situação +label.numfoliosistema=Nº Bilhete +label.desccategoria=Categoria +label.observacao=Observação +label.preco=Valor +label.debitoCredito=D/C +label.fecmodif=Dt. Alt. +label.tipoventa=Tipo Venta +label.tipo=Tipo +label.competencia=Comp. +label.status=Status +label.bpr=BPR +label.excBag=Exc Bag +label.segOpc=Seg Opc +label.outros=Outros +label.descEv=Desc Ev +label.descFixo=Desc Fixo +label.royaties=Royaties +label.issRetido=Iss Retido +label.metasBon=Metas/Bon +label.entPas=Ent Pas +label.usuarioPagamento=Usuario Pagamento +label.usuarioLancamento=Usuario Lançamento \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_es.properties new file mode 100644 index 000000000..d4f77ab6e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_es.properties @@ -0,0 +1,45 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Histórico Comissão +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.usuario=Usuário: +cabecalho.puntoventa=Punto Venta: +cabecalho.empresa=Empresa: +cabecalho.comissoes=Comissões +label.nombpuntoventa=Ponto Venta +label.numpuntoventa=Número +label.usuario=Usuário +label.datamovimento=Data Mov. +label.statusDescricao=Situação +label.numfoliosistema=Nº Bilhete +label.desccategoria=Categoria +label.observacao=Observação +label.preco=Valor +label.debitoCredito=D/C +label.fecmodif=Dt. Alt. +label.tipoventa=Tipo Venta +label.tipo=Tipo +label.competencia=Competência +label.status=Status +label.bpr=BPR +label.excBag=Exc Bag +label.segOpc=Seg Opc +label.outros=Outros +label.descEv=Desc Ev +label.descFixo=Desc Fixo +label.royaties=Royaties +label.issRetido=Iss Retido +label.metasBon=Metas/Bon +label.entPas=Ent Pas +label.usuarioPagamento=Usuario Pagamento +label.usuarioLancamento=Usuario Lançamento +label.data=Data \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_pt_BR.properties new file mode 100644 index 000000000..d4f77ab6e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioHistoricoComissao_pt_BR.properties @@ -0,0 +1,45 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Histórico Comissão +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.usuario=Usuário: +cabecalho.puntoventa=Punto Venta: +cabecalho.empresa=Empresa: +cabecalho.comissoes=Comissões +label.nombpuntoventa=Ponto Venta +label.numpuntoventa=Número +label.usuario=Usuário +label.datamovimento=Data Mov. +label.statusDescricao=Situação +label.numfoliosistema=Nº Bilhete +label.desccategoria=Categoria +label.observacao=Observação +label.preco=Valor +label.debitoCredito=D/C +label.fecmodif=Dt. Alt. +label.tipoventa=Tipo Venta +label.tipo=Tipo +label.competencia=Competência +label.status=Status +label.bpr=BPR +label.excBag=Exc Bag +label.segOpc=Seg Opc +label.outros=Outros +label.descEv=Desc Ev +label.descFixo=Desc Fixo +label.royaties=Royaties +label.issRetido=Iss Retido +label.metasBon=Metas/Bon +label.entPas=Ent Pas +label.usuarioPagamento=Usuario Pagamento +label.usuarioLancamento=Usuario Lançamento +label.data=Data \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_es.properties new file mode 100644 index 000000000..d1c431f63 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_es.properties @@ -0,0 +1,28 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Reporte Observaciones Conferencia Movimientos +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.usuario=Usuário: +cabecalho.puntoventa=Punto Venta: +cabecalho.empresa=Empresa: +label.puntoventa=Punto Venta +label.usuario=Usuário +label.datamovimento=Data Mov. +label.statusDescricao=Situação +label.numfoliosistema=Nº Bilhete +label.desccategoria=Categoria +label.observacao=Observação +label.preco=Valor +label.debitoCredito=D/C +label.fecmodif=Dt. Alt. +label.tipoventa=Tipo Venta +label.tipo=Tipo \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_pt_BR.properties new file mode 100644 index 000000000..41aaf2939 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioObservacaoConferenciaMovimento_pt_BR.properties @@ -0,0 +1,28 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +cabecalho.nome=Relatório Observações Conferência Movimentos +cabecalho.relatorio=Relatório: +cabecalho.periodo=Período: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +cabecalho.usuario=Usuário: +cabecalho.puntoventa=Punto Venta: +cabecalho.empresa=Empresa: +label.puntoventa=Punto Venta +label.usuario=Usuário +label.datamovimento=Data Mov. +label.statusDescricao=Situação +label.numfoliosistema=Nº Bilhete +label.desccategoria=Categoria +label.observacao=Observação +label.preco=Valor +label.debitoCredito=D/C +label.fecmodif=Dt. Alt. +label.tipoventa=Tipo Venta +label.tipo=Tipo \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioDevolucaoBilhetes.jasper index f1a1e3bc3e291ef0d8b6e1a3b08cc70d011c8a28..e1ed396253c0a4fb050aaf46c5067f9903a90a1c 100644 GIT binary patch literal 51715 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 R^?C=XW@GbcojME^`+qqXCo%v4 literal 50096 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 qXTFnwxw#cRS&LzR+ - +