From 6e69f98074699a900d7dcf07b98af63cd52da3d3 Mon Sep 17 00:00:00 2001 From: Fabio Faria Date: Mon, 21 Nov 2022 14:49:38 -0300 Subject: [PATCH] Sincronismo com fonte atual --- src/java/com/rjconsultores/Teste.java | 2 + .../RelatorioAcompanhamentoEquivalentes.java | 14 +- .../impl/RelatorioAgenciaFechamentoNovo.java | 99 +++--- .../RelatorioAproveitamentoFinanceiro.java | 5 +- .../impl/RelatorioEstornoCartao.java | 44 +-- .../relatorios/impl/RelatorioGratuidade.java | 12 +- .../relatorios/impl/RelatorioIndiceIRK.java | 24 +- .../impl/RelatorioVendasBilheteiro.java | 2 +- .../impl/RelatorioVendasCartoes.java | 3 +- .../templates/RelatorioVendasCartoes.jasper | Bin 42975 -> 42974 bytes .../templates/RelatorioVendasCartoes.jrxml | 2 +- .../RelatorioVendasCartoesBean.java | 6 +- .../catalogos/EditarCategoriaController.java | 3 + .../catalogos/EditarEmpresaController.java | 19 +- .../catalogos/EditarPuntoVentaController.java | 327 ++++++++++++++---- ...arPuntoVentaMotivoFormaPagoController.java | 148 ++++++++ ...ndaHistoricoFormaPagoListItemRenderer.java | 54 +++ .../relatorios/RelatorioSapController.java | 59 ++-- .../tarifas/CalcularPeajeController.java | 20 ++ .../tarifas/GenerarTarifaOrgaoController.java | 176 +++++++++- .../ventaboletos/web/utilerias/MyAppInit.java | 4 +- .../render/RenderFechamentoCntcorrente.java | 5 +- .../render/RenderHistoricoFormaPago.java | 49 +++ .../RenderHistoricoFormaPagoSelecao.java | 56 +++ src/java/spring-config.xml | 1 + src/java/versionADM.info | 2 +- 26 files changed, 924 insertions(+), 212 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaMotivoFormaPagoController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/PuntoVendaHistoricoFormaPagoListItemRenderer.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPago.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPagoSelecao.java diff --git a/src/java/com/rjconsultores/Teste.java b/src/java/com/rjconsultores/Teste.java index 5f0d4824b..6a96d70eb 100644 --- a/src/java/com/rjconsultores/Teste.java +++ b/src/java/com/rjconsultores/Teste.java @@ -6,6 +6,7 @@ import java.lang.reflect.Proxy; import java.util.Map; import com.rjconsultores.ventaboletos.entidad.Tarifa; + import br.com.rjconsultores.auditador.annotations.AuditarClasse; public class Teste { @@ -40,4 +41,5 @@ public class Teste { e.printStackTrace(); } } + } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java index 893a27d90..82cb935fd 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAcompanhamentoEquivalentes.java @@ -38,7 +38,8 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { private static final Integer CEM = Integer.valueOf(100); private static final Integer DECIMAL = Integer.valueOf(4); private static String CONSTANTE_GRATUIDADE_CRIANCA; - + private static final Integer REC_KM = 2; + enum IndicadorRelatorio { MPE(1), RECEITA_KM(2), RECEITA_VIAGEM(3), IAP(4), PAXKM(5), ABSOLUTO(6), EQ(7); @@ -83,7 +84,7 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { while (this.resultSet.next()) { Integer indicador = (Integer) this.relatorio.getParametros().get("INDICADOR"); - // Integer rolOperativoId = this.resultSet.getInt("ROLOPERATIVO_ID"); + Integer rolOperativoId = this.resultSet.getInt("ROLOPERATIVO_ID"); Integer corridaId = this.resultSet.getInt("CORRIDA_ID"); Integer assentos = this.resultSet.getInt("ASSENTOS"); Integer rutaId = this.resultSet.getInt("RUTA_ID"); @@ -107,11 +108,14 @@ public class RelatorioAcompanhamentoEquivalentes extends Relatorio { // Mantis 15983 // A query principal do relatório possuía a coluna ROLOPERATIVO_ID assim duplicando os serviços quando existiam mais de um ROLOPERATIVO_ID por CORRIDA_ID. // Assim foi retirado a coluna ROLOPERATIVO_ID da query principal mas foi feito antes um mapa com a relação CORRIDA_ID x ROLOPERATIVO_ID(s) - if (listaRoloperativoId != null) { - for (Integer rolOperativoId : listaRoloperativoId) { - ls.addAll(getValorByIndicador(corridaId, rolOperativoId, indicador, assentos, dataInicial, rutaId, horario, isServicoExtra, + if (listaRoloperativoId != null && indicador != REC_KM) { + for (Integer rolOperativoId2 : listaRoloperativoId) { + ls.addAll(getValorByIndicador(corridaId, rolOperativoId2, indicador, assentos, dataInicial, rutaId, horario, isServicoExtra, diagramaAutoBusId,considerarApenasTarifa)); } + } else { + ls.addAll(getValorByIndicador(corridaId, rolOperativoId, indicador, assentos, dataInicial, rutaId, horario, isServicoExtra, + diagramaAutoBusId,considerarApenasTarifa)); } // Roda todos os dias do mes diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java index 0d8bb1a43..bb78a7fef 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAgenciaFechamentoNovo.java @@ -41,6 +41,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { String empresa = parametros.get("empresa") != null ? parametros.get("empresa").toString() : ""; String empresaNome = parametros.get("empresaNome") != null ? parametros.get("empresaNome").toString() : ""; String puntoVenta = parametros.get("NUMPUNTOVENTA") != null ? parametros.get("NUMPUNTOVENTA").toString() : null; + lsDadosRelatorio = new ArrayList(); String sql = carregarDadosTotaisdeVenda(puntoVenta, empresa); @@ -67,7 +68,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { BigDecimal valorExcesso = BigDecimal.ZERO; BigDecimal valorSeguro = BigDecimal.ZERO; - BigDecimal difMaior = BigDecimal.ZERO; + BigDecimal difMaior = BigDecimal.ZERO; BigDecimal total = BigDecimal.ZERO; @@ -110,25 +111,28 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { } - - agenciaFechamento.setQtdExcesso(qtdExcesso); agenciaFechamento.setQtdSeguro(qtdSeguro); agenciaFechamento.setValorExcesso(valorExcesso); agenciaFechamento.setValorSeguro(valorSeguro); agenciaFechamento.setDifMaior(difMaior); - //total.add(rset1.getBigDecimal("valorBilhete")); - //total.add(rset1.getBigDecimal("valorVch")); - //total.add(rset1.getBigDecimal("valorInternet")); - total = rset1.getBigDecimal("total"); - total.add(difMaior); - //total.subtract(rset1.getBigDecimal("valorEstornado")); - //total.subtract(rset1.getBigDecimal("valorEstornado")); - //total.subtract(rset1.getBigDecimal("valorOCD")); + total = total.add(rset1.getBigDecimal("valorBilhete")); + total = total.add(rset1.getBigDecimal("valorVch")); + total = total.add(rset1.getBigDecimal("valorInternet")); + + + + total = total.add(difMaior); + total = total.subtract(rset1.getBigDecimal("valorEstornado")); + total = total.subtract(rset1.getBigDecimal("valorOCD")); + + agenciaFechamento.setTotal(total); + + agenciaFechamento.setValorOCD(rset1.getBigDecimal("valorOCD")); @@ -163,28 +167,22 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { StringBuilder sql = new StringBuilder(); - /* - * sql.append("WITH BASE_DIF AS ("); sql.append(" SELECT (C.PRECIOPAGADO - CF.IMPORTE) AS DIF_MAIOR,"); sql.append(" C.CAJA_ID"); sql.append(" FROM CAJA C INNER JOIN CAJA_FORMAPAGO CF ON (C.CAJA_ID = CF.CAJA_ID)"); sql.append(" INNER JOIN FORMA_PAGO FG ON (CF.FORMAPAGO_ID = FG.FORMAPAGO_ID)"); sql.append(" INNER JOIN BOLETO B ON (C.TRANSACAOORIGINAL_ID = B.BOLETO_ID)"); - * sql.append(" WHERE FG.FORMAPAGO_ID <> 10 AND C.PRECIOPAGADO > IMPORTE"); sql.append(" )"); - */ - sql.append(" SELECT CODIGO,"); - sql.append(" DESCRICAO,"); - sql.append(" VALORBILHETE,"); - sql.append(" QTDBILHETE,"); - sql.append(" VALORSEGURO,"); - sql.append(" QTDSEGURO,"); - sql.append(" VALORVCH,"); - sql.append(" QTDVCH,"); - sql.append(" VALORINTERNET,"); - sql.append(" QTDINTERNET,"); - sql.append(" VALORCANCELADO,"); - sql.append(" QTDCANCELADO,"); - sql.append(" VALORESTORNADO,"); - sql.append(" QTDESTORNADO,"); - sql.append(" VALOROCD,"); - //sql.append(" DIFMAIOR,"); - sql.append(" ((VALORBILHETE+VALORVCH+VALORINTERNET)-VALORCANCELADO-VALORESTORNADO-VALOROCD) AS TOTAL"); - sql.append(" FROM ("); + sql.append(" SELECT CODIGO, "); + sql.append(" DESCRICAO, "); + sql.append(" SUM(VALORBILHETE) AS VALORBILHETE, "); + sql.append(" SUM(QTDBILHETE) AS QTDBILHETE, "); + sql.append(" SUM(VALORSEGURO) AS VALORSEGURO, "); + sql.append(" SUM(QTDSEGURO) AS QTDSEGURO, "); + sql.append(" SUM(VALORVCH) AS VALORVCH, "); + sql.append(" SUM(QTDVCH) AS QTDVCH, "); + sql.append(" SUM(VALORINTERNET) AS VALORINTERNET, "); + sql.append(" SUM(QTDINTERNET) AS QTDINTERNET, "); + sql.append(" SUM(VALORCANCELADO) AS VALORCANCELADO, "); + sql.append(" SUM(QTDCANCELADO) AS QTDCANCELADO, "); + sql.append(" SUM(VALORESTORNADO) AS VALORESTORNADO, "); + sql.append(" SUM(QTDESTORNADO) AS QTDESTORNADO, "); + sql.append(" SUM(VALOROCD) AS VALOROCD "); + sql.append(" FROM ( "); sql.append(" SELECT pv.PUNTOVENTA_ID AS codigo, "); sql.append(" pv.nombpuntoventa AS descricao, "); sql.append(" COALESCE(SUM( "); @@ -193,7 +191,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" AND (c.INDREMOTOINVERSO IS NULL "); sql.append(" OR c.INDREMOTOINVERSO =0) "); sql.append(" AND (c.INDSTATUSBOLETO <> 'E' AND c.TIPOVENTA_ID not in (5,12,18)) "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE null "); sql.append(" END),0) AS valorBilhete, "); sql.append(" COALESCE(COUNT( "); @@ -223,7 +221,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" CASE "); sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND (c.INDSTATUSBOLETO = 'E' OR c.TIPOVENTA_ID in (5,18)) "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorVch, "); sql.append(" COALESCE(COUNT( "); @@ -237,7 +235,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" CASE "); sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NULL "); sql.append(" AND c.TIPOVENTA_ID = 12 "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorInternet, "); sql.append(" COALESCE(COUNT( "); @@ -249,13 +247,13 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" END),0) AS qtdInternet, "); sql.append(" COALESCE(SUM( "); sql.append(" CASE "); - sql.append(" WHEN c.MOTIVOCANCELACION_ID = 31 "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" WHEN (c.MOTIVOCANCELACION_ID IN (31))"); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorCancelado, "); sql.append(" COALESCE(COUNT( "); sql.append(" CASE "); - sql.append(" WHEN c.MOTIVOCANCELACION_ID = 31 "); + sql.append(" WHEN (c.MOTIVOCANCELACION_ID IN (31))"); sql.append(" THEN 1 "); sql.append(" ELSE NULL "); sql.append(" END),0) AS qtdCancelado, "); @@ -263,7 +261,7 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" CASE "); sql.append(" WHEN c.MOTIVOCANCELACION_ID IS NOT NULL "); sql.append(" AND c.MOTIVOCANCELACION_ID <> 31 "); - sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); + sql.append(" THEN ( COALESCE(c.IMPORTEOUTROS,0) + COALESCE(c.IMPORTEPEDAGIO,0) +COALESCE(c.IMPORTETAXAEMBARQUE ,0)+COALESCE(c.preciopagado,0)) "); sql.append(" ELSE 0 "); sql.append(" END),0) AS valorEstornado, "); sql.append(" COALESCE(COUNT( "); @@ -273,33 +271,36 @@ public class RelatorioAgenciaFechamentoNovo extends Relatorio { sql.append(" THEN 1 "); sql.append(" ELSE NULL "); sql.append(" END),0) AS qtdEstornado, "); - sql.append(" COALESCE(SUM(O.VALOR_PAGAR),0) AS VALOROCD "); - //sql.append(" COALESCE(SUM(BD.DIF_MAIOR),0) AS DIFMAIOR"); + sql.append(" CASE "); + sql.append(" WHEN (nvl(o.boleto_id,0) <> 0) THEN "); + sql.append(" SUM(nvl(b.preciopagado, 0) + nvl(b.importetaxaembarque, 0) + nvl(b.importeoutros, 0) + nvl(b.importepedagio, 0) + nvl(b.importeseguro, 0)) ELSE 0 "); + sql.append(" END AS VALOROCD "); sql.append(" FROM CAJA c "); sql.append(" INNER JOIN PUNTO_VENTA pv "); sql.append(" ON c.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); sql.append(" INNER JOIN marca m "); sql.append(" ON m.marca_id = c.marca_id "); - sql.append(" LEFT JOIN OCD O "); - sql.append(" ON (C.TRANSACAOORIGINAL_ID = O.BOLETO_ID AND O.INDPAGO = 1)"); - /*sql.append(" LEFT JOIN BASE_DIF BD "); - sql.append(" ON (BD.CAJA_ID = C.CAJA_ID)");*/ + sql.append(" INNER JOIN EMPRESA e "); + sql.append(" ON e.EMPRESA_ID = m.EMPRESA_ID "); + sql.append(" INNER JOIN BOLETO b ON b.BOLETO_ID = c.TRANSACAO_ID "); + sql.append(" LEFT JOIN OCD o "); + sql.append(" ON c.TRANSACAOANTERIOR_ID = o.BOLETO_ID "); sql.append(" WHERE c.TURNO_ID IS NOT NULL "); sql.append(" AND c.FECCORTE BETWEEN :de AND :ate "); if (puntoVenta != null && !puntoVenta.equals("-1")) { sql.append(" AND c.PUNTOVENTA_ID in (" + puntoVenta + ") "); } sql.append(" AND c.TIPOVENTA_ID <> 6 "); - sql.append(" AND c.INDREIMPRESION = 0 "); + //sql.append(" AND c.INDREIMPRESION = 0 "); if (empresa != null && !empresa.equals("") && !empresa.equals("-1")) { sql.append(" AND m.empresa_id = "+empresa+" "); } sql.append(" AND C.ACTIVO = 1 "); sql.append(" AND NVL(C.MONEDA_ID, 1) = :MOEDA_ID "); - sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa "); + sql.append(" GROUP BY pv.PUNTOVENTA_ID, pv.nombpuntoventa, o.boleto_id "); sql.append(" ORDER BY pv.nombpuntoventa "); - sql.append(")"); + sql.append(") GROUP BY codigo, descricao "); return sql.toString(); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java index 2f9e8aebb..6a65942ca 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioAproveitamentoFinanceiro.java @@ -40,7 +40,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { sql.append(" FROM "); sql.append(" CORRIDA CR, "); sql.append(" TRAMO TR, "); - sql.append(" RUTA R, "); + sql.append(" RUTA R, "); sql.append(" RUTA_COMBINACION RC, "); sql.append(" TARIFA TF, "); sql.append(" VIGENCIA_TARIFA VT "); @@ -60,7 +60,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { sql.append(" AND TR.ORIGEN_ID = CR.ORIGEN_ID "); sql.append(" AND TR.DESTINO_ID = CR.DESTINO_ID "); sql.append(" AND TF.VIGENCIATARIFA_ID = VT.VIGENCIATARIFA_ID "); - sql.append(" AND TF.ORGAOCONCEDENTE_ID = R.ORGAOCONCEDENTE_ID "); + sql.append(" AND TF.ORGAOCONCEDENTE_ID = R.ORGAOCONCEDENTE_ID "); sql.append(" AND VT.ACTIVO = 1 "); sql.append(" AND CR.FECCORRIDA BETWEEN VT.FECINICIOVIGENCIA AND VT.FECFINVIGENCIA "); sql.append(" AND TF.CLASESERVICIO_ID = CR.CLASESERVICIO_ID "); @@ -98,6 +98,7 @@ public class RelatorioAproveitamentoFinanceiro extends Relatorio { sql.append(" left join diagrama_autobus da "); sql.append(" on ro.diagramaautobus_id = da.diagramaautobus_id "); sql.append(" WHERE co.activo = 1 "); + sql.append(" AND c.activo = 1 "); sql.append(" AND m.EMPRESA_ID = :EMPRESA_ID "); sql.append(" and co.FECCORRIDA >= :DATA_INICIAL "); sql.append(" and co.FECCORRIDA <= :DATA_FINAL "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java index 0b81fac5e..162f6cf82 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioEstornoCartao.java @@ -19,12 +19,6 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; */ public class RelatorioEstornoCartao extends Relatorio { - private final int CODIGO_TROCA_PASSAGEM_ID = 10; - private final int CODIGO_TRANSFERENCIA_PASSAGEM_ID = 23; - private final int CODIGO_CANCELAMENTO_ID = 31; - private final int CODIGO_DEVOLUCAO_ID = 32; - private final int CODIGO_GERACAOOCD_ID = 34; - private final int CODIGO_GERACAOOCDNEW_ID = 99; protected RelatorioEstornoCartao(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -58,15 +52,6 @@ public class RelatorioEstornoCartao extends Relatorio { stmt.setString("cartao", parametros.get("CARTAO").toString()); } - stmt.setInt("trocaPassagem", CODIGO_TROCA_PASSAGEM_ID); - stmt.setInt("transferenciaPassagem", CODIGO_TRANSFERENCIA_PASSAGEM_ID); - stmt.setInt("cancelamento", CODIGO_CANCELAMENTO_ID); - stmt.setInt("devolucao", CODIGO_DEVOLUCAO_ID); - stmt.setInt("geracaoocd", CODIGO_GERACAOOCD_ID); - stmt.setInt("geracaoocdnew", CODIGO_GERACAOOCDNEW_ID); - - - ResultSet rset = stmt.executeQuery(); while (rset.next()) { @@ -133,7 +118,21 @@ public class RelatorioEstornoCartao extends Relatorio { sql.append(" pvBoleto.NUMPUNTOVENTA agenciaVenda, "); sql.append(" fp.descpago formaPago, "); sql.append(" e.nombempresa, "); - sql.append(" mc.descmotivo "); + + //SubSelect para evitar duplicacao dos registros por causa do join com a caja + sql.append(" COALESCE(( select mc.descmotivo "); + sql.append(" from "); + sql.append(" motivo_cancelacion mc join caja c "); + sql.append(" on c.motivocancelacion_id = mc.motivocancelacion_id "); + sql.append(" where "); + sql.append(" c.numoperacion = dec.numoperacion "); + sql.append(" AND c.origen_id = dec.origen_id "); + sql.append(" AND c.destino_id = dec.destino_id "); + sql.append(" AND c.corrida_id = dec.corrida_id "); + sql.append(" AND c.numfoliosistema = dec.numfoliosistema "); + sql.append(" AND c.indreimpresion = 1 "); + sql.append(" AND rownum = 1), 'CANCELAMENTO') as descmotivo "); + sql.append(" FROM "); sql.append(" DADOS_ESTORNO_CARTAO DEC "); sql.append(" JOIN punto_venta pv "); @@ -158,18 +157,8 @@ public class RelatorioEstornoCartao extends Relatorio { sql.append(" JOIN EMPRESA e "); sql.append(" ON "); sql.append(" e.EMPRESA_ID = m.EMPRESA_ID "); - sql.append("JOIN caja c ON c.NUMOPERACION = dec.NUMOPERACION and"); - sql.append(" c.origen_id = dec.origen_id and"); - sql.append(" c.destino_id = dec.destino_id and"); - sql.append(" c.corrida_id = dec.corrida_id and"); - sql.append(" (c.motivocancelacion_id in "); - sql.append(" (:trocaPassagem, :transferenciaPassagem, :cancelamento, "); - sql.append(" :devolucao, :geracaoocd, :geracaoocdnew)) "); - sql.append("left OUTER JOIN motivo_cancelacion mc "); - sql.append("ON "); - sql.append(" c.motivocancelacion_id = mc.motivocancelacion_id "); sql.append(" WHERE "); - sql.append(" dec.activo = 1 "); + sql.append(" dec.activo = 1 "); if (parametros.get("NUMPUNTOVENTA") != null && !parametros.get("NUMPUNTOVENTA").equals("-1")) { sql.append(" AND dec.PUNTOVENTA_ID IN(" + parametros.get("NUMPUNTOVENTA") + ") "); @@ -192,6 +181,7 @@ public class RelatorioEstornoCartao extends Relatorio { } sql.append(" AND DEC.FECREGISTRO BETWEEN :data_inicial AND :data_final "); + sql.append(" ORDER BY DEC.FECREGISTRO "); return sql.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java index 6d8c154e2..41288c754 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioGratuidade.java @@ -226,8 +226,8 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" JOIN tipo_venta tv ON tv.tipoventa_id = b.tipoventa_id"); sb.append(" JOIN punto_venta ag ON ag.puntoventa_id = b.puntoventa_id"); sb.append(" JOIN usuario u ON u.usuario_id = b.usuario_id"); - sb.append(" JOIN vigencia_tarifa vt ON b.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia and vt.activo = 1"); - sb.append(" JOIN tarifa tar ON (tar.ruta_id = b.ruta_id"); + sb.append(" LEFT JOIN vigencia_tarifa vt ON b.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia and vt.activo = 1"); + sb.append(" LEFT JOIN tarifa tar ON (tar.ruta_id = b.ruta_id"); sb.append(" AND tar.marca_id = b.marca_id"); sb.append(" AND tar.claseservicio_id = b.claseservicio_id"); sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); @@ -235,7 +235,7 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" AND tar.destino_id = b.destino_id and tar.activo = 1)"); sb.append(" JOIN marca m on m.marca_id = b.marca_id"); sb.append(" JOIN empresa e on e.empresa_id = m.empresa_id"); - sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = tar.orgaoconcedente_id"); + sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_id"); sb.append(" LEFT JOIN bpe bpe on bpe.boleto_id = b.boleto_id "); sb.append(" WHERE 1=1 and b.tipoventa_id = 15"); sb.append(" AND b.indstatusboleto = 'S' "); @@ -337,8 +337,8 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" JOIN tipo_venta tv ON tv.tipoventa_id = c.tipoventa_id"); sb.append(" JOIN punto_venta ag ON ag.puntoventa_id = c.puntoventa_id"); sb.append(" JOIN usuario u ON u.usuario_id = c.usuario_id"); - sb.append(" JOIN vigencia_tarifa vt ON c.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia"); - sb.append(" JOIN tarifa tar ON (tar.ruta_id = c.ruta_id"); + sb.append(" LEFT JOIN vigencia_tarifa vt ON c.fechorventa BETWEEN vt.feciniciovigencia AND vt.fecfinvigencia and vt.activo = 1 "); + sb.append(" LEFT JOIN tarifa tar ON (tar.ruta_id = c.ruta_id"); sb.append(" AND tar.marca_id = c.marca_id"); sb.append(" AND tar.claseservicio_id = c.claseservicio_id"); sb.append(" AND tar.vigenciatarifa_id = vt.vigenciatarifa_id"); @@ -346,7 +346,7 @@ public class RelatorioGratuidade extends Relatorio { sb.append(" AND tar.destino_id = c.destino_id and tar.activo = 1)"); sb.append(" JOIN marca m on m.marca_id = c.marca_id"); sb.append(" JOIN empresa e on e.empresa_id = m.empresa_id"); - sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = tar.orgaoconcedente_id"); + sb.append(" JOIN orgao_concedente og ON og.orgaoconcedente_id = r.orgaoconcedente_id"); sb.append(" LEFT JOIN bpe bpe on bpe.boleto_id = c.transacao_id "); sb.append(" LEFT JOIN cambio_titularidad ct on ct.boleto_id = c.transacao_id "); sb.append(" LEFT JOIN bpe bpe on bpe.boleto_id = c.transacao_id "); diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIndiceIRK.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIndiceIRK.java index 0f3c67e24..87f62a3f3 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIndiceIRK.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioIndiceIRK.java @@ -21,6 +21,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioIndiceIRKBean; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; @@ -53,7 +54,7 @@ public class RelatorioIndiceIRK extends Relatorio { String corridasIds = parametros.get("SERVICO_FILTRO") != null ? (parametros.get("SERVICO_FILTRO").toString()) : null; // Executa query relatório e preenche objeto relatório - lsDadosRelatorio= preencheAgrupaRelatorioBean(preparaExecutaQuery(parametros, conexao, rutaId, empresa, grupoRutaId, rutaIds, corridasIds)); + lsDadosRelatorio= preencheAgrupaRelatorioBean(preparaExecutaQuery(parametros, conexao, rutaId, empresa, grupoRutaId, rutaIds, corridasIds), parametros); // Ordena pela Desc Linha Collections.sort(lsDadosRelatorio, new Comparator() { @@ -144,7 +145,7 @@ public class RelatorioIndiceIRK extends Relatorio { sb.append(" gruporuta,"); sb.append(" indiceirkminimo,"); sb.append(" hora,"); - sb.append(" extensao,"); + sb.append(" (extensao) AS extensao,"); sb.append(" SUM(seguro) AS seguro,"); sb.append(" SUM(txembarque) AS txembarque,"); sb.append(" SUM(pedagio) AS pedagio,"); @@ -230,8 +231,14 @@ public class RelatorioIndiceIRK extends Relatorio { } - private List preencheAgrupaRelatorioBean(ResultSet rset) throws SQLException { + private List preencheAgrupaRelatorioBean(ResultSet rset, Map parametros) throws SQLException { + lsDadosRelatorio = new ArrayList(); + Date dataInicio = (Date) parametros.get("DATA_INICIO"); + Date dataFinal = (Date) parametros.get("DATA_FINAL"); + + int diferenciaDeDiasFiltroData = calcularQuantidadeDeDiasFiltroData(dataInicio, dataFinal); + while (rset.next()) { RelatorioIndiceIRKBean relatorioIndiceIRK = new RelatorioIndiceIRKBean(); relatorioIndiceIRK.setServico((Integer) rset.getInt("servico")); @@ -242,7 +249,7 @@ public class RelatorioIndiceIRK extends Relatorio { relatorioIndiceIRK.setIrkMinimo((BigDecimal) rset.getObject("indiceirkminimo")); relatorioIndiceIRK.setHora((String) rset.getObject("hora")); relatorioIndiceIRK.setExtensao((BigDecimal) rset.getObject("extensao")); - relatorioIndiceIRK.setKmRodado((BigDecimal) rset.getObject("extensao")); + relatorioIndiceIRK.setKmRodado(((BigDecimal) rset.getObject("extensao")).multiply(new BigDecimal(diferenciaDeDiasFiltroData))); relatorioIndiceIRK.setSeguro((BigDecimal) rset.getObject("seguro")); relatorioIndiceIRK.setTxEmbarque((BigDecimal) rset.getObject("txembarque")); relatorioIndiceIRK.setPedagio((BigDecimal) rset.getObject("pedagio")); @@ -258,5 +265,14 @@ public class RelatorioIndiceIRK extends Relatorio { } return lsDadosRelatorio; } + + private int calcularQuantidadeDeDiasFiltroData(Date dataInicial, Date dataFInal) { + + if (dataInicial != null && dataFInal != null) { + int diferencaDias = DateUtil.diferencaEntreDatasEmdias(dataInicial, dataFInal)+1; + return diferencaDias; + } + return 1; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java index f17c2387f..5dfc1e88a 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasBilheteiro.java @@ -66,7 +66,7 @@ public class RelatorioVendasBilheteiro extends Relatorio { sql.append(" and c.FECHORVENTA >= :DATA_INICIAL "); sql.append(" and c.FECHORVENTA <= :DATA_FINAL "); sql.append(" and ((c.indreimpresion = 1 "); - sql.append(" AND c.motivoreimpresion_id = 99) or c.indreimpresion = 0) "); + sql.append(" AND (c.motivoreimpresion_id = 99 or c.motivocancelacion_id in (27) )) or c.indreimpresion = 0) "); if (parametros.get("NUMPUNTOVENTA") != null && !possuiFiltroTodos("NUMPUNTOVENTA")) { sql.append(" and pv.PUNTOVENTA_ID IN (" + parametros.get("NUMPUNTOVENTA").toString() + ")"); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoes.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoes.java index b358e24a7..21a7cd53f 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoes.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasCartoes.java @@ -87,7 +87,7 @@ public class RelatorioVendasCartoes extends Relatorio { bean.setValor(rset.getBigDecimal("valor") != null ? rset.getBigDecimal("valor") : null); bean.setAutorizacao(rset.getString("autorizacao") != null ? rset.getString("autorizacao") : null); bean.setQtdParcelas(rset.getInt("qtdParcelas")); - bean.setNumeroPuntoVenta(rset.getInt("numeroPuntoVenta")); + bean.setNumeroPuntoVenta(rset.getString("numeroPuntoVenta")); bean.setNomePuntoVenta(rset.getString("nomePuntoVenta") != null ? rset.getString("nomePuntoVenta") : null); bean.setDescOperadoraCartao(rset.getString("descOperadoraCartao") != null ? rset.getString("descOperadoraCartao") : null); bean.setNSU(rset.getString("nsu") != null ? rset.getString("nsu") : null); @@ -100,6 +100,7 @@ public class RelatorioVendasCartoes extends Relatorio { list.add(bean); } + } catch (Exception e) { log.error(e.getMessage(), e); } finally { diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasCartoes.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasCartoes.jasper index b6c500832dd25ca9aed268c0899a35f5e3aa55f3..18f8ed94a7c0ccc450d4d4f0dd578e84249c7338 100644 GIT binary patch delta 113 zcmcbAp6T9srVUI+ldTM;H_I8laFZ}Iv#>BQwlFd`HI6qoF)}x{U}s=tWYC#h$SSkh xs&b<&qr>Jm)0EhN6#rZ>WwbbrMHEw834_sO#tKzluf(#%Was?cg3O%MA^>s#AhG}e delta 117 zcmcb2p6UL1rVUI+lXDDZHp?2laFZ}Hu{1I;Gch$bFpM{{G`BD`W@lhzWYC#h$SSkh zvT~y=qv__?)0EhN6yIDhWwUWsLi$ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasCartoesBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasCartoesBean.java index 825bbb872..801f1ed72 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasCartoesBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasCartoesBean.java @@ -12,7 +12,7 @@ public class RelatorioVendasCartoesBean { private Integer qtdParcelas; private BigDecimal valor; private BigDecimal valorTotal; - private Integer numeroPuntoVenta; + private String numeroPuntoVenta; private String nomePuntoVenta; private String descOperadoraCartao; private String NSU; @@ -77,11 +77,11 @@ public class RelatorioVendasCartoesBean { this.dataOperacao = dataOperacao; } - public Integer getNumeroPuntoVenta() { + public String getNumeroPuntoVenta() { return numeroPuntoVenta; } - public void setNumeroPuntoVenta(Integer numeroPuntoVenta) { + public void setNumeroPuntoVenta(String numeroPuntoVenta) { this.numeroPuntoVenta = numeroPuntoVenta; } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java index 212b89f5f..a8e74a9a4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java @@ -62,6 +62,7 @@ public class EditarCategoriaController extends MyGenericForwardComposer { private Checkbox chkIndemitetermorecusa; private Checkbox chkIndnaousaassento; private Checkbox chkIndvendenaapi; + private Checkbox chkIndExigeIdentidade; private List lsGrupoCategoria; @@ -110,6 +111,7 @@ public class EditarCategoriaController extends MyGenericForwardComposer { chkIndemitetermorecusa.setChecked((categoria.getIndemitetermorecusa() == null) ? false : categoria.getIndemitetermorecusa()); chkIndnaousaassento.setChecked((categoria.getIndnaousaassento() == null) ? false : categoria.getIndnaousaassento()); chkIndvendenaapi.setChecked((categoria.getIndvendeapi() == null) ? false : categoria.getIndvendeapi()); + chkIndExigeIdentidade.setChecked((categoria.getIndExigeIdentidade() == null) ? false : categoria.getIndExigeIdentidade()); if (categoria.getGrupoCategoria() != null) { cmbGrupoCategoria.setValue(categoria.getGrupoCategoria().getDescGrupo()); @@ -127,6 +129,7 @@ public class EditarCategoriaController extends MyGenericForwardComposer { categoria.setIndemitetermorecusa(chkIndemitetermorecusa.isChecked()); categoria.setIndnaousaassento(chkIndnaousaassento.isChecked()); categoria.setIndvendeapi(chkIndvendenaapi.isChecked()); + categoria.setIndExigeIdentidade(chkIndExigeIdentidade.isChecked()); Comboitem grupo = cmbGrupoCategoria.getSelectedItem(); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java index 293633ddf..2c2ab55cb 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java @@ -1071,6 +1071,13 @@ public class EditarEmpresaController extends MyGenericForwardComposer { empresaEmailEComerce.setAssunto(textAssuntoECommerce.getValue()); empresaEmailEComerce.setAnexo1(messageAnexo1Ecommerce.getValue() != null ? messageAnexo1Ecommerce.getValue() : ""); empresaEmailEComerce.setTextoEmail(messageConteudoEmailECommerce.getValue()); + + Comboitem cbiTipoOperacao = cmbTipoOperacao.getSelectedItem(); + if (cbiTipoOperacao != null) { + TipoOperacaoECommerce tipoOperacao = (TipoOperacaoECommerce) cbiTipoOperacao.getValue(); + empresaEmailEComerce.setTipoOperacao(tipoOperacao.getId().toString()); + } + } private void preencheInformacoesEmpresaEmailFlexBus() { @@ -2145,9 +2152,15 @@ public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException { if (cbiTipoOperacao != null) { TipoOperacaoECommerce tipoOperacao = (TipoOperacaoECommerce) cbiTipoOperacao.getValue(); empresaEmailEComerce = empresaEmailEComerceService.buscarPorEmpresa(empresa, tipoOperacao.getId().toString()); - textAssuntoECommerce.setValue(empresaEmailEComerce.getAssunto()); - messageAnexo1Ecommerce.setValue(empresaEmailEComerce.getAnexo1()); - messageConteudoEmailECommerce.setValue(empresaEmailEComerce.getTextoEmail()); + if(empresaEmailEComerce != null) { + textAssuntoECommerce.setValue(empresaEmailEComerce.getAssunto()); + messageAnexo1Ecommerce.setValue(empresaEmailEComerce.getAnexo1()); + messageConteudoEmailECommerce.setValue(empresaEmailEComerce.getTextoEmail()); + }else { + textAssuntoECommerce.setValue(""); + messageAnexo1Ecommerce.setValue(""); + messageConteudoEmailECommerce.setValue(""); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java index 040b47f21..82f768024 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java @@ -71,6 +71,7 @@ import org.zkoss.zul.Intbox; import org.zkoss.zul.ListModelList; import org.zkoss.zul.Listitem; import org.zkoss.zul.Messagebox; +import org.zkoss.zul.Paging; import org.zkoss.zul.Radio; import org.zkoss.zul.Row; import org.zkoss.zul.Textbox; @@ -92,6 +93,7 @@ import com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria; import com.rjconsultores.ventaboletos.entidad.FechamentoParamptovta; import com.rjconsultores.ventaboletos.entidad.FormaPago; import com.rjconsultores.ventaboletos.entidad.FormaPagoDet; +import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.HistoricoPuntoVenta; import com.rjconsultores.ventaboletos.entidad.InstiFinanceira; import com.rjconsultores.ventaboletos.entidad.Moneda; @@ -159,6 +161,7 @@ import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales.FechamentoParamptovtaListItemRenderer; import com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales.PuntoVendaHistoricoBloqueioListItemRenderer; +import com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales.PuntoVendaHistoricoFormaPagoListItemRenderer; import com.rjconsultores.ventaboletos.web.utilerias.ConstraintNoEmpty; import com.rjconsultores.ventaboletos.web.utilerias.ConstraintPorcentagemAllowNull; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; @@ -167,6 +170,8 @@ 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.MyTextboxDecimal; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.render.FormaPagoDetRender; import com.rjconsultores.ventaboletos.web.utilerias.render.ParamRecoleccionRender; import com.rjconsultores.ventaboletos.web.utilerias.render.PtovtaAntecipacomissaoRender; @@ -178,6 +183,9 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCategoriaBloque import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCobrancaAdcPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCobrancaAdcicionalHistorico; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaBloquear; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderFormaPago; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderHistoricoFormaPago; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderHistoricoFormaPagoSelecao; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderParadaPtoVtaCheckin; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPtoVtaSeguro; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPtovtaAntifraude; @@ -206,6 +214,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { public static final String FUNCION_TIPO_BOLETO_BLOQUEADO = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.TIPOBOLETOBLOQUEADO"; public static final String FUNCION_COBRANCA_ADICIONAL = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.COBRANCAADICIONAL"; public static final String PERMITE_APENAS_BLQUEIO_DESBLOQUEIO_AGENCIA = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.PERMITEAPENASBLOQUEIODESBLOQUEIOAGENCIA"; + public static final String FUNCION_INSERI_MOTIVO_FORMA_PAGO = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.PERMITEINSERIMOTIVOFORMAPAGO"; @Autowired @@ -267,6 +276,8 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private Textbox txtCP; private MyListbox categoriaList; private MyListbox puntoVentaList; + private MyListbox puntoVentaHistoricoFormaPagoList; + private MyListbox puntoVentaHistoricoFormaPagoListSel; private MyListbox paramRecoleccionList; private MyListbox formaPagoList; private MyListbox ptovtaEmpresaList; @@ -282,12 +293,14 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private MyListbox fechamentoParamptovtaList; private MyTextbox txtDiasemtransito; private MyListbox ptovtaHistoricoList; + private MyListbox ptovtaHistoricoFormaPagoList; private MyListbox categoriasBloqImpPosteriorList; private MyListbox empresaContaBancariaList; private Textbox txtChaveAntifraude; private MyListbox ptovtaAntifraudeList; private MyListbox ptovtaExcecaoMultaCancList; private Bandbox bbCategoria; + private Bandbox bbPesquisaHistoricoFormaPago; private List lsCategoriaBloquear; @@ -336,10 +349,13 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private Radio radTipoPagamentoBoleto; private Radio radIndBloquear; private Radio radIndLiberar; + private Radio radIndInclusaoHistoricoFormaPago; + private Radio radIndEclusaoHistoricoFormaPago; private Button btnAdicionarEmpresaComissao; private MyComboboxPuntoVenta cmbPuntoVentaPadre; private Combobox cmbFormaPago; private Combobox cmbEmpresaFormaPago; + private Combobox cmbHistoricoEmpresaFormaPago; private Combobox cmbEmpresa; private Combobox cmbEmpresaPtoVta; private Combobox cmbEmpresaPtoVtaUsuarioBancario; @@ -401,11 +417,14 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private MyTextbox dscUsuarioInternet; private MyTextbox dscContrasenaInternet; private MyTextbox comentarios; + private MyTextbox txtHistoricoDescPago; private MyTextboxDecimal importeInicial; private MyTextboxDecimal importeAdicional; private Datebox dateAntecipData; private Datebox dateAbertura; private Datebox dateFechamento; + private Datebox fecInicioAlteracaoHistoricoFormaPago; + private Datebox fecFimAlteracaoHistoricoFormaPago; private MyTextboxDecimal txtAntecipRetem; private MyTextboxDecimal txtAntecipPercentual; private Image img; @@ -507,6 +526,12 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private Tab tabAnrifraude; private Tab tabExcecaoMultaCancelamento; private Tab tabHistorico; + private Paging pagingHistoricoFormaPago; + private Paging pagingFormaPago; + @Autowired + private transient PagedListWrapper plwHistoricoFormaPagoPuntoVenta; + @Autowired + private transient PagedListWrapper plwHistoricoFormaPago; private Set lsCategoriaSel; @@ -551,6 +576,8 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private Datebox dataFimHistorico; private Boolean utilizaCobrancaAdicional = false; private boolean isPerfilFuncionBloqueiaDesbloqueiaPontoVenda; + private boolean isPermissaoMotivoFormaPago; + @Autowired private CobrancaAdcPuntoVentaService cobrancaAdcService; @@ -586,6 +613,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { public void doAfterCompose(Component comp) throws Exception { setCt(new ConstraintPorcentagemAllowNull()); isPerfilFuncionBloqueiaDesbloqueiaPontoVenda = isPerfilFuncionBloqueiaDesbloqueiaPontoVenda(); + isPermissaoMotivoFormaPago = isPermiteInserirMotivoFormaPago(); lsCategoriaSel = new HashSet(); lsCategoriaBloquear = categoriaService.obtenerTodasCategoriasVisibles(); lsEmpresasBloquear = empresaService.obtenerTodos(); @@ -650,6 +678,20 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { ptovtaCatIndList.setItemRenderer(new RenderPtovtaCatInd()); ptovtaHistoricoList.setItemRenderer(new PuntoVendaHistoricoBloqueioListItemRenderer()); categoriasBloqImpPosteriorList.setItemRenderer(new RenderCategoriaBloqueioVendaImpPosterior()); + ptovtaHistoricoFormaPagoList.setItemRenderer(new PuntoVendaHistoricoFormaPagoListItemRenderer()); + puntoVentaHistoricoFormaPagoListSel.setItemRenderer(new RenderHistoricoFormaPago(new EventListener() { + @Override + public void onEvent(Event arg0) throws Exception { + FormaPago pf = (FormaPago) arg0.getTarget().getAttribute("data"); + for (Object formaPago : puntoVentaHistoricoFormaPagoListSel.getListData()) { + if(((FormaPago)formaPago).equals(pf)){ + puntoVentaHistoricoFormaPagoListSel.removeItem(pf); + executarPesquisaFormaPagoHistorico(); + break; + } + } + } + }));; cobrancaAdicionalList.addEventListener("onDoubleClick", new EventListener() { @Override @@ -685,6 +727,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { ptovtaPtoVtaSeguroList.setData(puntoVenta.getPtovtaSeguroList()); ptovtaCatIndList.setData(puntoVenta.getPtovtaCatIndList()); ptovtaHistoricoList.setData(puntoVenta.getHistoricoPuntoVentaList()); + ptovtaHistoricoFormaPagoList.setData(puntoVenta.getHistoricoFormaPagoPuntoVentaList()); categoriasBloqImpPosteriorList.setData(puntoVenta.getCategoriaBloqImpPosteriorList()); cobrancaAdicionalList.setData(puntoVenta.getCobrancaAdicionalList()); @@ -1015,8 +1058,8 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } /** - * Desabilita todos os campos deixando apenas o status de aprovação, aberto/fechado. - * Caso adicionar novos campos, favor tratar neste método + * Desabilita todos os campos deixando apenas o status de aprova��o, aberto/fechado. + * Caso adicionar novos campos, favor tratar neste m�todo */ private void validaPerfilFuncionBloqueiaDesbloqueiaPontoVenda() { if(isPerfilFuncionBloqueiaDesbloqueiaPontoVenda) { @@ -1430,7 +1473,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { // try { // myConn.close(); // } catch (SQLException e) { - // log.error("Erro ao fechar a conexão", e); + // log.error("Erro ao fechar a conex�o", e); // } // } } @@ -1485,7 +1528,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { myConn.close(); } } catch (SQLException e) { - log.error("error fechar conexão", e); + log.error("error fechar conex�o", e); throw new RuntimeException(e); } } @@ -1536,7 +1579,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { try { myConn.close(); } catch (SQLException e) { - log.error("Erro ao fechar a conexão", e); + log.error("Erro ao fechar a conex�o", e); } } } @@ -1925,7 +1968,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { for (PtovtaEmpresa emp : lsPtovtaEmpresa) { if (emp.getActivo()) { - // Contas bancarias (Temporária) + // Contas bancarias (Tempor�ria) for (EmpresaContaBancaria ecc : emp.getContasBancaria()) { if (ecc.getEmpresaContaBancariaId() == null) { continue; @@ -1953,7 +1996,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } } - // Contas bancárias removidas + // Contas banc�rias removidas List excluir = new ArrayList(0); for (PtovtaEmpresaContaBancaria pto : emp.getLsPtovtaEmpresaContaBancaria()) { @@ -1980,7 +2023,11 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { puntoVenta.setActivo(Boolean.TRUE); puntoVenta.setFecmodif(Calendar.getInstance().getTime()); puntoVenta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - puntoVenta.setLsFormaPagoDet(lsFormaPagoDet); + + if(!isPermissaoMotivoFormaPago) { + puntoVenta.setLsFormaPagoDet(lsFormaPagoDet); + } + puntoVenta.setLsParamRecoleccion(lsParamRecoleccion); puntoVenta.setLsPtovtaEmpresa(lsPtovtaEmpresa); puntoVenta.setLsPtovtaUsuarioBancario(lsPtovtaUsuarioBancario); @@ -2202,7 +2249,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { for (Object object : fechamentoParamptovtaList.getListData()) { encontrouEmpresaComFechamentoConfigurado = false; FechamentoParamptovta fechamentoParamptovta = (FechamentoParamptovta) object; - //verifica se empresa já está configurada com fechamento de conta corrente + //verifica se empresa j� est� configurada com fechamento de conta corrente for(FechamentoParamptovta paramFechamento : paramsFechamento){ if(fechamentoParamptovta.getEmpresa().getEmpresaId() == paramFechamento.getEmpresa().getEmpresaId()){ encontrouEmpresaComFechamentoConfigurado = true; @@ -2213,7 +2260,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { break; } } - //Caso não esteja configurada insere no banco + //Caso n�o esteja configurada insere no banco if(!encontrouEmpresaComFechamentoConfigurado){ fechamentoParamptovta.setPuntoventa(puntoVenta); fechamentoParamptovtaService.suscribir(fechamentoParamptovta); @@ -2225,7 +2272,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { boolean removerEmpresa = true; for(FechamentoParamptovta paramFechamento : paramsFechamento){ removerEmpresa = true; - //Procura por empresas que estão no banco mas não estão na lista + //Procura por empresas que est�o no banco mas n�o est�o na lista for (Object object : fechamentoParamptovtaList.getListData()) { FechamentoParamptovta fechamentoParamptovta = (FechamentoParamptovta) object; if(paramFechamento.getEmpresa().getEmpresaId() == fechamentoParamptovta.getEmpresa().getEmpresaId()){ @@ -2233,7 +2280,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { break; } } - //Remove do banco a empresa que não está na lista + //Remove do banco a empresa que n�o est� na lista if(removerEmpresa){ fechamentoParamptovtaService.borrar(paramFechamento); } @@ -2252,7 +2299,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { List empresasFechamento = Arrays.asList(fechamentoParamptovtaList.getData()); boolean validado = false; try { - //Valida que todas empresas de Fechamento são empresa para venda. + //Valida que todas empresas de Fechamento s�o empresa para venda. for (int i = 0; i < empresasVenda.size(); i++) { PtovtaEmpresa empresaVenda = (PtovtaEmpresa) empresasVenda.get(i); @@ -2314,7 +2361,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { puntoVentaService.borrar(puntoVenta); - log.warn("Usuário " + UsuarioLogado.getUsuarioLogado().getNombusuario() + " excluiu o ponto de venda " + puntoVenta.getPuntoventaId()); + log.warn("Usu�rio " + UsuarioLogado.getUsuarioLogado().getNombusuario() + " excluiu o ponto de venda " + puntoVenta.getPuntoventaId()); Messagebox.show( Labels.getLabel("editarPuntoVentaController.MSG.borrarOK"), @@ -2506,73 +2553,90 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } public void onClick$btnSalvarFormaPago(Event ev) throws InterruptedException { + cmbFormaPago.getValue(); cmbEmpresaFormaPago.getValue(); - try { - FormaPago formaPago = new FormaPago(); + + isPermissaoMotivoFormaPago = isPermiteInserirMotivoFormaPago(); + try { - formaPago = (FormaPago) cmbFormaPago.getSelectedItem().getValue(); - Boolean achou = Boolean.FALSE; - Empresa empresa = (Empresa) cmbEmpresaFormaPago.getSelectedItem().getValue(); - if (formaPago != null) { - for (FormaPagoDet fpd : lsFormaPagoDet) { - if (fpd.getFormaPago().equals(formaPago) && empresa.equals(fpd.getEmpresa())) { - achou = Boolean.TRUE; + FormaPago formaPago = new FormaPago(); + try { + formaPago = (FormaPago) cmbFormaPago.getSelectedItem().getValue(); + Boolean achou = Boolean.FALSE; + Empresa empresa = (Empresa) cmbEmpresaFormaPago.getSelectedItem().getValue(); + if (formaPago != null) { + for (FormaPagoDet fpd : lsFormaPagoDet) { + if (fpd.getFormaPago().equals(formaPago) && empresa.equals(fpd.getEmpresa())) { + achou = Boolean.TRUE; + } + } + if (!achou) { + FormaPagoDet fpd = new FormaPagoDet(); + /* + * Mantis #6874 fpd.setCargosextras(new BigDecimal(txtCargosExtras.getValue())); + */ + fpd.setCargosextras(BigDecimal.ZERO); + fpd.setFormaPago(formaPago); + fpd.setPuntoVenta(puntoVenta); + fpd.setIndTotalBus(checkPtoVtaEmpresaIndTotalBus.isChecked()); + fpd.setIndEmbarcada(checkPtoVtaEmpresaIndEmbarcada.isChecked()); + + if (cmbEmpresaFormaPago.getSelectedItem() != null) { + fpd.setEmpresa(empresa); + } + + fpd.setActivo(Boolean.TRUE); + fpd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + fpd.setFecmodif(Calendar.getInstance().getTime()); + if(isPermissaoMotivoFormaPago) { + abrirMotivoFormaPagamento(fpd, Boolean.TRUE, ((Empresa) cmbEmpresaFormaPago.getSelectedItem().getValue()).getEmpresaId()) ; + }else { + lsFormaPagoDet.add(fpd); + formaPagoList.setData(lsFormaPagoDet); + } + + } else { + Messagebox.show( + Labels.getLabel("editarPuntoVentaController.MSG.Achou.FormaPago"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); } } - if (!achou) { - FormaPagoDet fpd = new FormaPagoDet(); - /* - * Mantis #6874 fpd.setCargosextras(new BigDecimal(txtCargosExtras.getValue())); - */ - fpd.setCargosextras(BigDecimal.ZERO); - fpd.setFormaPago(formaPago); - fpd.setPuntoVenta(puntoVenta); - fpd.setIndTotalBus(checkPtoVtaEmpresaIndTotalBus.isChecked()); - fpd.setIndEmbarcada(checkPtoVtaEmpresaIndEmbarcada.isChecked()); - - if (cmbEmpresaFormaPago.getSelectedItem() != null) { - fpd.setEmpresa(empresa); - } - - fpd.setActivo(Boolean.TRUE); - fpd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - fpd.setFecmodif(Calendar.getInstance().getTime()); - - lsFormaPagoDet.add(fpd); - formaPagoList.setData(lsFormaPagoDet); - } else { - Messagebox.show( - Labels.getLabel("editarPuntoVentaController.MSG.Achou.FormaPago"), - Labels.getLabel("editarPuntoVentaController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); - } + } catch (Exception e) { + Messagebox.show( + Labels.getLabel("editarPuntoVentaController.MSG.formaDePago"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); } - } catch (Exception e) { + } catch (Exception ex) { + log.error(ex); Messagebox.show( - Labels.getLabel("editarPuntoVentaController.MSG.formaDePago"), + Labels.getLabel("MSG.Error"), Labels.getLabel("editarPuntoVentaController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); + Messagebox.OK, Messagebox.ERROR); } - } catch (Exception ex) { - log.error(ex); - Messagebox.show( - Labels.getLabel("MSG.Error"), - Labels.getLabel("editarPuntoVentaController.window.title"), - Messagebox.OK, Messagebox.ERROR); - } + + } public void onClick$btnApagarFormaPago(Event ev) { try { + + isPermissaoMotivoFormaPago = isPermiteInserirMotivoFormaPago(); + FormaPagoDet fpd = (FormaPagoDet) formaPagoList.getSelected(); if (fpd != null) { fpd.setActivo(Boolean.FALSE); fpd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); fpd.setFecmodif(Calendar.getInstance().getTime()); + if(isPermissaoMotivoFormaPago) { + abrirMotivoFormaPagamento(fpd, Boolean.FALSE, null) ; + }else { + formaPagoList.removeItem(fpd); + lsFormaPagoDet.remove(fpd); + } - formaPagoList.removeItem(fpd); - lsFormaPagoDet.remove(fpd); } } catch (Exception ex) { log.error(ex); @@ -3629,7 +3693,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private boolean validaFechamentoParamptovta(FechamentoParamptovta fechamentoParamptovta) { boolean validado = true; try { - // Valida Empresa Fechamento já cadastrada. + // Valida Empresa Fechamento j� cadastrada. Object[] params = fechamentoParamptovtaList.getData(); for (Object objectData : params) { @@ -3836,7 +3900,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } } catch (Exception e) { - log.error("Erro ao adicionar Exceção Multa Cancelamento", e); + log.error("Erro ao adicionar Exce��o Multa Cancelamento", e); } } @@ -3954,7 +4018,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } } } catch (Exception e){ - log.error("Erro ao processar remoção Exceção Multa Cancelamento", e); + log.error("Erro ao processar remo��o Exce��o Multa Cancelamento", e); } } @@ -4195,6 +4259,22 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { e.printStackTrace(); } } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void abrirMotivoFormaPagamento(FormaPagoDet formaPagoDet, Boolean inclusao, Integer empresaId) { + Map args = new HashMap(); + args.put("puntoVenta", puntoVenta); + args.put("formaPagoDet", formaPagoDet); + args.put("formaPagoList", formaPagoList); + args.put("ptovtaHistoricoFormaPagoList", ptovtaHistoricoFormaPagoList); + args.put("inclusao", inclusao); + args.put("empresaId", empresaId); + openWindow("/gui/catalogos/editarPuntoVentaMotivoFormaPago.zul", Labels.getLabel("editarPuntoVentaMotivoFormaPagoController.window.title", new String[] { puntoVenta.getNombpuntoventa() }), args, MODAL); + + } + + + private void voltarSelecaoIndBloquear(Boolean isBloquear) { @@ -4379,7 +4459,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { return false; - } else if(radioSemanal.isSelected()) { //Se escolher semana e não escolher um dia + } else if(radioSemanal.isSelected()) { //Se escolher semana e n�o escolher um dia if(!( radioSegunda.isSelected() || radioTerca.isSelected() || radioQuarta.isSelected() || radioQuinta.isSelected() || radioSexta.isSelected())) { Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemFrequencia.value"), @@ -4398,7 +4478,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { return false; } } catch (Exception e) { - log.error("Erro ao validar a inserção da cobranca adicional no ponto de venda: ", e); + log.error("Erro ao validar a inser��o da cobranca adicional no ponto de venda: ", e); } return true; @@ -4407,7 +4487,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { public void onClick$btnApagarCobrancaAdicional(Event event) { try{ int resp = Messagebox.show( - Labels.getLabel("editarPuntoVentaController.MSG.apagarCobrançaAdicional"), + Labels.getLabel("editarPuntoVentaController.MSG.apagarCobran�aAdicional"), Labels.getLabel("editarPuntoVentaController.window.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); @@ -4487,6 +4567,117 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { return false; } + + @Transactional + public boolean isPermiteInserirMotivoFormaPago() { + + Usuario usuarioLogado = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + List listUsuarioPerfil = usuarioLogado.getUsuarioPerfilList(); + for (UsuarioPerfil up : listUsuarioPerfil) { + List listPerfilFuncion = up.getPerfil().getPerfilFuncionList(); + for (PerfilFuncion pf : listPerfilFuncion) { + if(pf.getFuncionSistema().getDescruta().equals(FUNCION_INSERI_MOTIVO_FORMA_PAGO)) + return true; + } + } + + return false; + } + + public void onClick$btnPesquisaHistoricoFormaPago(Event ev) throws InterruptedException { + + HibernateSearchObject busqueda = new HibernateSearchObject(HistoricoFormaPagoPuntoVenta.class, pagingHistoricoFormaPago.getPageSize()); + + Empresa empresa = (Empresa) cmbHistoricoEmpresaFormaPago.getSelectedItem().getValue(); + Integer[] formaPagosIds = new Integer[puntoVentaHistoricoFormaPagoListSel.getSize()]; + + if (radIndInclusaoHistoricoFormaPago.isChecked()) { + busqueda.addFilterEqual("indInclusao", Boolean.TRUE); + }else if(radIndEclusaoHistoricoFormaPago.isChecked()) { + busqueda.addFilterEqual("indInclusao", Boolean.FALSE); + } + + busqueda.addFilterGreaterOrEqual("fecAlteracao", DateUtil.inicioFecha(fecInicioAlteracaoHistoricoFormaPago.getValue())); + busqueda.addFilterLessOrEqual("fecAlteracao", DateUtil.fimFecha(fecFimAlteracaoHistoricoFormaPago.getValue())); + + if (empresa != null && empresa.getEmpresaId() != -1) { + busqueda.addFilterEqual("empresaId", empresa.getEmpresaId()); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + List lsFormaPagoSelecionados = new ArrayList(Arrays.asList(puntoVentaHistoricoFormaPagoListSel.getData())); + if (lsFormaPagoSelecionados.size() > 0) { + for (int i = 0; i < lsFormaPagoSelecionados.size(); i++) { + FormaPago formaPago = lsFormaPagoSelecionados.get(i); + formaPagosIds[i] = formaPago.getFormapagoId().intValue(); + } + } + + busqueda.addFilterEqual("activo", Boolean.TRUE); + if(formaPagosIds.length > 0) { + busqueda.addFilterIn("formaPagoId", Arrays.asList(formaPagosIds)); + } + plwHistoricoFormaPagoPuntoVenta.init(busqueda, ptovtaHistoricoFormaPagoList, pagingHistoricoFormaPago); + + if (ptovtaHistoricoFormaPagoList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + catch (InterruptedException ex) { + } + } + } + + public void onClick$btnPesquisaFormaPago() { + + executarPesquisaFormaPagoHistorico(); + + + } + + private void executarPesquisaFormaPagoHistorico() { + + HibernateSearchObject busqueda = new HibernateSearchObject(FormaPago.class, pagingFormaPago.getPageSize()); + + busqueda.addFilterILike("descpago", "%" + txtHistoricoDescPago.getValue() + "%"); + busqueda.addFilterEqual("activo", Boolean.TRUE); + busqueda.addFilterNotEqual("formapagoId", -1); + busqueda.addSortAsc("descpago"); + + plwHistoricoFormaPago.init(busqueda, puntoVentaHistoricoFormaPagoList, pagingFormaPago); + + puntoVentaHistoricoFormaPagoList.setItemRenderer(new RenderHistoricoFormaPagoSelecao(new EventListener() { + @Override + public void onEvent(Event arg0) throws Exception { + FormaPago pf = (FormaPago) arg0.getTarget().getAttribute("data"); + if(arg0.getTarget().getAttribute("tipo").equals(RenderHistoricoFormaPagoSelecao.BOTAO_ADICIONAR_FORMAPAGO)) { + if(puntoVentaHistoricoFormaPagoListSel.getListData().isEmpty()) { + puntoVentaHistoricoFormaPagoListSel.addItemNovo(pf); + }else { + for (Object perfilFuncion : puntoVentaHistoricoFormaPagoListSel.getListData()) { + if(!((FormaPago)perfilFuncion).equals(pf)){ + puntoVentaHistoricoFormaPagoListSel.addItemNovo(pf); + break; + } + } + } + puntoVentaHistoricoFormaPagoList.removeItem(pf); + } + } + })); + + if (puntoVentaHistoricoFormaPagoList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("relatorioVendasBilheteiroController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + log.error(ex); + } + } + } public Boolean getUtilizaCobrancaAdicional() { return utilizaCobrancaAdicional; diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaMotivoFormaPagoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaMotivoFormaPagoController.java new file mode 100644 index 000000000..a4e8cd565 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaMotivoFormaPagoController.java @@ -0,0 +1,148 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import org.apache.commons.lang.BooleanUtils; +import org.apache.log4j.Logger; +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.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Button; + +import com.rjconsultores.ventaboletos.entidad.FormaPagoDet; +import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.service.HistoricoFormaPagoPuntoVentaService; +import com.rjconsultores.ventaboletos.service.PuntoVentaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; + +/** + * + * @author Wallace + */ +@Controller("editarPuntoVentaMotivoFormaPagoController") +@Scope("prototype") +public class EditarPuntoVentaMotivoFormaPagoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private HistoricoFormaPagoPuntoVentaService historicoFormaPagoPuntoVentaService; + private PuntoVenta puntoVenta; + private Integer empresaId; + private Button btnApagar; + private MyTextbox txtMotivo; + private static Logger log = Logger.getLogger(EditarPuntoVentaMotivoFormaPagoController.class); + private MyListbox formaPagoList; + private MyListbox ptovtaHistoricoFormaPagoList; + private FormaPagoDet formaPagoDet; + private Boolean inclusao; + @Autowired + private PuntoVentaService puntoVentaService; + + public Button getBtnApagar() { + return btnApagar; + } + + public void setBtnApagar(Button btnApagar) { + this.btnApagar = btnApagar; + } + + public PuntoVenta getPuntoVenta() { + return puntoVenta; + } + + public void setPuntoVenta(PuntoVenta puntoVenta) { + this.puntoVenta = puntoVenta; + } + + public MyTextbox getTxtMotivo() { + return txtMotivo; + } + + public void setTxtMotivo(MyTextbox txtMotivo) { + this.txtMotivo = txtMotivo; + } + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + puntoVenta = (PuntoVenta) Executions.getCurrent().getArg().get("puntoVenta"); + formaPagoList = (MyListbox) Executions.getCurrent().getArg().get("formaPagoList"); + formaPagoDet = (FormaPagoDet) Executions.getCurrent().getArg().get("formaPagoDet"); + inclusao = (Boolean) Executions.getCurrent().getArg().get("inclusao"); + puntoVenta.setHistoricoFormaPagoPuntoVentaList(new ArrayList()); + ptovtaHistoricoFormaPagoList = (MyListbox) Executions.getCurrent().getArg().get("ptovtaHistoricoFormaPagoList"); + empresaId = (Integer) Executions.getCurrent().getArg().get("empresaId"); + txtMotivo.focus(); + } + + @SuppressWarnings("unchecked") + public void onClick$btnSalvar(Event ev) throws InterruptedException { + txtMotivo.getValue(); + List lsFormaPagoDet = null; + + if (puntoVenta.getPuntoventaId() == null) { + Messagebox.show( + Labels.getLabel("editarPuntoVentaMotivoFormaPagoController.MSG.puntoVentaNaoCadastrado"), + Labels.getLabel("editarPuntoVentaMotivoFormaPagoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + closeWindow(); + return; + } + + try { + + HistoricoFormaPagoPuntoVenta historicoFormaPagoPuntoVenta = new HistoricoFormaPagoPuntoVenta(); + historicoFormaPagoPuntoVenta.setMotivo(txtMotivo.getValue()); + historicoFormaPagoPuntoVenta.setPuntoVenta(puntoVenta); + historicoFormaPagoPuntoVenta.setFormaPagoId(formaPagoDet.getFormaPago().getFormapagoId().intValue()); + historicoFormaPagoPuntoVenta.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + historicoFormaPagoPuntoVenta.setFecmodif(Calendar.getInstance().getTime()); + historicoFormaPagoPuntoVenta.setActivo(Boolean.TRUE); + historicoFormaPagoPuntoVenta.setFecAlteracao(Calendar.getInstance().getTime()); + historicoFormaPagoPuntoVenta.setEmpresaId(empresaId != null ? empresaId : formaPagoDet.getEmpresa().getEmpresaId()); + + puntoVenta.getHistoricoFormaPagoPuntoVentaList().add(historicoFormaPagoPuntoVenta); + + if (BooleanUtils.toBoolean(inclusao)) { + historicoFormaPagoPuntoVenta.setIndInclusao(Boolean.TRUE); + formaPagoList.addItemNovo(formaPagoDet); + lsFormaPagoDet = formaPagoList.getListData(); + } else { + historicoFormaPagoPuntoVenta.setIndInclusao(Boolean.FALSE); + formaPagoList.removeItem(formaPagoDet); + lsFormaPagoDet = formaPagoList.getListData(); + } + + puntoVenta.setLsFormaPagoDet(lsFormaPagoDet); + puntoVentaService.actualizacion(puntoVenta); + puntoVenta.setHistoricoFormaPagoPuntoVentaList(historicoFormaPagoPuntoVentaService.obtenerTodosPorPuntoVenta(puntoVenta)); + ptovtaHistoricoFormaPagoList.setData(puntoVenta.getHistoricoFormaPagoPuntoVentaList()); + + Messagebox.show( + Labels.getLabel("editarPuntoVentaMotivoFormaPagoController.MSG.suscribirOK"), + Labels.getLabel("editarPuntoVentaMotivoFormaPagoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + closeWindow(); + + } catch (Exception ex) { + log.error(ex); + Messagebox.show(Labels.getLabel("MSG.Error"),Labels.getLabel("editarPuntoVentaMotivoFormaPagoController.window.title"),Messagebox.OK, Messagebox.ERROR); + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/PuntoVendaHistoricoFormaPagoListItemRenderer.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/PuntoVendaHistoricoFormaPagoListItemRenderer.java new file mode 100644 index 000000000..1ab32bb54 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/PuntoVendaHistoricoFormaPagoListItemRenderer.java @@ -0,0 +1,54 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.configuracioneccomerciales; + +import java.text.SimpleDateFormat; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.dao.FormaPagoDAO; +import com.rjconsultores.ventaboletos.dao.UsuarioDAO; +import com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Usuario; +import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; + +public class PuntoVendaHistoricoFormaPagoListItemRenderer implements ListitemRenderer { + + private UsuarioDAO usuarioDAO; + private FormaPagoDAO formaPagoDAO; + + public PuntoVendaHistoricoFormaPagoListItemRenderer() { + usuarioDAO = (UsuarioDAO) AppContext.getApplicationContext().getBean("usuarioDAO"); + formaPagoDAO = (FormaPagoDAO) AppContext.getApplicationContext().getBean("formaPagoDAO"); + } + + @Override + public void render(Listitem lstm, Object o) throws Exception { + + HistoricoFormaPagoPuntoVenta h = (HistoricoFormaPagoPuntoVenta) o; + + Listcell lc = new Listcell(h.getIndInclusao() != null ? h.getIndInclusao() ? "Inclusão" : "Exclusão" : null); + lc.setParent(lstm); + + SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy"); + + lc = new Listcell(h.getFecAlteracao() != null ? formato.format(h.getFecAlteracao()) : null); + lc.setParent(lstm); + + lc = new Listcell(h.getFormaPagoId() != null ? formaPagoDAO.obtenerID(h.getFormaPagoId().shortValue()).getDescpago() : null); + lc.setParent(lstm); + + lc = new Listcell(h.getMotivo()); + lc.setParent(lstm); + + if(h.getUsuarioId() != null) { + Usuario usuario = usuarioDAO.obtenerID(h.getUsuarioId()); + lc = new Listcell(usuario.getNombusuario()); + lc.setParent(lstm); + } + + + lstm.setAttribute("data", lc); + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java index bba80a5e1..64c544adf 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioSapController.java @@ -2,6 +2,16 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; import java.util.List; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.SapService; +import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderFechamentoCntcorrente; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; @@ -16,16 +26,6 @@ import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; import org.zkoss.zul.Messagebox; -import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.entidad.Empresa; -import com.rjconsultores.ventaboletos.service.EmpresaService; -import com.rjconsultores.ventaboletos.service.SapService; -import com.rjconsultores.ventaboletos.vo.integracao.FechamentoCntCorrenteVO; -import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; -import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; -import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; -import com.rjconsultores.ventaboletos.web.utilerias.render.RenderFechamentoCntcorrente; - @Controller("relatorioSapController") @Scope("prototype") public class RelatorioSapController extends MyGenericForwardComposer { @@ -35,17 +35,21 @@ public class RelatorioSapController extends MyGenericForwardComposer { private MyListbox boletoFechamentoList; private List lsEmpresas; - private List lsFechamentoCntcorrente; + private List lsFechamentoCntcorrente; private Empresa empresa; private PuntoVenta puntoVenta; - private Boolean reenviar; private int qtdEnviar = 0; + private String status; private Combobox cmbEmpresa; private MyComboboxPuntoVenta cmbPuntoVenta; private Datebox fecBoletoIni; private Datebox fecBoletoFin; - private Checkbox chkReenviarGerados; + + private Checkbox chkIntegrado; + private Checkbox chkNaoEnviado; + private Checkbox chkPendente; + private Checkbox chkRecusado; @Autowired private EmpresaService empresaService; @@ -86,9 +90,12 @@ public class RelatorioSapController extends MyGenericForwardComposer { } } } - })); + })); - this.chkReenviarGerados.setChecked(Boolean.FALSE); + this.chkIntegrado.setChecked(Boolean.FALSE); + this.chkNaoEnviado.setChecked(Boolean.FALSE); + this.chkPendente.setChecked(Boolean.FALSE); + this.chkRecusado.setChecked(Boolean.FALSE); } @@ -104,8 +111,18 @@ public class RelatorioSapController extends MyGenericForwardComposer { if( cmbPuntoVenta.getSelectedItem() != null ) { puntoVenta = (PuntoVenta) cmbPuntoVenta.getSelectedItem().getValue(); } + + status = ""; + status += chkIntegrado.isChecked()?"0,":""; + status += chkNaoEnviado.isChecked()?"1,":""; + status += chkPendente.isChecked()?"2,":""; + status += chkRecusado.isChecked()?"3,":""; + + if(status.endsWith(",")) { + status = status.substring(0, status.length()-1); + } - this.lsFechamentoCntcorrente = sapService.obtenerTodosParaRemessa(empresa, this.fecBoletoIni.getValue(), this.fecBoletoFin.getValue(), chkReenviarGerados.isChecked(), puntoVenta); + this.lsFechamentoCntcorrente = sapService.obtenerTodosParaRemessa(empresa, this.fecBoletoIni.getValue(), this.fecBoletoFin.getValue(), status, puntoVenta); this.boletoFechamentoList.setData(this.lsFechamentoCntcorrente); if(this.lsFechamentoCntcorrente.isEmpty()){ @@ -120,7 +137,7 @@ public class RelatorioSapController extends MyGenericForwardComposer { return; } try { - int integrados = sapService.remessa( lsFechamentoCntcorrente ); + int integrados = sapService.remessa( lsFechamentoCntcorrente, true ); if( integrados == 0 ){ @@ -152,12 +169,4 @@ public class RelatorioSapController extends MyGenericForwardComposer { public void setEmpresa(Empresa empresa) { this.empresa = empresa; } - - public Boolean getReenviar() { - return reenviar; - } - - public void setReenviar(Boolean reenviar) { - this.reenviar = reenviar; - } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java index 4d677860f..834f98184 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/CalcularPeajeController.java @@ -13,11 +13,13 @@ import org.zkoss.util.resource.Labels; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; import org.zkoss.zul.Combobox; +import org.zkoss.zul.Div; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Radio; import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.EmpresaImposto; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Ruta; @@ -26,6 +28,7 @@ import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; import com.rjconsultores.ventaboletos.service.CalcularPeajeService; import com.rjconsultores.ventaboletos.service.CasetaPeajeService; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.EmpresaImpostoService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.RutaService; @@ -49,6 +52,8 @@ public class CalcularPeajeController extends MyGenericForwardComposer { private EmpresaImpostoService empresaImpostoService; @Autowired private CasetaPeajeService casetaPeajeService; + @Autowired + private ConstanteService constanteService; private Combobox cmbOrgaoConcedente; private List lsOrgaoConcedente; @@ -65,6 +70,8 @@ public class CalcularPeajeController extends MyGenericForwardComposer { private MyListbox selectedCasetaPeajeList; private List lsCasetaPeaje; Set lsIdsOrgSemIndice = new HashSet(); + private Div casetaPeajeDiv; + public static final String FILTRAR_POR_PRACA_DE_PEDAGIO = "FILTRAR_POR_PRACA_DE_PEDAGIO"; public List getLsOrgaoConcedente() { return lsOrgaoConcedente; @@ -101,6 +108,7 @@ public class CalcularPeajeController extends MyGenericForwardComposer { listSelectedRutas = new ArrayList(); lsCasetaPeaje = casetaPeajeService.buscarTodosOrdenadoPorDescricao(); listSelectedCasetaPeaje = new ArrayList(); + casetaPeajeDiv.setVisible(buscarContantefiltrarPorPracaDePedagio()); } public void onClick$btnCalcularPeaje(Event ev) throws InterruptedException { @@ -425,4 +433,16 @@ public class CalcularPeajeController extends MyGenericForwardComposer { + private Boolean buscarContantefiltrarPorPracaDePedagio() { + Constante constante = constanteService.buscarPorNomeConstante(FILTRAR_POR_PRACA_DE_PEDAGIO); + if (constante != null) { + if(constante.getValorconstante().equalsIgnoreCase("true")) { + return true; + } + } + return false; + + } + + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/GenerarTarifaOrgaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/GenerarTarifaOrgaoController.java index 25f25ad17..b3d8af75f 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/GenerarTarifaOrgaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/tarifas/GenerarTarifaOrgaoController.java @@ -6,7 +6,9 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.tarifas; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.hibernate.LazyInitializationException; import org.springframework.beans.factory.annotation.Autowired; @@ -24,12 +26,18 @@ import org.zkoss.zul.Div; import org.zkoss.zul.Messagebox; import com.rjconsultores.ventaboletos.constantes.TipoSeguro; +import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; +import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.entidad.RutaCaseta; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; +import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; import com.rjconsultores.ventaboletos.exception.BusinessException; +import com.rjconsultores.ventaboletos.service.CasetaPeajeService; +import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.ParadaService; import com.rjconsultores.ventaboletos.service.RutaEmpresaService; @@ -63,6 +71,10 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { private OrgaoConcedenteService orgaoConcedenteService; @Autowired private ParadaService paradaService; + @Autowired + private CasetaPeajeService casetaPeajeService; + @Autowired + private ConstanteService constanteService; private List lsParada; private List lsRuta; private List lsOrgaoConcedente; @@ -85,8 +97,17 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { private List listSelectedParadas; private MyListbox selectedParadasList; private List lsEmpresaSelected; + private Combobox cmbCasetaPeaje; + private List listSelectedCasetaPeaje; + private MyListbox selectedCasetaPeajeList; + private List lsCasetaPeaje; private Boolean esperar = false; private Div paradaDiv; + Set lsIdsOrgSemIndice = new HashSet(); + private Boolean filtraPorPracaDePedagio=false; + private Div casetaPeajeDiv; + + public static final String FILTRAR_POR_PRACA_DE_PEDAGIO = "FILTRAR_POR_PRACA_DE_PEDAGIO"; public Div getParadaDiv() { @@ -127,6 +148,7 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos(); lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); lsRuta = rutaService.buscarRutasPorEmpresas(lsEmpresa); + super.doAfterCompose(comp); @@ -142,6 +164,12 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { chkTipoSeguro.setVisible(false); } + lsCasetaPeaje = casetaPeajeService.buscarTodosOrdenadoPorDescricao(); + listSelectedCasetaPeaje = new ArrayList(); + filtraPorPracaDePedagio=buscarContantefiltrarPorPracaDePedagio(); + casetaPeajeDiv.setVisible(false); + + } @@ -177,6 +205,18 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { } } + public void onCheck$chkPedagio(CheckEvent ev) { + if (filtraPorPracaDePedagio) { + if (chkPedagio.isChecked()) { + casetaPeajeDiv.setVisible(true); + } else { + casetaPeajeDiv.setVisible(false); + listSelectedCasetaPeaje = new ArrayList(); + selectedCasetaPeajeList.clear(); + } + } + } + public void onCheck$chkGerarTaxaDeEmbarquePorLocalidade(CheckEvent ev) { if (chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) @@ -240,18 +280,33 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { if (listSelectedRutas == null || listSelectedRutas.isEmpty()) { limparRutas = true; - if(chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) { - lsRuta=rutaService.buscarRutasPorEmpresaOrgaoConcedenteParadaIds((Empresa) cmbEmpresa.getSelectedItem().getValue(), orgaoConcedente,converteListIdsEmArrayIds(retornarListParadaIds(listSelectedParadas))); - } - listSelectedRutas = lsRuta; - } + if (chkGerarTaxaDeEmbarquePorLocalidade.isChecked()) { + lsRuta = rutaService.buscarRutasPorEmpresaOrgaoConcedenteParadaIds((Empresa) cmbEmpresa.getSelectedItem().getValue(), orgaoConcedente, converteListIdsEmArrayIds(retornarListParadaIds(listSelectedParadas))); + } else { + if(!listSelectedCasetaPeaje.isEmpty()) { + lsRuta = rutaService.buscarPorOrgaoEcasetaPeaje(orgaoConcedente, converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(listSelectedCasetaPeaje),(Empresa) cmbEmpresa.getSelectedItem().getValue()); + // orgao = null; + List lsRutaAux = new ArrayList(); + lsRutaAux.addAll(lsRuta); + for (Ruta r : lsRutaAux) { + if (r.getOrgaoConcedente().getIndicePeaje() == null) { + lsRuta.remove(r); + } + } + } + } + listSelectedRutas = lsRuta; + + } else if (chkPedagio.isChecked() && !validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio()) { + return; + } if (!chkZerarTabela.isChecked()) { try { if (chkTarifa.isChecked()) { - tarifaOficialService.gerarAtualizarTarifa(listSelectedRutas, orgaoConcedente, lsEmpresaSelected); + tarifaOficialService.gerarAtualizarTarifa(listSelectedRutas, orgaoConcedente, lsEmpresaSelected,converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(listSelectedCasetaPeaje)); } boolean gerarTabelaZerada = !chkTarifa.isChecked(); @@ -272,7 +327,11 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { } if (chkPedagio.isChecked()) { + if(listSelectedCasetaPeaje.isEmpty()) { tarifaOficialService.atualizarPedagio(); + }else { + tarifaOficialService.atualizarPedagioPorListaDePracaDePagio(listSelectedCasetaPeaje, retornarEmpresaId()); + } } if (chkTipoSeguro.isChecked()) { @@ -310,6 +369,11 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { } } + private Integer retornarEmpresaId() { + Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + return empresa.getEmpresaId(); + } + public List getListSelectedRutas() { return listSelectedRutas; } @@ -491,10 +555,102 @@ public class GenerarTarifaOrgaoController extends MyGenericForwardComposer { } - + public void onClick$btnAddCasetaPeaje(Event ev) throws InterruptedException { + if (cmbCasetaPeaje.getSelectedItem() != null) { + listSelectedCasetaPeaje.add((CasetaPeaje) cmbCasetaPeaje.getSelectedItem().getValue()); + selectedCasetaPeajeList.setData(listSelectedCasetaPeaje); + cmbCasetaPeaje.setSelectedItem(null); + } + } + + public void onClick$btnRemoveCasetaPeaje(Event ev) throws InterruptedException { + CasetaPeaje casetaPeaje= (CasetaPeaje) selectedCasetaPeajeList.getSelected(); + listSelectedCasetaPeaje.remove(casetaPeaje); + selectedCasetaPeajeList.setData(listSelectedCasetaPeaje); + } + + + private Boolean validaSeTodasAsRutasPossuiPeloMenosUmaSecuenciaComApracaDePedagio() throws InterruptedException { + if (!listSelectedCasetaPeaje.isEmpty() && !listSelectedRutas.isEmpty()) { + List lsRutaAuxiliar = new ArrayList(); + retornarApenasRutaQuePossuiSecuenciasComAsPracas(lsRutaAuxiliar); + for (Ruta ruta : listSelectedRutas) { + if (!lsRutaAuxiliar.contains(ruta)) { + Messagebox.show(Labels.getLabel("calcularPeajeController.MSG.linhaSemPracaDePedagio", new Object[] { ruta }), + Labels.getLabel("indexController.mniCalculoPeaje.label"), Messagebox.OK, Messagebox.ERROR); + return false; + } + } + } + return true; + } + + private void retornarApenasRutaQuePossuiSecuenciasComAsPracas(List lsRutaAuxiliar) { + List listSelectedRutasAux = recarregarAsRutasComBanco(listSelectedRutas); + for (CasetaPeaje casetaPeaje : listSelectedCasetaPeaje) { + for (Ruta r : listSelectedRutasAux) { + if (!r.getRutaSecuenciaList().isEmpty()) { + Boolean isRutaSecuencia = false; + for (RutaSecuencia rutaSecuencia : r.getRutaSecuenciaList()) { + if (isRutaSecuencia) + break; + if (rutaSecuencia.getActivo()) { + for (RutaCaseta rutaCaseta : rutaSecuencia.getLsRutaCase()) { + if (rutaCaseta.getActivo() && rutaCaseta.getCasetaPeaje().getCasetaPeajeId().intValue() == casetaPeaje.getCasetaPeajeId().intValue()) { + lsRutaAuxiliar.add(r); + isRutaSecuencia = true; + break; + } + } + } + } + } + } + } + } + + + List recarregarAsRutasComBanco(List lsRutasSelecionadas){ + List lsRutaIds=retornarListRutaIds(lsRutasSelecionadas); + Integer[] arrayDeRutaIds = converteListIdsEmArrayIds(lsRutaIds); + return rutaService.buscarPorIds(arrayDeRutaIds); + } + + + private Integer[] converterLiistDeCasetaPeajeEmArrayDeCasetaPeaje(List lsCasetaPeaje) { + if(!lsCasetaPeaje.isEmpty()) { + return converteListIdsEmArrayIds(retornarListCasetaPeajeIds(lsCasetaPeaje)); + } + return null; + } + + + private List retornarListCasetaPeajeIds(List lsCasetaPeaje) { + List listCasetaPeaje= new ArrayList(); + for (CasetaPeaje c : lsCasetaPeaje) { + listCasetaPeaje.add(c.getCasetaPeajeId()); + } + return listCasetaPeaje; + } + + + public List getLsCasetaPeaje() { + return lsCasetaPeaje; + } - - - + public void setLsCasetaPeaje(List lsCasetaPeaje) { + this.lsCasetaPeaje = lsCasetaPeaje; + } + + private Boolean buscarContantefiltrarPorPracaDePedagio() { + Constante constante = constanteService.buscarPorNomeConstante(FILTRAR_POR_PRACA_DE_PEDAGIO); + if (constante != null) { + if(constante.getValorconstante().equalsIgnoreCase("true")) { + return true; + } + } + return false; + + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java index 3366de4c7..cb9b610c3 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyAppInit.java @@ -79,7 +79,7 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { boolean ipBloqueadoGeracaoServico = ipBloqueadoGeracaoServico(); log.info("ipBloqueadoGeracaoServico=" + ipBloqueadoGeracaoServico); -/* + if (!ipBloqueadoGeracaoServico) { log.info("ip liberado"); @@ -100,8 +100,6 @@ public class MyAppInit implements org.zkoss.zk.ui.util.WebAppInit { executeFlyway(); customToDatabase(); imageToDatabase(); - * - */ } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java index f5a693e69..904e1f588 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderFechamentoCntcorrente.java @@ -55,9 +55,8 @@ public class RenderFechamentoCntcorrente implements ListitemRenderer { lc = new Listcell(fechamentoCntcorrente.getFechamentocntcorrenteId().toString()); lc.setParent(lstm); - - String id = (fechamentoCntcorrente.isIntegradoSap()) ? "Sim" : "N�o"; - lc = new Listcell(id); + + lc = new Listcell(fechamentoCntcorrente.getIntegradoSap().toString() ); lc.setParent(lstm); lstm.setAttribute("data", fechamentoCntcorrente); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPago.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPago.java new file mode 100644 index 000000000..756c8038e --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPago.java @@ -0,0 +1,49 @@ +/** + * + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.FormaPago; + +/** + * @author Wallace + * + */ +public class RenderHistoricoFormaPago implements ListitemRenderer { + + private EventListener listenerGenerico; + + public RenderHistoricoFormaPago(EventListener listenerGenerico) { + super(); + this.listenerGenerico = listenerGenerico; + } + + + public void render(Listitem lstm, Object o) throws Exception { + + + FormaPago formaPago = (FormaPago) o; + + Listcell lc = new Listcell(formaPago.getFormapagoId().toString()); + lc.setParent(lstm); + + lc = new Listcell(formaPago.getDescpago()); + lc.setParent(lstm); + lc = new Listcell(); + Button btnRemoverPermissao = new Button(); + btnRemoverPermissao.setAttribute("data", o); + btnRemoverPermissao.addEventListener("onClick",listenerGenerico); + btnRemoverPermissao.setImage("/gui/img/remove.png"); + lc.appendChild(btnRemoverPermissao); + + lc.setParent(lstm); + + lstm.setAttribute("data", formaPago); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPagoSelecao.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPagoSelecao.java new file mode 100644 index 000000000..e6daf9b5b --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderHistoricoFormaPagoSelecao.java @@ -0,0 +1,56 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Button; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.FormaPago; + +/** + * + * @author wallace + */ +public class RenderHistoricoFormaPagoSelecao implements ListitemRenderer { + + public static final String BOTAO_ADICIONAR_FORMAPAGO = "btnAdicionarPermissao"; + + private EventListener listenerGenerico; + + public RenderHistoricoFormaPagoSelecao(EventListener listenerGenerico) { + super(); + this.listenerGenerico = listenerGenerico; + } + + public RenderHistoricoFormaPagoSelecao() { + super(); + } + + public void render(Listitem lstm, Object o) throws Exception { + + FormaPago formaPago = (FormaPago) o; + + Listcell lc = new Listcell(formaPago.getFormapagoId().toString()); + lc.setParent(lstm); + + lc = new Listcell(formaPago.getDescpago()); + lc.setParent(lstm); + lc = new Listcell(); + + Button btnAdicionarPermissao = new Button(""); + btnAdicionarPermissao.setAttribute("data", o); + btnAdicionarPermissao.setAttribute("tipo", "btnAdicionarPermissao"); + btnAdicionarPermissao.addEventListener("onClick", listenerGenerico); + btnAdicionarPermissao.setImage("/gui/img/add.png"); + lc.appendChild(btnAdicionarPermissao); + + lc.setParent(lstm); + + lstm.setAttribute("data", formaPago); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 718c11b9c..84389ca47 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -518,6 +518,7 @@ com.rjconsultores.ventaboletos.entidad.ConfTotemVentaRapida com.rjconsultores.ventaboletos.entidad.PtovtaExcecaoMultaCanc com.rjconsultores.ventaboletos.entidad.RedondeoOrgaoConcedente + com.rjconsultores.ventaboletos.entidad.HistoricoFormaPagoPuntoVenta diff --git a/src/java/versionADM.info b/src/java/versionADM.info index 3d9f92073..19765bd50 100644 --- a/src/java/versionADM.info +++ b/src/java/versionADM.info @@ -1 +1 @@ -nul +null