From 8ad3dafbe167bbcdb8fcc3e7716d634a9123630e Mon Sep 17 00:00:00 2001 From: celio Date: Thu, 1 Jun 2023 08:48:09 -0300 Subject: [PATCH] fixes bug#AL-2518 --- pom.xml | 4 +- .../impl/RelatorioComissaoSintetico.java | 493 +++++++++++++++ .../RelatorioComissaoSintetico_es.properties | 32 + ...elatorioComissaoSintetico_pt_BR.properties | 32 + .../RelatorioComissaoSintetico.jasper | Bin 0 -> 58438 bytes .../RelatorioComissaoSintetico.jrxml | 586 ++++++++++++++++++ .../RelatorioComissaoSinteticoBean.java | 196 ++++++ .../RelatorioDetalhamentoComissaoRelBean.java | 6 + .../RelatorioComissaoController.java | 194 ++++++ .../relatorios/ItemMenuRelatorioComissao.java | 25 + .../utilerias/menu/menu_original.properties | 1 + web/WEB-INF/i3-label_en.label | 15 + web/WEB-INF/i3-label_es_MX.label | 15 + web/WEB-INF/i3-label_pt_BR.label | 15 + .../relatorios/filtroRelatorioComissao.zul | 107 ++++ 15 files changed, 1719 insertions(+), 2 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioComissaoSintetico.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_es.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_pt_BR.properties create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jasper create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jrxml create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioComissaoSinteticoBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDetalhamentoComissaoRelBean.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioComissaoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioComissao.java create mode 100644 web/gui/relatorios/filtroRelatorioComissao.zul diff --git a/pom.xml b/pom.xml index 76f83a6e2..5185ac70c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.6.9 + 1.7.0 war 1.5.2 - 1.3.7 + 1.4.0 UTF-8 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioComissaoSintetico.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioComissaoSintetico.java new file mode 100644 index 000000000..b92e81dc7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioComissaoSintetico.java @@ -0,0 +1,493 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.relatorios.impl; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.negocio.CalculoImposto; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.ExceptionConfiguracao; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioComissaoSinteticoBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; +import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; + +import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; + + +public class RelatorioComissaoSintetico extends Relatorio { + +private List lsDadosRelatorio; +private LinkedHashMap> mapCacheConfigComissao; +private Set pontoVendaConfiguracao; + + + public RelatorioComissaoSintetico(Map parametros, Connection conexao) throws Exception { + super(parametros, conexao); + CalculoImposto.limpaCache(); + this.mapCacheConfigComissao = new LinkedHashMap>(); + + this.setCustomDataSource(new DataSource(this) { + + @Override + public void initDados() throws Exception { + + Connection conexao = this.relatorio.getConexao(); + + Map parametros = this.relatorio.getParametros(); + String empresaID = parametros.get("EMPRESA_ID") != null ? parametros.get("EMPRESA_ID").toString() : ""; + String puntoVentaID = parametros.get("NUMPUNTOVENTA").equals("-1") ? "" : parametros.get("NUMPUNTOVENTA").toString(); + String sqlTotaisVendas = getSqlDadosTotaisdeVenda(empresaID,puntoVentaID); + + NamedParameterStatement stmt = new NamedParameterStatement(conexao, sqlTotaisVendas); + + + stmt.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + stmt.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.fimFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + + if(empresaID != null && !empresaID.equals("")){ + stmt.setInt("EMPRESA_ID", Integer.parseInt(empresaID)); + } + pontoVendaConfiguracao = new HashSet(); + ResultSet rset = stmt.executeQuery(); + lsDadosRelatorio = new ArrayList(); + + while (rset.next()) { + // Busca as configurações de comissão + LinkedHashMap configComissao = getConfigComissao(rset.getInt("puntoventa_id"), rset.getInt("empresa_id")); + Integer agenciaID = rset.getInt("puntoventa_id"); + Integer retEmpresaID = rset.getInt("empresa_id"); + Integer estadoId = rset.getInt("estado_id"); + Date fecCorrida = rset.getDate("feccorrida"); + BigDecimal totalPassgens = rset.getBigDecimal("total_passagem"); + BigDecimal totalImpPost = rset.getBigDecimal("total_imp_posterior"); + BigDecimal totalVendaImpPost = rset.getBigDecimal("total_venda_imp_posterior"); + BigDecimal totalSeguro = rset.getBigDecimal("total_seguro"); + BigDecimal totalVenda = rset.getBigDecimal("total_venda"); + RelatorioComissaoSinteticoBean existingBean = findExistingBean(lsDadosRelatorio, agenciaID, retEmpresaID); + if (existingBean != null) { + // Registro já existe, adicionar os valores aos existentes + existingBean.setTotalTarifa(existingBean.getTotalTarifa().add(totalPassgens)); + existingBean.setTotalImpPosterior(existingBean.getTotalImpPosterior().add(totalImpPost)); + existingBean.setTotalVendaImpPosterior(existingBean.getTotalVendaImpPosterior().add(totalVendaImpPost)); + existingBean.setTotalSeguro(existingBean.getTotalSeguro().add(totalSeguro)); + existingBean.setTotalPagado(existingBean.getTotalPagado().add(totalVenda)); + //aplica comissão dos totais + if (configComissao != null) { + comissaoCalc(configComissao, retEmpresaID, estadoId, fecCorrida, totalPassgens, totalImpPost, totalVendaImpPost, totalSeguro, + null, existingBean, false); + } + } else { + // Registro não existe, criar um novo objeto e adicioná-lo à lista + RelatorioComissaoSinteticoBean comissaoBean = new RelatorioComissaoSinteticoBean(); + + comissaoBean.setPontoVendaID(agenciaID); + comissaoBean.setEmpresaID(retEmpresaID); + comissaoBean.setPontoVenda(rset.getString("nombpuntoventa")); + comissaoBean.setTotalTarifa(totalPassgens); + comissaoBean.setTotalImpPosterior(totalImpPost); + comissaoBean.setTotalVendaImpPosterior(totalVendaImpPost); + comissaoBean.setTotalSeguro(totalSeguro); + comissaoBean.setTotalPagado(totalVenda); + + //aplica comissão dos totais + if (configComissao != null) { + comissaoCalc(configComissao, retEmpresaID, estadoId, fecCorrida, totalPassgens, totalImpPost, totalVendaImpPost, totalSeguro, + null, comissaoBean, false); + } + + lsDadosRelatorio.add(comissaoBean); + } + } + + if (lsDadosRelatorio.size() > 0) { + String sqlTotaisEeventos = getSqlDadosTotaisEvento(empresaID,puntoVentaID); + NamedParameterStatement stmtEventos = new NamedParameterStatement(conexao, sqlTotaisEeventos); + stmtEventos.setTimestamp("DATA_INICIAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + stmtEventos.setTimestamp("DATA_FINAL", new Timestamp(DateUtil.inicioFecha((Date) parametros.get("DATA_INICIAL")).getTime())); + if(empresaID != null && !empresaID.equals("")){ + stmtEventos.setInt("EMPRESA_ID", Integer.parseInt(empresaID)); + } + ResultSet rsetEventos = stmtEventos.executeQuery(); + + while(rsetEventos.next()) { + LinkedHashMap configComissao = getConfigComissao(rset.getInt("puntoventa_id"), rset.getInt("empresa_id")); + Integer agenciaID = rsetEventos.getInt("puntoventa_id"); + Integer retEmpresaID = rsetEventos.getInt("empresa_id"); + if(empresaID != null && !empresaID.equals("")){ + stmt.setInt("EMPRESA_ID", Integer.parseInt(empresaID)); + } + Integer estadoId = rsetEventos.getInt("estado_id"); + Date fecCorrida = rset.getDate("feccorrida"); + Boolean isOutros = rsetEventos.getString("desctipoevento") == "EXCESSO BAGAGEM" ? false : true; + BigDecimal totalEvento = rsetEventos.getBigDecimal("total_evento"); + + + RelatorioComissaoSinteticoBean existingBean = findExistingBean(lsDadosRelatorio, agenciaID, retEmpresaID); + if (existingBean != null) { + if(isOutros) { + existingBean.setTotalOutros(totalEvento); + } else { + existingBean.setTotalExcBagagem(totalEvento); + } + //aplica comissão dos totais + if (configComissao != null) { + comissaoCalc(configComissao, retEmpresaID, estadoId, fecCorrida, null, null, null, null, totalEvento, existingBean, isOutros); + } + } + } + + setLsDadosRelatorio(lsDadosRelatorio); + } + } + + private void comissaoCalc(LinkedHashMap configComissao, Integer retEmpresaID, Integer estadoId, Date fecCorrida, + BigDecimal baseCalculoTarifa, BigDecimal baseCalculoImpPost, BigDecimal baseCalculoVendaImpPost, BigDecimal baseCalculoSeguro, BigDecimal TotalEventos, + RelatorioComissaoSinteticoBean comissaoBean, Boolean isEventoOutros) throws Exception { + + BigDecimal percComissaoTarifa = BigDecimal.ZERO; + BigDecimal percComissaoSeguro = BigDecimal.ZERO; + BigDecimal percComissaoImpPost = BigDecimal.ZERO; + BigDecimal percComissaoVendaImpPost = BigDecimal.ZERO; + BigDecimal percComissaoOutros = BigDecimal.ZERO; + + BigDecimal valorComissaoSeguro = BigDecimal.ZERO; + BigDecimal valorComissaoTarifa = BigDecimal.ZERO; + BigDecimal valorComissaoImpPost = BigDecimal.ZERO; + BigDecimal valorComissaoVendaImpPost = BigDecimal.ZERO; + BigDecimal valorComissaoExcBagagem = BigDecimal.ZERO; + BigDecimal valorComissaoOutros = BigDecimal.ZERO; + Boolean isAltaTemporada = false; + + if(fecCorrida != null) { + String mes = new SimpleDateFormat("M").format(fecCorrida); + HashMap configImposto = getConfigImposto((Integer) retEmpresaID, estadoId); + isAltaTemporada = ((mes.equals("1") && (Boolean) configImposto.get("INDJANEIRO")) || (mes.equals("2") && (Boolean) configImposto.get("INDFEVEREIRO")) + || (mes.equals("3") && (Boolean) configImposto.get("INDMARCO")) || (mes.equals("4") && (Boolean) configImposto.get("INDABRIL")) + || (mes.equals("5") && (Boolean) configImposto.get("INDMAIO")) || (mes.equals("6") && (Boolean) configImposto.get("INDJUNHO")) + || (mes.equals("7") && (Boolean) configImposto.get("INDJULHO")) || (mes.equals("8") && (Boolean) configImposto.get("INDAGOSTO")) + || (mes.equals("9") && (Boolean) configImposto.get("INDSETEMBRO")) || (mes.equals("10") && (Boolean) configImposto.get("INDOUTUBRO")) + || (mes.equals("11") && (Boolean) configImposto.get("INDNOVEMBRO")) || (mes.equals("12") && (Boolean) configImposto.get("INDDEZEMBRO"))) ? true : false; + } + if (!isEventoOutros) { + percComissaoTarifa = isAltaTemporada ? (BigDecimal) configComissao.get("PASSAGEMALTA") : (BigDecimal) configComissao.get("PASSAGEMBAIXA"); + percComissaoSeguro = isAltaTemporada ? (BigDecimal) configComissao.get("SEGUROALTA") : (BigDecimal) configComissao.get("SEGUROBAIXA"); + percComissaoImpPost = isAltaTemporada ? (BigDecimal) configComissao.get("VENDAIMPGAPALTA") : (BigDecimal) configComissao.get("VENDAIMPGAPBAIXA"); + percComissaoVendaImpPost = isAltaTemporada ? (BigDecimal) configComissao.get("VENDAGAPALTA") : (BigDecimal) configComissao.get("VENDAGAPBAIXA"); + + if (percComissaoTarifa == null) { + percComissaoTarifa = BigDecimal.ZERO; + } + if (percComissaoSeguro == null) { + percComissaoSeguro = BigDecimal.ZERO; + } + + if (percComissaoImpPost == null) { + percComissaoImpPost = BigDecimal.ZERO; + } + if (percComissaoVendaImpPost == null) { + percComissaoVendaImpPost = BigDecimal.ZERO; + } + + // VALOR COMISSAO = BASE DE CALCULO * (PERCENTUAL COMISSAO / 100) + valorComissaoTarifa = baseCalculoTarifa.multiply(MoneyHelper.dividir(percComissaoTarifa, MoneyHelper.HUNDRED, 4)); + valorComissaoSeguro = baseCalculoSeguro.multiply(MoneyHelper.dividir(percComissaoSeguro, MoneyHelper.HUNDRED, 4)); + valorComissaoImpPost = baseCalculoImpPost.multiply(MoneyHelper.dividir(percComissaoImpPost, MoneyHelper.HUNDRED, 4)); + valorComissaoVendaImpPost = baseCalculoVendaImpPost.multiply(MoneyHelper.dividir(percComissaoVendaImpPost, MoneyHelper.HUNDRED, 4));; + + if(comissaoBean.getComissaoTarifa() == null) { + comissaoBean.setComissaoTarifa(valorComissaoTarifa); + } else { + comissaoBean.setComissaoTarifa(comissaoBean.getComissaoTarifa().add(valorComissaoTarifa)); + } + if(comissaoBean.getComissaoSeguro() == null) { + comissaoBean.setComissaoSeguro(valorComissaoSeguro); + } else { + comissaoBean.setComissaoSeguro(comissaoBean.getComissaoSeguro().add(valorComissaoSeguro)); + } + if(comissaoBean.getComissaoImpPosterior() == null) { + comissaoBean.setComissaoImpPosterior(valorComissaoImpPost); + } else { + comissaoBean.setComissaoImpPosterior(comissaoBean.getComissaoImpPosterior().add(valorComissaoImpPost)); + } + if(comissaoBean.getComissaoVendaImpPosterior() == null) { + comissaoBean.setComissaoVendaImpPosterior(valorComissaoVendaImpPost); + } else { + comissaoBean.setComissaoVendaImpPosterior(comissaoBean.getComissaoVendaImpPosterior().add(valorComissaoVendaImpPost)); + } + + } else { + percComissaoOutros = isEventoOutros ? (isAltaTemporada ? (BigDecimal) configComissao.get("OUTROSALTA") : (BigDecimal) configComissao.get("OUTROSBAIXA") ) + :(isAltaTemporada ? (BigDecimal) configComissao.get("EXCESSOALTA") : (BigDecimal) configComissao.get("EXCESSOBAIXA")); + if(percComissaoOutros == null) { + percComissaoOutros = BigDecimal.ZERO; + } + if(isEventoOutros) { + // VALOR COMISSAO = BASE DE CALCULO * (PERCENTUAL COMISSAO / 100) + valorComissaoOutros = comissaoBean.getTotalOutros().multiply(MoneyHelper.dividir(percComissaoSeguro, MoneyHelper.HUNDRED, 4)); + if(comissaoBean.getComissaoOutros() == null) { + comissaoBean.setComissaoOutros(valorComissaoOutros); + } else { + comissaoBean.setComissaoOutros(comissaoBean.getComissaoOutros().add(valorComissaoOutros)); + } + comissaoBean.setComissaoOutros(comissaoBean.getComissaoOutros().add(valorComissaoOutros)); + } else { + valorComissaoExcBagagem = comissaoBean.getTotalExcBagagem().multiply(MoneyHelper.dividir(percComissaoOutros, MoneyHelper.HUNDRED, 4)); + if(comissaoBean.getComissaoExcBagagem() == null) { + comissaoBean.setComissaoExcBagagem(valorComissaoExcBagagem); + } else { + comissaoBean.setComissaoExcBagagem(comissaoBean.getComissaoExcBagagem().add(valorComissaoExcBagagem)); + + } + } + } + } + }); + } + + public void setLsDadosRelatorio(List lsDadosRelatorio) { + this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); + this.lsDadosRelatorio = lsDadosRelatorio; + } + + public HashMap getConfigImposto(Integer empresaId, Integer estadoId) throws Exception { + HashMap cacheConfig = null; + + try { + cacheConfig = (HashMap) CalculoImposto.getConfigImpostoByEstadoOrigem(this.getConexao(), estadoId, empresaId); + } catch (Exception e) { + if (e instanceof ExceptionConfiguracao) + this.addInfoMsg(e.getMessage()); + else + throw e; + } + + return cacheConfig; + } + + private static RelatorioComissaoSinteticoBean findExistingBean(List list, Integer agenciaID, Integer empresaID) { + for (RelatorioComissaoSinteticoBean bean : list) { + if (Objects.equals(bean.getPontoVendaID(), agenciaID) && Objects.equals(bean.getEmpresaID(), empresaID)) { + return bean; + } + } + return null; + } + + @Override + protected void processaParametros() throws Exception { + } + + private String getSqlDadosTotaisdeVenda(String empresa, String agencia) { + + StringBuilder sql = new StringBuilder(3400); + + sql.append(" SELECT pv.nombpuntoventa, "); + sql.append(" b.puntoventa_id, "); + sql.append(" ep.empresa_id, "); + sql.append(" ci.estado_id, "); + sql.append(" b.feccorrida, "); + sql.append(" Count(*), "); + sql.append(" SUM(CASE WHEN (b.indreimpresion = 1 AND b.tipoventa_id = 18 or (b.indreimpresion = 0 AND b.tipoventa_id = 18)) "); + sql.append(" THEN 0 ELSE b.preciobase END) AS total_passagem, "); + sql.append(" SUM(CASE WHEN b.indreimpresion = 1 AND b.tipoventa_id = 18 THEN b.preciobase ELSE 0 END) AS total_imp_posterior, "); + sql.append(" SUM(CASE WHEN b.indreimpresion = 0 AND b.tipoventa_id = 18 THEN b.preciobase ELSE 0 END) AS total_venda_imp_posterior, "); + sql.append(" SUM(b.importeseguro) AS total_seguro, "); + sql.append(" SUM(b.importetaxaembarque) AS total_tax_emb, "); + sql.append(" SUM(b.importepedagio) AS total_pedagio, "); + sql.append(" SUM(b.importeoutros) AS total_outros, "); + sql.append(" SUM(b.preciopagado) AS total_venda "); + sql.append(" FROM boleto b "); + sql.append(" LEFT JOIN punto_venta pv ON (b.puntoventa_id = pv.puntoventa_id) "); + sql.append(" LEFT JOIN marca mc ON (b.marca_id = mc.marca_id) "); + sql.append(" LEFT JOIN empresa ep ON (mc.empresa_id = ep.empresa_id) "); + sql.append(" LEFT JOIN ciudad ci ON (ep.ciudad_id = ci.ciudad_id) "); + sql.append(" WHERE (b.motivocancelacion_id IS NULL or (b.motivocancelacion_id = 16 and b.tipoventa_id =18 )) "); + sql.append(" AND b.motivoreimpresion_id IS NULL "); + sql.append(" AND (b.boletooriginal_id IS NULL or ( b.indreimpresion = 1 AND b.tipoventa_id =18) ) "); + sql.append(" AND b.activo = 1 "); + sql.append(" AND b.fechorventa BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + if (!agencia.isEmpty()) { + sql.append(" AND b.puntoventa_id in ("+agencia+") "); + } + if (!empresa.isEmpty()) { + sql.append(" AND ep.empresa_id = :EMPRESA_ID "); + } + sql.append(" GROUP BY pv.nombpuntoventa, b.puntoventa_id, ep.empresa_id, ci.estado_id, b.feccorrida "); + sql.append(" ORDER BY pv.nombpuntoventa, b.puntoventa_id, ci.estado_id "); + + return sql.toString(); + } + + private String getSqlDadosTotaisEvento(String empresa, String agencia ) { + + StringBuilder sql = new StringBuilder(3400); + + sql.append("SELECT "); + sql.append(" tee.desctipoevento, "); + sql.append(" ee.puntoventa_id, "); + sql.append(" pv.nombpuntoventa, "); + sql.append(" ee.empresa_id, "); + sql.append(" ci.estado_id, "); + sql.append(" bo.fechorventa, "); + sql.append(" SUM(ee.impingreso) AS total_evento "); + sql.append("FROM "); + sql.append(" evento_extra ee "); + sql.append(" INNER JOIN tipo_evento_extra tee ON ee.tipoeventoextra_id = tee.tipoeventoextra_id "); + sql.append(" LEFT JOIN punto_venta pv ON ( ee.puntoventa_id = pv.puntoventa_id ) "); + sql.append(" LEFT JOIN empresa emp ON (emp.empresa_id = ee.empresa_id) "); + sql.append(" LEFT JOIN ciudad ci ON (emp.ciudad_id = ci.ciudad_id) "); + sql.append(" LEFT JOIN boleto bo ON (ee.boleto_id = bo.boleto_id) "); + sql.append("WHERE "); + sql.append(" ee.activo = 1 "); + sql.append(" AND tee.desctipoevento IN ('EXCESSO BAGAGEM', 'ANIMAL 50%' ) "); + sql.append(" AND ee.fechoringreso BETWEEN :DATA_INICIAL AND :DATA_FINAL "); + + if (!agencia.isEmpty()) { + sql.append(" AND ee.puntoventa_id IN ("+agencia+") "); + } + if (!empresa.isEmpty()) { + sql.append(" AND ee.empresa_id = :EMPRESA_ID "); + } + + sql.append("GROUP BY "); + sql.append(" tee.desctipoevento, "); + sql.append(" ee.puntoventa_id, "); + sql.append(" pv.nombpuntoventa, "); + sql.append(" ee.empresa_id, "); + sql.append(" ci.estado_id, "); + sql.append(" bo.fechorventa "); + sql.append("ORDER BY "); + sql.append(" tee.desctipoevento, "); + sql.append(" ee.puntoventa_id, "); + sql.append(" pv.nombpuntoventa, "); + sql.append(" ee.empresa_id "); + + return sql.toString(); + } + + + public LinkedHashMap getConfigComissao(Integer puntoVentaId, Integer empresaId) throws Exception { + + LinkedHashMap cacheConfig = null; + + // Verifica se existe configuração na memoria, caso não exista, realiza busca no banco + if (mapCacheConfigComissao == null || !mapCacheConfigComissao.containsKey(puntoVentaId.toString() + "_" + empresaId.toString())) { + StringBuilder sql = new StringBuilder(); + + sql.append(" SELECT PC.ISSRETIDO, PC.ROYALTIES, PC.ENVIARRECIBO, PC.RECEITA, PC.CODAG, PC.PASSAGEMALTA, PC.PASSAGEMBAIXA, "); + sql.append(" PC.SEGUROALTA, PC.SEGUROBAIXA, PC.OUTROSBAIXA, PC.OUTROSALTA, PC.EXCESSOALTA, PC.EXCESSOBAIXA, "); + sql.append(" PC.TARIFARECEITA, PC.SEGURORECEITA, PC.TAXARECEITA, PC.PEDAGIORECEITA, TP.DESCTIPO AS TIPO_AGENCIA, "); + sql.append(" PC.TARIFADEV, PC.SEGURO_DEV, PC.TAXADEV, PC.PEDAGIODEV, PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, "); + sql.append(" ES.CVEESTADO, ES.ESTADO_ID, PC.SEGUROOBRIGATORIOALTA, PC.SEGUROOBRIGATORIOBAIXA, "); + sql.append(" CASE WHEN pc.valor_imp_gap_alta_comp IS NULL THEN pc.valor_impressao_gap_alta ELSE pc.valor_imp_gap_alta_comp END AS VALOR_IMPRESSAO_ALTA, "); + sql.append(" CASE WHEN pc.valor_imp_gap_comp IS NULL THEN pc.valor_impressao_gap ELSE pc.valor_imp_gap_comp END AS VALOR_IMPRESSAO_BAIXA, "); + sql.append(" CASE WHEN pc.valor_venda_gap_alta_comp IS NULL THEN pc.passagemalta ELSE pc.valor_venda_gap_alta_comp END AS VALOR_VENDA_IMP_ALTA, "); + sql.append(" CASE WHEN pc.valor_venda_gap_comp IS NULL THEN pc.passagembaixa ELSE pc.valor_venda_gap_comp END AS VALOR_VENDA_IMP_BAIXA "); + sql.append(" FROM PTOVTA_COMISSAO PC "); + sql.append(" INNER JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = PC.PUNTOVENTA_ID AND PC.PTOVTADESCOMISSAO_ID = PV.PUNTOVENTA_ID "); + sql.append(" INNER JOIN PARADA PR ON PR.PARADA_ID = PV.PARADA_ID "); + sql.append(" INNER JOIN CIUDAD CD ON CD.CIUDAD_ID = PR.CIUDAD_ID "); + sql.append(" INNER JOIN ESTADO ES ON ES.ESTADO_ID = CD.ESTADO_ID "); + sql.append(" INNER JOIN TIPO_PTOVTA TP ON TP.TIPOPTOVTA_ID = PV.TIPOPTOVTA_ID"); + sql.append(" WHERE PC.EMPRESA_ID = :EMPRESA_ID "); + sql.append(" AND PC.PUNTOVENTA_ID = :PUNTOVENTA_ID "); + sql.append(" AND PC.ACTIVO = 1 "); + + NamedParameterStatement stmt = new NamedParameterStatement(this.getConexao(), sql.toString()); + stmt.setInt("EMPRESA_ID", empresaId); + stmt.setInt("PUNTOVENTA_ID", puntoVentaId); + ResultSet rs = stmt.executeQuery(); + + if (rs.next()) { + cacheConfig = new LinkedHashMap(); + + cacheConfig.put("ISSRETIDO", rs.getBigDecimal("ISSRETIDO")); + cacheConfig.put("ROYALTIES", rs.getBigDecimal("ROYALTIES")); + cacheConfig.put("PASSAGEMALTA", rs.getBigDecimal("PASSAGEMALTA")); + cacheConfig.put("PASSAGEMBAIXA", rs.getBigDecimal("PASSAGEMBAIXA")); + cacheConfig.put("SEGUROALTA", rs.getBigDecimal("SEGUROALTA")); + cacheConfig.put("SEGUROBAIXA", rs.getBigDecimal("SEGUROBAIXA")); + cacheConfig.put("OUTROSALTA", rs.getBigDecimal("OUTROSALTA")); + cacheConfig.put("OUTROSBAIXA", rs.getBigDecimal("OUTROSBAIXA")); + cacheConfig.put("EXCESSOALTA", rs.getBigDecimal("EXCESSOALTA")); + cacheConfig.put("EXCESSOBAIXA", rs.getBigDecimal("EXCESSOBAIXA")); + cacheConfig.put("SEGUROOBRIGATORIOBAIXA", rs.getBigDecimal("SEGUROOBRIGATORIOBAIXA")); + cacheConfig.put("SEGUROOBRIGATORIOALTA", rs.getBigDecimal("SEGUROOBRIGATORIOALTA")); + cacheConfig.put("VENDAIMPGAPALTA", rs.getBigDecimal("VALOR_IMPRESSAO_ALTA")); + cacheConfig.put("VENDAIMPGAPBAIXA", rs.getBigDecimal("VALOR_IMPRESSAO_BAIXA")); + cacheConfig.put("VENDAGAPALTA", rs.getBigDecimal("VALOR_VENDA_IMP_ALTA")); + cacheConfig.put("VENDAGAPBAIXA", rs.getBigDecimal("VALOR_VENDA_IMP_BAIXA")); + + cacheConfig.put("TARIFARECEITA", rs.getBoolean("TARIFARECEITA")); + cacheConfig.put("SEGURORECEITA", rs.getBoolean("SEGURORECEITA")); + cacheConfig.put("TAXARECEITA", rs.getBoolean("TAXARECEITA")); + cacheConfig.put("PEDAGIORECEITA", rs.getBoolean("PEDAGIORECEITA")); + cacheConfig.put("TARIFADEV", rs.getBoolean("TARIFADEV")); + cacheConfig.put("SEGURO_DEV", rs.getBoolean("SEGURO_DEV")); + cacheConfig.put("TAXADEV", rs.getBoolean("TAXADEV")); + cacheConfig.put("PEDAGIODEV", rs.getBoolean("PEDAGIODEV")); + + + + cacheConfig.put("RECEITA", rs.getString("RECEITA")); + cacheConfig.put("TIPO_AGENCIA", rs.getString("TIPO_AGENCIA")); + cacheConfig.put("NUMPUNTOVENTA", rs.getString("NUMPUNTOVENTA")); + cacheConfig.put("NOMBPUNTOVENTA", rs.getString("NOMBPUNTOVENTA")); + cacheConfig.put("CVEESTADO", rs.getString("CVEESTADO")); + + cacheConfig.put("ESTADO_ID", rs.getInt("ESTADO_ID")); + cacheConfig.put("PUNTOVENTA_ID", rs.getInt("PUNTOVENTA_ID")); + + mapCacheConfigComissao.put(puntoVentaId.toString() + "_" + empresaId.toString(), cacheConfig); + + } else { + StringBuilder sqlParam = new StringBuilder(); + + sqlParam.append(" SELECT EM.NOMBEMPRESA, PV.NOMBPUNTOVENTA, PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA "); + sqlParam.append(" FROM EMPRESA EM, "); + sqlParam.append(" PUNTO_VENTA PV "); + sqlParam.append(" WHERE EM.EMPRESA_ID = :EMPRESA_ID "); + sqlParam.append(" AND PV.PUNTOVENTA_ID = :PUNTOVENTA_ID "); + + NamedParameterStatement stmtParam = new NamedParameterStatement(this.getConexao(), sqlParam.toString()); + stmtParam.setInt("PUNTOVENTA_ID", puntoVentaId); + stmtParam.setInt("EMPRESA_ID", empresaId); + + ResultSet rsParam = stmtParam.executeQuery(); + + if (rsParam.next()){ + pontoVendaConfiguracao.add(new PuntoVenta(new Integer (rsParam.getString("PUNTOVENTA_ID")), rsParam.getString("NOMBPUNTOVENTA"), rsParam.getString("NUMPUNTOVENTA"))); + } + rsParam.close(); + stmtParam.close(); + } + + rs.close(); + stmt.close(); + + } + else + cacheConfig = mapCacheConfigComissao.get(puntoVentaId.toString() + "_" + empresaId.toString()); + + return cacheConfig; + + } + +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_es.properties new file mode 100644 index 000000000..c74a50d3a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_es.properties @@ -0,0 +1,32 @@ +#geral +msg.noData=No se pudieron obtener datos con los parámetros proporcionados. + +#Labels cabeçalho +header.relatorio=Informe: +header.periodo.venda=Período: +header.periodoA=a +header.empresa=Empresa: +header.data.hora=Fecha/Hora: +header.impressorPor=Impreso por: +header.pagina=Página +header.de=de +header.filtros=Filtros: +header.filtro.pontoVenda=Agencia: +header.titulo=Informe de Comisión Sintético +header.pagina=Pagina: + +#Labels HEADER +label.agencia=Agencia +label.total.passagem=Total Venta de Boletos +label.comissao.passagem=Comisión Venta de Boletos +label.total.venda.imp=Total Venda Imp. Posterior +label.comissao.v.imp=Comisión Venda Imp. Posterior +label.total.imp=Total Imp. Posterior +label.comissao.imp=Comisión Imp. Posterior +label.total.excesso=Total Exceso de Equipaje +label.comissao.excesso=Comisión Exceso de Equipaje +label.total.outros=Total Otros (Animal 50%) +label.comissao.outros=Comisión Otros +label.faturamento.total=Facturación Total (Venta) +label.comissão.total=Valor Total de Comisión +label.total.geral=Total Geral \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_pt_BR.properties new file mode 100644 index 000000000..962ed154e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioComissaoSintetico_pt_BR.properties @@ -0,0 +1,32 @@ +#geral +msg.noData=Não foi possivel obter dados com os parâmetros informados. + +#Labels cabeçalho +header.relatorio=Relatório: +header.periodo.venda=Período: +header.periodoA=à +header.empresa=Empresa: +header.data.hora=Data/Hora: +header.impressorPor=Impressor por: +header.pagina=Página +header.de=de +header.filtros=Filtros: +header.filtro.pontoVenda=Agnecia: +header.titulo=Relatório Comissão Sintético +header.pagina=Pagina: + +#Labels HEADER +label.agencia=Agencia +label.total.passagem=Total Venda Passagem +label.comissao.passagem=Comissão Venda Passagem +label.total.venda.imp=Total Venda Imp. Posterior +label.comissao.v.imp=Comissão Venda Imp. Posterior +label.total.imp=Total Imp. Posterior +label.comissao.imp=Comissão Imp. Posterior +label.total.excesso=Total Excesso Bagagem +label.comissao.excesso=Comissão Excesso Bagagem +label.total.outros=Total Outros (Animal 50%) +label.comissao.outros=Comissão Outros +label.faturamento.total=Faturamento Total (Venda) +label.comissão.total=Valor Total Comissão +label.total.geral=Total Geral \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jasper new file mode 100644 index 0000000000000000000000000000000000000000..0c0c0d23531c90c6cd0fbb969307f5083b22d7d4 GIT binary patch literal 58438 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 literal 0 HcmV?d00001 diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jrxml new file mode 100644 index 000000000..c634df83a --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioComissaoSintetico.jrxml @@ -0,0 +1,586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <band height="127"> + <textField pattern="dd/MM/yyyy HH:mm"> + <reportElement uuid="32538cdd-7697-4a03-8035-f9474e869395" x="495" y="0" width="80" height="16"/> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="abc399f3-d012-46aa-b4e9-678ab812bee4" x="382" y="0" width="113" height="16"/> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.data.hora}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="f25e6675-4dcb-4d37-8586-e50abe4013af" x="70" y="53" width="505" height="20"/> + <textElement> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[($P{DATA_INICIAL} != null ? new SimpleDateFormat("dd/MM/yyyy").format($P{DATA_INICIAL}) + " à " + new SimpleDateFormat("dd/MM/yyyy").format($P{DATA_FINAL}) : "")]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="e15cecc4-995a-4cbc-934e-44970c809849" x="2" y="53" width="68" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$R{header.periodo.venda}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="d3d41ddb-2dbb-4b0e-bf82-02af7f81b63f" x="2" y="72" width="68" height="20" isRemoveLineWhenBlank="true"/> + <textElement/> + <textFieldExpression><![CDATA[$R{header.empresa}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="7bc881ef-b270-4178-8416-54ad2602eaab" x="70" y="92" width="505" height="20" isRemoveLineWhenBlank="true"/> + <textElement> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$P{NUMPUNTOVENTA}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="33bc773a-8bd3-4bc0-946c-664d78a19f5c" x="70" y="72" width="505" height="20" isRemoveLineWhenBlank="true"/> + <textElement> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$P{EMPRESA}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="c3b8e525-e015-4aaa-a505-1a92f3d6b0fb" x="2" y="92" width="68" height="20" isRemoveLineWhenBlank="true"/> + <textElement/> + <textFieldExpression><![CDATA[$R{header.filtro.pontoVenda}]]></textFieldExpression> + </textField> + <textField isStretchWithOverflow="true"> + <reportElement uuid="3bc4a172-01c3-4821-a595-9b2f7e794e90" stretchType="RelativeToTallestObject" x="70" y="112" width="505" height="14"/> + <textElement> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$P{FILTROS}]]></textFieldExpression> + </textField> + <textField pattern="" isBlankWhenNull="false"> + <reportElement uuid="7057e2fc-1c0c-4600-9052-26476c93b8f1" mode="Transparent" x="2" y="112" width="42" height="14" forecolor="#000000" backcolor="#FFFFFF"/> + <textElement textAlignment="Left" verticalAlignment="Top" rotation="None" markup="none"> + <font fontName="SansSerif" size="9" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false" pdfEncoding="Cp1252" isPdfEmbedded="false"/> + <paragraph lineSpacing="Single"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.filtros}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="83ba776d-57a0-428e-a059-7e0f7412ba27" x="357" y="36" width="218" height="16"/> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.impressorPor}+" "+$P{USUARIO}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="46a0fd96-3aa5-4f54-9315-5402efe99381" x="2" y="0" width="355" height="53"/> + <textElement> + <font size="20" isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.titulo}]]></textFieldExpression> + </textField> + <textField evaluationTime="Report"> + <reportElement uuid="4458c46c-d661-4cf5-999e-fd9b7e5d60ad" x="546" y="16" width="29" height="20"/> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="8"/> + </textElement> + <textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="8b45dca8-0cf5-4c10-aaa7-fce7b2d596c5" x="470" y="16" width="76" height="20"/> + <textElement textAlignment="Right" verticalAlignment="Middle"> + <font size="8"/> + <paragraph rightIndent="2"/> + </textElement> + <textFieldExpression><![CDATA[$R{header.pagina}+" "+$V{PAGE_NUMBER}+" de"]]></textFieldExpression> + </textField> + </band> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioComissaoSinteticoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioComissaoSinteticoBean.java new file mode 100644 index 000000000..5e9fac826 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioComissaoSinteticoBean.java @@ -0,0 +1,196 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +import java.math.BigDecimal; +import java.util.Objects; + +public class RelatorioComissaoSinteticoBean { + private String pontoVenda; + private Integer pontoVendaID; + private Integer empresaID; + private BigDecimal totalTarifa; + private BigDecimal comissaoTarifa; + private BigDecimal totalImpPosterior; + private BigDecimal comissaoImpPosterior; + private BigDecimal totalVendaImpPosterior; + private BigDecimal comissaoVendaImpPosterior; + private BigDecimal totalExcBagagem; + private BigDecimal comissaoExcBagagem; + private BigDecimal totalOutros; + private BigDecimal comissaoOutros; + private BigDecimal totalPagado; + private BigDecimal comissaoTotal; + private BigDecimal totalSeguro; + private BigDecimal totalPedagio; + private BigDecimal totalTaxaEmb; + private BigDecimal comissaoSeguro; + + public Integer getPontoVendaID() { + return pontoVendaID; + } + + public void setPontoVendaID(Integer pontoVendaID) { + this.pontoVendaID = pontoVendaID; + } + + public Integer getEmpresaID() { + return empresaID; + } + + public void setEmpresaID(Integer empresaID) { + this.empresaID = empresaID; + } + + public String getPontoVenda() { + return pontoVenda; + } + + public void setPontoVenda(String pontoVenda) { + this.pontoVenda = pontoVenda; + } + + public BigDecimal getTotalSeguro() { + return totalSeguro; + } + + public void setTotalSeguro(BigDecimal totalSeguro) { + this.totalSeguro = totalSeguro; + } + + public BigDecimal getTotalTaxaEmb() { + return totalTaxaEmb; + } + + public void setTotalTaxaEmb(BigDecimal totalTaxaEmb) { + this.totalTaxaEmb = totalTaxaEmb; + } + + public BigDecimal getTotalPegadio() { + return totalPedagio; + } + + public void setTotalPegadio(BigDecimal totalPegadio) { + this.totalPedagio = totalPegadio; + } + + public BigDecimal getTotalTarifa() { + return totalTarifa; + } + + public void setTotalTarifa(BigDecimal totalTarifa) { + this.totalTarifa = totalTarifa; + } + + public BigDecimal getComissaoTarifa() { + return comissaoTarifa; + } + + public void setComissaoTarifa(BigDecimal comissaoTarifa) { + this.comissaoTarifa = comissaoTarifa; + } + + public BigDecimal getTotalImpPosterior() { + return totalImpPosterior; + } + + public void setTotalImpPosterior(BigDecimal totalImpPosterior) { + this.totalImpPosterior = totalImpPosterior; + } + + public BigDecimal getComissaoImpPosterior() { + return comissaoImpPosterior; + } + + public BigDecimal getTotalVendaImpPosterior() { + return totalVendaImpPosterior; + } + + public void setTotalVendaImpPosterior(BigDecimal totalVendaImpPosterior) { + this.totalVendaImpPosterior = totalVendaImpPosterior; + } + + public BigDecimal getComissaoVendaImpPosterior() { + return comissaoVendaImpPosterior; + } + + public void setComissaoVendaImpPosterior(BigDecimal comissaoVendaImpPosterior) { + this.comissaoVendaImpPosterior = comissaoVendaImpPosterior; + } + + public void setComissaoImpPosterior(BigDecimal comissaoImpPosterior) { + this.comissaoImpPosterior = comissaoImpPosterior; + } + + public BigDecimal getTotalExcBagagem() { + return totalExcBagagem; + } + + public void setTotalExcBagagem(BigDecimal totalExcBagagem) { + this.totalExcBagagem = totalExcBagagem; + } + + public BigDecimal getComissaoExcBagagem() { + return comissaoExcBagagem; + } + + public void setComissaoExcBagagem(BigDecimal comissaoExcBagagem) { + this.comissaoExcBagagem = comissaoExcBagagem; + } + + public BigDecimal getTotalOutros() { + return totalOutros; + } + + public void setTotalOutros(BigDecimal totalOutros) { + this.totalOutros = totalOutros; + } + + public BigDecimal getComissaoOutros() { + return comissaoOutros; + } + + public void setComissaoOutros(BigDecimal comissaoOutros) { + this.comissaoOutros = comissaoOutros; + } + + public BigDecimal getTotalPagado() { + return totalPagado; + } + + public void setTotalPagado(BigDecimal totalPagado) { + this.totalPagado = totalPagado; + } + + public BigDecimal getComissaoTotal() { + return comissaoTotal; + } + + public void setComissaoTotal(BigDecimal comissaoTotal) { + this.comissaoTotal = comissaoTotal; + } + + public BigDecimal getComissaoSeguro() { + return comissaoSeguro; + } + + public void setComissaoSeguro(BigDecimal comissaoSeguro) { + this.comissaoSeguro = comissaoSeguro; + } + + @Override + public int hashCode() { + return Objects.hash(empresaID, pontoVendaID); + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + RelatorioComissaoSinteticoBean other = (RelatorioComissaoSinteticoBean) obj; + return Objects.equals(empresaID, other.empresaID) && Objects.equals(pontoVendaID, other.pontoVendaID); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDetalhamentoComissaoRelBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDetalhamentoComissaoRelBean.java new file mode 100644 index 000000000..aaed23800 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioDetalhamentoComissaoRelBean.java @@ -0,0 +1,6 @@ +package com.rjconsultores.ventaboletos.relatorios.utilitarios; + +public class RelatorioDetalhamentoComissaoRelBean { + + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioComissaoController.java new file mode 100644 index 000000000..f15dff16c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioComissaoController.java @@ -0,0 +1,194 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; + +import java.sql.Connection; +import java.util.ArrayList; +import java.util.Arrays; +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.Bandbox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Radiogroup; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioComissaoSintetico; +import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyDatebox; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioTaxasLinhaPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRelatorioTaxasLinhaPuntoVentaSelecionados; + +@Controller("relatorioComissaoController") +@Scope("prototype") +public class RelatorioComissaoController extends MyGenericForwardComposer { + /** + * + */ + private static final long serialVersionUID = 1L; + @Autowired + private transient PagedListWrapper plwPuntoVenta; + @Autowired + private DataSource dataSourceRead; + @Autowired + private EmpresaService empresaService; + private List lsEmpresa; + private MyDatebox datInicial; + private MyDatebox datFinal; + private MyTextbox txtNombrePuntoVenta; + private Radiogroup rdGroupTipoRelatorio; + private MyComboboxEstandar cmbEmpresa; + private Bandbox bbPesquisaPuntoVenta; + private MyListbox puntoVentaList; + private MyListbox puntoVentaSelList; + private Paging pagingPuntoVenta; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + puntoVentaList.setItemRenderer(new RenderRelatorioTaxasLinhaPuntoVenta()); + puntoVentaSelList.setItemRenderer(new RenderRelatorioTaxasLinhaPuntoVentaSelecionados()); + } + + private void executarPesquisa() { + HibernateSearchObject puntoVentaBusqueda = new HibernateSearchObject(PuntoVenta.class, pagingPuntoVenta.getPageSize()); + + puntoVentaBusqueda.addFilterILike("nombpuntoventa", "%" + txtNombrePuntoVenta.getValue() + "%"); + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + puntoVentaBusqueda.addSortAsc("nombpuntoventa"); + + puntoVentaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + plwPuntoVenta.init(puntoVentaBusqueda, puntoVentaList, pagingPuntoVenta); + + if (puntoVentaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioComissaoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onDoubleClick$puntoVentaSelList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaSelList.getSelected(); + puntoVentaSelList.removeItem(puntoVenta); + } + + public void onDoubleClick$puntoVentaList(Event ev) { + PuntoVenta puntoVenta = (PuntoVenta) puntoVentaList.getSelected(); + puntoVentaSelList.addItemNovo(puntoVenta); + } + + public void onClick$btnLimpar(Event ev) { + puntoVentaList.setData(new ArrayList()); + + bbPesquisaPuntoVenta.setText(""); + } + + public void onClick$btnExecutarRelatorio(Event ev) throws Exception { + executarRelatorio(); + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void executarRelatorio() throws Exception { + Relatorio relatorio; + Map parametros = new HashMap(); + StringBuilder filtro = new StringBuilder(); + + filtro.append("Agência: "); + String puntoVentaIds = ""; + String puntoVentas = ""; + List lsPuntoVentaSelecionados = new ArrayList(Arrays.asList(puntoVentaSelList.getData())); + if (lsPuntoVentaSelecionados.isEmpty()) { + puntoVentas = "Todas"; + puntoVentaIds = "-1"; + } else { + for (int i = 0; i < lsPuntoVentaSelecionados.size(); i++) { + PuntoVenta puntoVenta = lsPuntoVentaSelecionados.get(i); + puntoVentas = puntoVentas + puntoVenta.getNombpuntoventa() + ","; + + puntoVentaIds = puntoVentaIds + puntoVenta.getPuntoventaId() + ","; + } + + // removendo ultima virgulaUSU + puntoVentaIds = puntoVentaIds.substring(0, puntoVentaIds.length() - 1); + puntoVentas = puntoVentas.substring(0, puntoVentas.length() - 1); + } + filtro.append(puntoVentas).append(";"); + + parametros.put("DATA_INICIAL", (java.util.Date) this.datInicial.getValue()); + parametros.put("DATA_FINAL", (java.util.Date) this.datFinal.getValue()); + parametros.put("TITULO", Labels.getLabel("relatorioComissaoController.window.title")); + parametros.put("USUARIO", UsuarioLogado.getUsuarioLogado().getUsuarioId().toString()); + parametros.put("NUMPUNTOVENTA", puntoVentaIds); + filtro.append(" Empresa: "); + + 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;"); + } + + Connection connection = dataSourceRead.getConnection(); + try { + + parametros.put("FILTROS", filtro.toString()); + relatorio = new RelatorioComissaoSintetico(parametros, connection); + Map args = new HashMap(); + args.put("relatorio", relatorio); + + openWindow("/component/reportView.zul", + Labels.getLabel("relatorioComissaoController.window.title"), args, MODAL); + } finally { + if ((connection != null) && !connection.isClosed()) { + connection.close(); + } + } + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public Radiogroup getRdGroupTipoRelatorio() { + return rdGroupTipoRelatorio; + } + + public void setRdGroupTipoRelatorio(Radiogroup rdGroupTipoRelatorio) { + this.rdGroupTipoRelatorio = rdGroupTipoRelatorio; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioComissao.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioComissao.java new file mode 100644 index 000000000..dc4735478 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/relatorios/ItemMenuRelatorioComissao.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 ItemMenuRelatorioComissao extends DefaultItemMenuSistema { + + public ItemMenuRelatorioComissao() { + super("indexController.mniRelatorioComissao.label"); + } + + @Override + public String getClaveMenu() { + return "COM.RJCONSULTORES.ADMINISTRACION.GUI.RELATORIOS.MENU.RELATORIOCOMISSAO"; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/relatorios/filtroRelatorioComissao.zul", + Labels.getLabel("relatorioComissaoController.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 cb1782ba1..249ad5448 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 @@ -211,6 +211,7 @@ analitico.gerenciais.estatisticos.encerramentocheckin=com.rjconsultores.ventabol analitico.gerenciais.estatisticos.mmphDERPR=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioMmphDer analitico.gerenciais.financeiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.analitico.gerenciais.financeiro.SubMenuRelatorioFinanceiro analitico.gerenciais.financeiro.receitaDiariaAgencia=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioReceitaDiariaAgencia +analitico.gerenciais.financeiro.RelatorioComissao=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioComissao analitico.gerenciais.financeiro.taxas=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioTaxasLinha analitico.gerenciais.financeiro.ocd=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioOCD analitico.gerenciais.financeiro.vendasBilheteiro=com.rjconsultores.ventaboletos.web.utilerias.menu.item.relatorios.ItemMenuRelatorioVendasBilheteiro diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index 3f6e98b20..3e050cbe3 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -349,6 +349,7 @@ indexController.mniRelatorioGratuidade.label = Relatório Tipo Passagem indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR indexController.mniRelatorioPassagensAGR.label = AGR Tickets Report +indexController.mniRelatorioComissao.label = Commission Report indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER @@ -942,6 +943,20 @@ relatorioReceitaServicoController.lbEmpresa.value = Empresa relatorioReceitaServicoController.lbClase.value = Classe relatorioReceitaServicoController.lbServico.value = N. Serviço +#Relatorio Comissao +relatorioComissaoController.window.title = Commission Report +relatorioComissaoController.lbEmpresa.value = Company +relatorioComissaoController.lbNumero.value = Agency Number +relatorioComissaoController.lbAte.value = until +relatorioComissaoController.lbDatInicial.value = Start Date +relatorioComissaoController.lbDatFinal.value = End Date +relatorioComissaoController.lbTipoData.value = Date Type +relatorioComissaoController.lbTipoData.venda.value = Sales Date +relatorioComissaoController.lbPuntoVenta.value = Agency No. +relatorioComissaoController.lbPuntoVenta.value = Agency +relatorioComissaoController.lbTipoRelatorio.analitico.value=Analytical +relatorioComissaoController.lbTipoRelatorio.sintetico.value=Synthetic + #Relatorio de Diferencas de Transferencias relatorioDiferencasTransferenciasController.window.title = Relatório de Diferenças em Transferências relatorioDiferencasTransferenciasController.lbDePeriodoTransferencia.value = Data inicial diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index f1710514a..e1285a433 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -333,6 +333,7 @@ indexController.mniRelatorioGratuidade.label = Gratuidades indexController.mniRelatorioGratuidadeANTT.label = Gratuidades ANTT indexController.mniRelatorioGratuidadeAGR.label = Gratuidades AGR indexController.mniRelatorioPassagensAGR.label = Relatório de Passagens AGR +indexController.mniRelatorioComissao.label = Relatório Comissão indexController.mniRelatorioGratuidadeAGEPAN.label = Gratuidades AGEPAN indexController.mniRelatorioExportacaoIdosoARTESP.label = Reporte Exportación Ancianos ARTESP indexController.mniRelatorioGratuidadeIdosoDeficiente.label = Gratuidades Idoso/Deficiente @@ -823,6 +824,20 @@ relatorioReceitaServicoController.lbEmpresa.value = Empresa relatorioReceitaServicoController.lbClase.value = Clase relatorioReceitaServicoController.lbServico.value = N. Servicio +#Relatorio Comissao +relatorioComissaoController.window.title = Reporte de Comisión +relatorioComissaoController.lbEmpresa.value = Empresa +relatorioComissaoController.lbNumero.value = Número de Agencia +relatorioComissaoController.lbAte.value = hasta +relatorioComissaoController.lbDatInicial.value = Fecha Inicial +relatorioComissaoController.lbDatFinal.value = Fecha Final +relatorioComissaoController.lbTipoData.value = Tipo de Fecha +relatorioComissaoController.lbTipoData.venda.value = Fecha de Venta +relatorioComissaoController.lbPuntoVenta.value = N. de Agencia +relatorioComissaoController.lbPuntoVenta.value = Agencia +relatorioComissaoController.lbTipoRelatorio.analitico.value=Analítico +relatorioComissaoController.lbTipoRelatorio.sintetico.value=Sintético + #Relatorio de Diferencas de Transferencias relatorioDiferencasTransferenciasController.window.title = Reporte de diferencias en transferencias relatorioDiferencasTransferenciasController.lbDePeriodoTransferencia.value = Fecha inicial diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index ae88f5206..126c51eb7 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -350,6 +350,7 @@ indexController.mniRelatorioGratuidadeANTT.label = Relatório Gratuidades ANTT indexController.mniRelatorioGratuidadeAGR.label = Relatório Gratuidades AGR indexController.mniRelatorioPassagensAGR.label = Relatório Passagens AGR indexController.mnSubMenuAGR.label=Relatório AGR +indexController.mniRelatorioComissao.label = Relatório Comissão indexController.mniRelatorioGratuidadeARTESP.label = Relatório Gratuidade ARTESP indexController.mniRelatorioGratuidadeAGER.label = Relatório Gratuidade AGER indexController.mniRelatorioPassagensAGER.label = Relatório Passagens AGER @@ -942,6 +943,20 @@ relatorioReceitaServicoController.lbEmpresa.value = Empresa relatorioReceitaServicoController.lbClase.value = Classe relatorioReceitaServicoController.lbServico.value = N. Serviço +#Relatorio Comissao +relatorioComissaoController.window.title = Relatório Comissao +relatorioComissaoController.lbEmpresa.value = Empresa +relatorioComissaoController.lbNumero.value = Número Agência +relatorioComissaoController.lbAte.value = até +relatorioComissaoController.lbDatInicial.value = Data Inicial +relatorioComissaoController.lbDatFinal.value = Data Final +relatorioComissaoController.lbTipoData.value = Tipo de Data +relatorioComissaoController.lbTipoData.venda.value = Data Venda +relatorioComissaoController.lbPuntoVenta.value = N. Agência +relatorioComissaoController.lbPuntoVenta.value = Agência +relatorioComissaoController.lbTipoRelatorio.analitico.value=Analitico +relatorioComissaoController.lbTipoRelatorio.sintetico.value=Sintético + #Relatorio de Diferencas de Transferencias relatorioDiferencasTransferenciasController.window.title = Relatório de Diferenças em Transferências relatorioDiferencasTransferenciasController.lbDePeriodoTransferencia.value = Data inicial diff --git a/web/gui/relatorios/filtroRelatorioComissao.zul b/web/gui/relatorios/filtroRelatorioComissao.zul new file mode 100644 index 000000000..a4c04a6bc --- /dev/null +++ b/web/gui/relatorios/filtroRelatorioComissao.zul @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +