From 4357676bc18e3657d711f47c0aeacd07e689340a Mon Sep 17 00:00:00 2001 From: fabio Date: Thu, 28 Jul 2022 13:15:39 +0000 Subject: [PATCH] fixes bug#24733 dev: Wallace qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@113560 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioBoletos.java | 207 ++++++++++ .../RelatorioBoletos_es.properties | 31 ++ .../RelatorioBoletos_pt_BR.properties | 25 ++ .../templates/RelatorioBPeSubstituido.jrxml | 2 +- .../templates/RelatorioBoletos.jasper | Bin 0 -> 36908 bytes .../templates/RelatorioBoletos.jrxml | 368 ++++++++++++++++++ .../utilitarios/RelatorioBoletoBean.java | 140 +++++++ .../RelatorioBoletosController.java | 132 +++++++ .../ventaboletos/web/utilerias/MyAppInit.java | 12 +- .../ItemMenuRelatorioBoletos.java | 24 ++ .../ItemMenuRelatorioDepositos.java | 2 +- .../contacorrente/SubMenuContaCorrente.java | 16 + .../utilerias/menu/menu_original.properties | 2 + web/WEB-INF/i3-label_en.label | 19 +- web/WEB-INF/i3-label_es_MX.label | 17 +- web/WEB-INF/i3-label_pt_BR.label | 16 +- web/gui/relatorios/filtroRelatorioBoletos.zul | 64 +++ 17 files changed, 1060 insertions(+), 17 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBoletos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBoletoBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/contacorrente/RelatorioBoletosController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioBoletos.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/SubMenuContaCorrente.java create mode 100644 web/gui/relatorios/filtroRelatorioBoletos.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBoletos.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBoletos.java new file mode 100644 index 000000000..ab6dca64a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBoletos.java @@ -0,0 +1,207 @@ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +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.relatorios.utilitarios.RelatorioBoletoBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + +public class RelatorioBoletos extends Relatorio { + + private static Logger log = Logger.getLogger(RelatorioBoletos.class); + + private List lsDadosRelatorio; + + public RelatorioBoletos(Map parametros, Connection conexao, final String... nomeSubReporte) { + super(parametros, conexao); + + try { + this.setCustomDataSource(new DataSource(this) { + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + + Integer puntoventaId = parametros.get("puntoventaId") != null ? Integer.parseInt(parametros.get("puntoventaId").toString()) : null; + Integer empresaId = parametros.get("empresaId") != null ? Integer.parseInt(parametros.get("empresaId").toString()) : null; + Boolean filtrarPendentes = parametros.get("filtrarPendentes") != null ? Boolean.parseBoolean(parametros.get("filtrarPendentes").toString()) : false; + String fecInicio = parametros.get("fecInicio") != null ? parametros.get("fecInicio").toString() + " 00:00:00" :null; + String fecFinal = parametros.get("fecFinal") != null ? parametros.get("fecFinal").toString() + " 23:59:59" :null; + String baixaInicial = parametros.get("baixaInicial") != null ? parametros.get("baixaInicial").toString() + " 00:00:00" :null; + String baixaFinal = parametros.get("baixaFinal") != null ? parametros.get("baixaFinal").toString() + " 23:59:59" :null; + + String sql = getSQL(puntoventaId, empresaId, filtrarPendentes, fecInicio, fecFinal, baixaInicial, baixaFinal); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); + if(fecInicio != null && fecFinal != null) { + stmt.setTimestamp("fecInicio", DateUtil.getTimestampFromString(fecInicio, DateUtil.ddMMaaHH24mmss)); + stmt.setTimestamp("fecFinal", DateUtil.getTimestampFromString(fecFinal, DateUtil.ddMMaaHH24mmss)); + } + + if(baixaInicial != null && baixaFinal != null) { + stmt.setTimestamp("baixaInicial", DateUtil.getTimestampFromString(baixaInicial, DateUtil.ddMMaaHH24mmss)); + stmt.setTimestamp("baixaFinal", DateUtil.getTimestampFromString(baixaFinal, DateUtil.ddMMaaHH24mmss)); + } + + if(puntoventaId != null) { + stmt.setInt("puntoventaId", puntoventaId); + } + + if(empresaId != null) { + stmt.setInt("empresaId", empresaId); + } + + ResultSet rs = stmt.executeQuery(); + rs.setFetchSize(500); + + lsDadosRelatorio = new ArrayList(); + + while (rs.next()) { + RelatorioBoletoBean boleto = new RelatorioBoletoBean(); + boleto.setNombempresa(rs.getString("nombempresa")); + boleto.setNombpuntoventa(rs.getString("nombpuntoventa")); + boleto.setNumpuntoventa(rs.getString("numpuntoventa")); + boleto.setDtfechamento(rs.getDate("dtfechamento")); + boleto.setDtvencimento(rs.getDate("dtvencimento")); + boleto.setDtbaixa(rs.getDate("dtbaixa")); + boleto.setVrfechamento(rs.getBigDecimal("vrfechamento")); + boleto.setVrboleto(rs.getBigDecimal("vrboleto")); + boleto.setVrjuros(rs.getBigDecimal("vrjuros")); + boleto.setNossonumero(rs.getString("nossonumero")); + boleto.setQuitado(rs.getBoolean("quitado")); + + if(boleto.isQuitado()) { + boleto.setVrpendente(BigDecimal.ZERO); + }else { + boleto.setVrpendente(boleto.getVrboleto()); + } +/* + if (! filtrarPendentes){ + + } + + boolean isPontoVendaEmpresaDiferente = (puntoventaIdAux == null || !puntoventaIdAux.equals(deposito.getPuntoventaId())) || + (empresaIdAux == null || !empresaIdAux.equals(deposito.getEmpresaId())); + + if(fechamentocntcorrenteId == null) { + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } if(!isPontoVendaEmpresaDiferente && dtMotivo != null && DateUtil.compareOnlyDate(dtMotivo, deposito.getDtmotivo()) == 0 && !fechamentocntcorrenteId.equals(rs.getLong("fechamentocntcorrenteId"))) { + pendente = deposito.getVrfechamento(); + totalFechamento = totalFechamento.add(deposito.getVrfechamento()); + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } + + if(isPontoVendaEmpresaDiferente || (dtMotivo == null || DateUtil.compareOnlyDate(dtMotivo, deposito.getDtmotivo()) != 0)) { + + if(isPontoVendaEmpresaDiferente) { + puntoventaIdAux = deposito.getPuntoventaId(); + empresaIdAux = deposito.getEmpresaId(); + pendente = deposito.getVrfechamento(); + dtMotivo = deposito.getDtmotivo(); + totalFechamento = totalFechamento.add(deposito.getVrfechamento()); + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } + + if(dtMotivo == null || DateUtil.compareOnlyDate(dtMotivo, deposito.getDtmotivo()) != 0) { + pendente = deposito.getVrfechamento(); + totalFechamento = totalFechamento.add(deposito.getVrfechamento()); + fechamentocntcorrenteId = rs.getLong("fechamentocntcorrenteId"); + } + dtMotivo = deposito.getDtmotivo(); + } + + pendente = pendente.subtract(deposito.getVrdeposito()); + deposito.setVrpendente(pendente); +*/ + + lsDadosRelatorio.add(boleto); + } + + if (lsDadosRelatorio.size() > 0) { + setLsDadosRelatorio(lsDadosRelatorio); + } + + setNomeSubReporte(nomeSubReporte); + } + + }); + } catch (Exception e) { + log.error("", e); + } + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSQL(Integer puntoventaId, Integer empresaId, boolean filtrarPendentes, + String fecInicio, String fecFinal, String baixaInicial, String baixaFinal) { + + StringBuilder sql = new StringBuilder(); + + sql.append(" SELECT "); + sql.append(" e.nombempresa, "); + sql.append(" p.nombpuntoventa, "); + sql.append(" p.numpuntoventa, "); + sql.append(" fcc.fecfechamento AS dtfechamento, "); + sql.append(" fb.fecvencimento AS dtvencimento, "); + sql.append(" fb.valordocumento AS vrboleto, "); + sql.append(" fcc.total AS vrfechamento, "); + sql.append(" fb.fecbaixa AS dtbaixa, "); + sql.append(" fb.valor_juros AS vrjuros, "); + sql.append(" NVL(fb.indboletoquitado,0) AS quitado, "); + sql.append(" fb.nossonumero AS nossonumero "); + sql.append(" FROM fechamento_boleto fb "); + sql.append(" INNER JOIN fechamento_cntcorrente fcc "); + sql.append(" ON fcc.fechamentocntcorrente_id = fb.fechamentocntcorrente_id "); + sql.append(" AND fcc.activo = 1 "); + sql.append(" INNER JOIN punto_venta p "); + sql.append(" ON p.puntoventa_id = fcc.puntoventa_id "); + sql.append(" AND p.activo = 1 "); + sql.append(" INNER JOIN empresa e "); + sql.append(" ON e.empresa_id = fcc.empresa_id "); + sql.append(" AND e.activo = 1 "); + sql.append(" WHERE fb.activo = 1 "); + + if(fecInicio != null && fecFinal != null) { + sql.append(" AND fcc.fecfechamento BETWEEN :fecInicio AND :fecFinal "); + } + + if(baixaInicial != null && baixaFinal != null) { + sql.append(" AND fb.fecbaixa BETWEEN :baixaInicial AND :baixaFinal "); + } + + if(puntoventaId != null) { + sql.append(" AND fcc.puntoventa_id = :puntoventaId "); + } + + if(empresaId != null) { + sql.append(" AND e.empresa_id = :empresaId "); + } + + if(filtrarPendentes) { + sql.append(" AND fb.indboletoquitado is null "); + } + + sql.append(" ORDER BY nombempresa, p.numpuntoventa, fcc.fecfechamento "); + return sql.toString(); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_es.properties new file mode 100644 index 000000000..bef748aec --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_es.properties @@ -0,0 +1,31 @@ +#geral +msg.noData=No se pudo obtener datos con los parámetros reportados. + +#Labels cabeçalho +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: +header.filtro.total=Total Geral: + +#Labels header +header.data.hora=Data/Hora +header.pagina=Página +header.banco=Banco +header.numdeposito=Nº Depósito +header.dataDeposito=Data +header.valorDeposito=Valor +header.empresa=Empresa: +header.data=Período: +header.agencia=Agência +header.dtmotivo=Data Fechamento +header.saldo=Pendente +header.vrdeposito=Vr. Depósito +header.vrfechamento=Vr. Fechamento +header.usuario=Usuário +header.numdeposito=Num. Depósito +header.numeroAgencia=Número \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_pt_BR.properties new file mode 100644 index 000000000..e991364eb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioBoletos_pt_BR.properties @@ -0,0 +1,25 @@ +#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: +cabecalho.periodoA=à +cabecalho.dataHora=Data/Hora: +cabecalho.impressorPor=Impressor por: +cabecalho.pagina=Página +cabecalho.de=de +cabecalho.filtros=Filtros: +header.filtro.total=Total Geral: + +#Labels header +label.empresa=Empresa: +label.pontoVenda=Agência: +label.dataFechamento=Dt Fecham. +label.dataVencimento=Dt Vencim. +label.dataBaixa=Dt Baixa +label.pendente=Pendente +label.valorBoleto=Boleto +label.fechamento=Fechamento +label.valorJuros=Juros +label.nossoNumero=Nosso Número diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml index 8828d552b..c8890d1f4 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBPeSubstituido.jrxml @@ -1,6 +1,6 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jasper new file mode 100644 index 0000000000000000000000000000000000000000..ae9227d1c607f1fe0e3712b67accaece8b6c3b82 GIT binary patch literal 36908 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 Zrwb8&EH>MYcH6OP1-^xLDfg$u{|7e3eP93p literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jrxml new file mode 100644 index 000000000..2b8854fd3 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioBoletos.jrxml @@ -0,0 +1,368 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBoletoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBoletoBean.java new file mode 100644 index 000000000..428f168d1 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioBoletoBean.java @@ -0,0 +1,140 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.Date; + +@SuppressWarnings("rawtypes") +public class RelatorioBoletoBean implements Comparable { + + private String nombempresa; + private String nombpuntoventa; + private String numpuntoventa; + private String nossonumero; + private Date dtfechamento; + private Date dtvencimento; + private Date dtbaixa; + private BigDecimal vrboleto; + private BigDecimal vrfechamento; + private BigDecimal vrjuros; + private BigDecimal vrpendente; + private boolean quitado; + + public String getNombempresa() { + return nombempresa; + } + + public void setNombempresa(String nombempresa) { + this.nombempresa = nombempresa; + } + + public String getNombpuntoventa() { + return nombpuntoventa; + } + + public void setNombpuntoventa(String nombpuntoventa) { + this.nombpuntoventa = nombpuntoventa; + } + + public String getNumpuntoventa() { + return numpuntoventa; + } + + public void setNumpuntoventa(String numpuntoventa) { + this.numpuntoventa = numpuntoventa; + } + + public String getNossonumero() { + return nossonumero; + } + + public void setNossonumero(String nossonumero) { + this.nossonumero = nossonumero; + } + + public Date getDtfechamento() { + return dtfechamento; + } + + public void setDtfechamento(Date dtfechamento) { + this.dtfechamento = dtfechamento; + } + + public Date getDtvencimento() { + return dtvencimento; + } + + public void setDtvencimento(Date dtvencimento) { + this.dtvencimento = dtvencimento; + } + + public Date getDtbaixa() { + return dtbaixa; + } + + public void setDtbaixa(Date dtbaixa) { + this.dtbaixa = dtbaixa; + } + + public BigDecimal getVrboleto() { + return vrboleto; + } + + public void setVrboleto(BigDecimal vrboleto) { + this.vrboleto = vrboleto; + } + + public BigDecimal getVrfechamento() { + return vrfechamento; + } + + public void setVrfechamento(BigDecimal vrfechamento) { + this.vrfechamento = vrfechamento; + } + + public BigDecimal getVrjuros() { + return vrjuros; + } + + public void setVrjuros(BigDecimal vrjuros) { + this.vrjuros = vrjuros; + } + + public boolean isQuitado() { + return quitado; + } + + public void setQuitado(boolean quitado) { + this.quitado = quitado; + } + + @Override + public int compareTo(Object o) { + if(o == null) { + return 0; + } + + RelatorioBoletoBean rdb = (RelatorioBoletoBean) o; + + if (this.nombempresa.compareTo(rdb.getNombempresa()) != 0) { + return this.nombempresa.compareTo(rdb.getNombempresa()); + + } else if (this.nombpuntoventa.compareTo(rdb.getNombpuntoventa()) != 0) { + return this.nombpuntoventa.compareTo(rdb.getNombpuntoventa()); + + } else if (this.dtfechamento.compareTo(rdb.getDtfechamento()) != 0) { + return this.dtfechamento.compareTo(rdb.getDtfechamento()); + + } + + return 0; + } + + public BigDecimal getVrpendente() { + return vrpendente; + } + + public void setVrpendente(BigDecimal vrpendente) { + this.vrpendente = vrpendente; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/contacorrente/RelatorioBoletosController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/contacorrente/RelatorioBoletosController.java new file mode 100644 index 000000000..62c0d139d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/contacorrente/RelatorioBoletosController.java @@ -0,0 +1,132 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.contacorrente; + +import java.text.SimpleDateFormat; +import java.util.HashMap; +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.zk.ui.util.Clients; +import org.zkoss.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.api.Datebox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioBoletos; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; + +@Controller("relatorioBoletosController") +@Scope("prototype") +public class RelatorioBoletosController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private DataSource dataSourceRead; + + private Datebox datInicial; + private Datebox datFinal; + private Datebox baixaInicial; + private Datebox baixaFinal; + private Combobox cmbPuntoventa; + private Combobox cmbEmpresa; + private Checkbox chkFiltrarPendentes; + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + chkFiltrarPendentes.setChecked(true); + } + + private void executarRelatorio() throws Exception { + + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + if (datInicial.getValue() == null && datFinal.getValue() == null + && baixaInicial.getValue() == null && baixaFinal.getValue() == null ) { + Clients.alert(Labels.getLabel("indexController.mniRelatorioBoletos.msgDatasObrigatorias"), + Labels.getLabel("relatorioBoletosController.window.title"), org.zkoss.zul.Messagebox.ERROR); + return; + } + + filtro.append("Empresa: "); + if (cmbEmpresa.getSelectedIndex() != -1){ + Empresa empresa = ((Empresa)cmbEmpresa.getSelectedItem().getValue()); + parametros.put("empresaId", empresa.getEmpresaId()); + filtro.append(empresa.getNombempresa() + ";"); + }else { + filtro.append(" Todas; "); + } + + filtro.append("Ponto de Venda: "); + if (cmbPuntoventa.getSelectedIndex() != -1){ + PuntoVenta puntoVenta = ((PuntoVenta)cmbPuntoventa.getSelectedItem().getValue()); + parametros.put("puntoventaId", puntoVenta.getPuntoventaId()); + filtro.append(puntoVenta.getNombpuntoventa() + ";"); + }else { + filtro.append(" Todos; "); + } + + if (chkFiltrarPendentes.isChecked()){ + parametros.put("filtrarPendentes", true); + } + + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + + if (datInicial.getValue() != null && datFinal.getValue() != null) { + int dias = DateUtil.diferencaEntreDatasEmdias(this.datInicial.getValue(), this.datFinal.getValue()); + // Período maior que 360 dias (1 ano), para não deixar um range de daods muito grande e não "travar" o relatório. + if (dias > 360) { + Clients.alert(Labels.getLabel("indexController.mniRelatorioBoletos.msgValidacaoDatas"), + Labels.getLabel("relatorioBoletosController.window.title"), org.zkoss.zul.Messagebox.ERROR); + return; + } + + filtro.append("Fechamento: ") + .append(DateUtil.getStringDate(datInicial.getValue(), "dd/MM/yyyy")) + .append(" - ") + .append(DateUtil.getStringDate(datFinal.getValue(), "dd/MM/yyyy")) + .append(";"); + parametros.put("fecInicio", sdf.format(this.datInicial.getValue())); + parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); + } + + if (baixaInicial.getValue() != null && baixaFinal.getValue() != null) { + filtro.append("Baixa: ") + .append(DateUtil.getStringDate(baixaInicial.getValue(), "dd/MM/yyyy")) + .append(" - ") + .append(DateUtil.getStringDate(baixaFinal.getValue(), "dd/MM/yyyy")) + .append(";"); + parametros.put("baixaInicial", sdf.format(this.baixaInicial.getValue())); + parametros.put("baixaFinal", sdf.format(this.baixaFinal.getValue())); + } + + parametros.put("TITULO", Labels.getLabel("indexController.mniRelatorioBoletos.label")); + parametros.put("usuario_nome", UsuarioLogado.getUsuarioLogado().getNombusuario()); + parametros.put("FILTROS", filtro.toString()); + + Relatorio relatorio = new RelatorioBoletos(parametros, dataSourceRead.getConnection()); + + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("indexController.mniRelatorioBoletos.label"), args, MyGenericForwardComposer.MODAL); + + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java index cb9b610c3..cfaeff002 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java @@ -97,8 +97,8 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { jobIntegracaoSap(); } - executeFlyway(); - customToDatabase(); +// executeFlyway(); +// customToDatabase(); imageToDatabase(); } @@ -112,7 +112,7 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { log.info("Executando Flyway..."); - try{ +/* try{ final Flyway flyway = new Flyway(); flyway.setDataSource(getDataSoure()); @@ -125,7 +125,7 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { }catch(Throwable t){ log.error("Erro ao executar o flyway",t); } - +*/ log.info("Flyway executado."); } @@ -305,10 +305,10 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { log.info("Horario de integraçao com sap : " + hora[0] + ":" + hora[1]); - Trigger trigger = TriggerUtils.makeDailyTrigger("integracaoSapTrigger", hora[0], hora[1]); +// Trigger trigger = TriggerUtils.makeDailyTrigger("integracaoSapTrigger", hora[0], hora[1]); // TESTE TRIGGER -// Trigger trigger = TriggerUtils.makeImmediateTrigger("integracaoSapTrigger", 1, 1000); + Trigger trigger = TriggerUtils.makeImmediateTrigger("integracaoSapTrigger", 1, 1000); trigger.setName("integracaoSapTrigger"); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioBoletos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioBoletos.java new file mode 100644 index 000000000..8689be11d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioBoletos.java @@ -0,0 +1,24 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente; + +import org.zkoss.util.resource.Labels; + +import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria; +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class ItemMenuRelatorioBoletos extends DefaultItemMenuSistema { + + public ItemMenuRelatorioBoletos() { + super("indexController.mniRelatorioBoletos.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.CONTACORRENTE.RELATORIOBOLETOS"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioBoletos.zul", + Labels.getLabel("indexController.mniRelatorioBoletos.label"), getArgs() ,desktop); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioDepositos.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioDepositos.java index 9a09a92c3..4076c12e8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioDepositos.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/ItemMenuRelatorioDepositos.java @@ -13,7 +13,7 @@ public class ItemMenuRelatorioDepositos extends DefaultItemMenuSistema { @Override public String getClaveMenu() { - return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIODEPOSITOS"; + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.CONTACORRENTE.RELATORIODEPOSITOS"; } @Override diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/SubMenuContaCorrente.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/SubMenuContaCorrente.java new file mode 100644 index 000000000..d193975b9 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/contacorrente/SubMenuContaCorrente.java @@ -0,0 +1,16 @@ +package com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente; + +import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema; + +public class SubMenuContaCorrente extends DefaultItemMenuSistema { + + public SubMenuContaCorrente() { + super("indexController.mnSubMenuContaCorrente.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.CONTACORRENTE"; + } + +} 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 490632aea..c06f8f5e0 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 @@ -225,7 +225,9 @@ analitico.gerenciais.financeiro.conferenciaMovimento=com.rjconsultores.ventabole analitico.gerenciais.financeiro.eventos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoEventosFinanceiros analitico.gerenciais.financeiro.observacaoBilhetes=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioObservacaoBilhetes analitico.gerenciais.financeiro.relatorioFinanceiroReceitasDespesas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioFinanceiroReceitasDespesas +analitico.gerenciais.financeiro.contaCorrente=com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente.SubMenuContaCorrente analitico.gerenciais.financeiro.relatorioDepositos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente.ItemMenuRelatorioDepositos +analitico.gerenciais.financeiro.relatorioBoletos=com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente.ItemMenuRelatorioBoletos analitico.gerenciais.financeiro.relatorioDepositosDetalhados=com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente.ItemMenuRelatorioDepositosDetalhados analitico.gerenciais.financeiro.relatorioPosicaoCaixaAnalitico=com.rjconsultores.ventaboletos.web.utilerias.menu.item.contacorrente.ItemMenuRelatorioPosicaoCaixaAnalitico analitico.gerenciais.financeiro.relatorioFormaPagamentoAgencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioFormaPagamentoAgencia diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index a48aca4d5..76290b1c3 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -284,6 +284,7 @@ indexController.mniRelatoriosFinanceiro.label=Financial Reports indexController.mniRelatoriosEstatisticos.label=Statistics Reports indexController.mniRelatoriosPacote.label=Package Reports indexController.mniIntegracion.bgm.label=BGM +indexController.mnSubMenuContaCorrente.label = Closing Current Account indexController.mniRelatorioEmbarqueLocalidade.label=Boarding by Places indexController.mniIntegracion.cashmonitor.label=Cash Monitor indexController.mniIntegracion.cashmonitor.relatoriovendacartaocashmonitor=Card Sale @@ -442,7 +443,8 @@ indexController.mniEscola.label=School indexController.mniCurso.label=Course indexController.mniPracaPedagio.label=Toll Plaza indexController.mniRelatorioDescontos.label=Discount Sales -indexController.mniRelatorioDepositos.label=Closing Current Account and Bank Deposit +indexController.mniRelatorioDepositos.label= Bank Deposit +indexController.mniRelatorioBoletos.label= Billet indexController.mniRelatorioDepositosDetalhados.label=Detailed Bank Deposit indexController.mniRelatorioPosicaoCaixaAnalitico.label=Numeração Lógica @@ -6310,7 +6312,6 @@ editarOrgaoConcedenteController.funcionamentoConfiguracao=Caso a opção de editarOrgaoConcedenteController.indPermitePagMultaPreEstornoCartao.label = Permite Cobrança Multa Pré Estorno do Cartão editarOrgaoConcedenteController.indPermitePagMultaPreEstornoCartao.ajuda = Este campo quando habilitado irá permitir o sistema cobrar a multa de cancelamento préviamente ao estorno, nas formas de Pagamento cadastrado no Ponto de Venda - # Busqueda Coeficiente Tarifa busquedaCoeficienteTarifaController.window.title=Coeficiente Tarifario busquedaCoeficienteTarifaController.btnRefresh.tooltiptext=Atualizar @@ -8214,9 +8215,19 @@ relatorioDepositosController.lbPuntoventa.value=Ponto de Venda relatorioDepositosController.lbEmpresa.value=Empresa relatorioDepositosController.lbPendentes.value=Filtrar Apenas Pendentes relatorioDepositosController.lbClassificarBanco.value=Classificar por banco + +# Filtro Boletos +relatorioBoletosController.window.title=Relatório Boletos +relatorioBoletosController.lbDatInicial.value=Fechamento Inicio +relatorioBoletosController.lbDatFinal.value=Fechamento Fim +relatorioBoletosController.lbBaixaInicial.value=Baixa Inicio +relatorioBoletosController.lbBaixaFinal.value=Baixa Fim +relatorioBoletosController.lbPuntoventa.value=Ponto de Venda +relatorioBoletosController.lbEmpresa.value=Empresa +relatorioBoletosController.lbPendentes.value=Filtrar Apenas Pendentes +indexController.mniRelatorioBoletos.msgDatasObrigatorias= É obrigatório selecionar período de fechamento ou baixa. -# Relatorio Movimentos em Atraso - +# Relatorio Movimentos em Atraso relatorioMovimentosAtrasoController.window.title=Relatório Movimentos em Atraso relatorioMovimentosAtrasoController.btnCerrar.tooltiptext=Fechar relatorioMovimentosAtrasoController.lbCompetencia.label=Competencia diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index cd8772bdf..6f4b6ace9 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -292,6 +292,7 @@ indexController.mniRelatoriosFinanceiro.label = Reportes Financieros indexController.mniRelatoriosEstatisticos.label = Reportes Estadísticos indexController.mniRelatoriosPacote.label = Reportes paquetes indexController.mniIntegracion.bgm.label = BGM +indexController.mnSubMenuContaCorrente.label = Cierre Cnt Contábil indexController.mniRelatorioEmbarqueLocalidade.label=Relatório Embarque por Localidade indexController.mniIntegracion.cashmonitor.label = Cash Monitor indexController.mniIntegracion.cashmonitor.relatoriovendacartaocashmonitor = Venda de cartão @@ -441,7 +442,8 @@ indexController.mniEscola.label = Escuela indexController.mniCurso.label = Curso indexController.mniPracaPedagio.label = Caseta peaje indexController.mniRelatorioDescontos.label = Descuentos -indexController.mniRelatorioDepositos.label=Cierre Cnt Contábil / Depósitos +indexController.mniRelatorioDepositos.label= Depósitos +indexController.mniRelatorioBoletos.label= Boletos indexController.mniRelatorioDepositosDetalhados.label= Depósitos Detallados indexController.mniRelatorioPosicaoCaixaAnalitico.label= Reporte de Numeración Lógica indexController.mniPainelBpe.label = Painel BPe @@ -1898,7 +1900,6 @@ editarPuntoVentaController.MSG.empresaExcecaoMultaCancNaoInformada = Informe a e editarPuntoVentaController.MSG.OrgaoConcedenteExcecaoMultaCancNaoInformada = Informe o Órgão Concedente editarPuntoVentaController.OrgaoConcedente.label=Orgão Concedente - # Editar comisión ponto de venta editarPuntoVentaComissaoController.window.title = Comisión empresa/Punto de venta - {0} editarPuntoVentaComissaoController.MSG.suscribirOK = Comisión de la empresa/Punto de venta se registró exitosamente @@ -6343,7 +6344,6 @@ editarOrgaoConcedenteController.ajudaLimiteTrocaPoltrona.label=Solo será posibl editarOrgaoConcedenteController.indPermitePagMultaPreEstornoCartao.label = Permite Cobrança Multa Pré Estorno do Cartão editarOrgaoConcedenteController.indPermitePagMultaPreEstornoCartao.ajuda = Este campo quando habilitado irá permitir o sistema cobrar a multa de cancelamento préviamente ao estorno, nas formas de Pagamento cadastrado no Ponto de Venda - # Busqueda Indice Tarifa busquedaCoeficienteTarifaController.window.title = Indice tarifario busquedaCoeficienteTarifaController.btnRefresh.tooltiptext = Actualizar @@ -8046,6 +8046,17 @@ relatorioDepositosController.lbPuntoventa.value=Punto de Venta relatorioDepositosController.lbEmpresa.value=Empresa relatorioDepositosController.lbPendentes.value=Filtrar Apenas Pendientes +# Filtro Boletos +relatorioBoletosController.window.title=Reporte Boletos +relatorioBoletosController.lbDatInicial.value=Fechamento Inicio +relatorioBoletosController.lbDatFinal.value=Fechamento Fim +relatorioBoletosController.lbBaixaInicial.value=Baixa Inicio +relatorioBoletosController.lbBaixaFinal.value=Baixa Fim +relatorioBoletosController.lbPuntoventa.value=Punto de Venta +relatorioBoletosController.lbEmpresa.value=Empresa +relatorioBoletosController.lbPendentes.value=Filtrar Apenas Pendientes +indexController.mniRelatorioBoletos.msgDatasObrigatorias= É obrigatório selecionar período de fechamento ou baixa. + # Relatorio Movimientos em Atraso relatorioMovimentosAtrasoController.window.title = Reporte Movimientos Retrasados relatorioMovimentosAtrasoController.btnCerrar.tooltiptext = Cerrar diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index bbbd35528..6291d6125 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -305,6 +305,7 @@ indexController.mniRelatoriosFinanceiro.label = Relatórios Financeiro indexController.mniRelatoriosEstatisticos.label = Relatórios Estatísticos indexController.mniRelatoriosPacote.label = Relatórios Pacote indexController.mniIntegracion.bgm.label = BGM +indexController.mnSubMenuContaCorrente.label = Fechamento Conta Corrente indexController.mniRelatorioEmbarqueLocalidade.label=Relatório Embarque por Localidade indexController.mniIntegracion.cashmonitor.label = Cash Monitor indexController.mniIntegracion.cashmonitor.relatoriovendacartaocashmonitor = Venda de cartão @@ -471,7 +472,8 @@ indexController.mniEscola.label = Escola indexController.mniCurso.label = Curso indexController.mniPracaPedagio.label = Praça Pedágio indexController.mniRelatorioDescontos.label = Vendas com Desconto -indexController.mniRelatorioDepositos.label=Fechamento Conta Corrente / Depósitos +indexController.mniRelatorioDepositos.label= Fechamento Conta Corrente /Depósitos +indexController.mniRelatorioBoletos.label= Fechamento Conta Corrente /Boletos indexController.mniRelatorioDepositosDetalhados.label=Depósitos Detalhados indexController.mniRelatorioPosicaoCaixaAnalitico.label=Numeração Lógica @@ -8761,8 +8763,18 @@ relatorioDepositosController.lbEmpresa.value=Empresa relatorioDepositosController.lbPendentes.value=Filtrar Apenas Pendentes relatorioDepositosController.lbClassificarBanco.value=Classificar por banco -# Relatorio Movimentos em Atraso +# Filtro Boletos +relatorioBoletosController.window.title=Relatório Boletos +relatorioBoletosController.lbDatInicial.value=Fechamento Inicio +relatorioBoletosController.lbDatFinal.value=Fechamento Fim +relatorioBoletosController.lbBaixaInicial.value=Baixa Inicio +relatorioBoletosController.lbBaixaFinal.value=Baixa Fim +relatorioBoletosController.lbPuntoventa.value=Ponto de Venda +relatorioBoletosController.lbEmpresa.value=Empresa +relatorioBoletosController.lbPendentes.value=Filtrar Apenas Pendentes +indexController.mniRelatorioBoletos.msgDatasObrigatorias= É obrigatório selecionar período de fechamento ou baixa. +# Relatorio Movimentos em Atraso relatorioMovimentosAtrasoController.window.title = Relatório Movimentos em Atraso relatorioMovimentosAtrasoController.btnCerrar.tooltiptext = Fechar relatorioMovimentosAtrasoController.lbCompetencia.label = Competencia diff --git a/web/gui/relatorios/filtroRelatorioBoletos.zul b/web/gui/relatorios/filtroRelatorioBoletos.zul new file mode 100644 index 000000000..9842741ed --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioBoletos.zul @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +