diff --git a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java index f237f03bd..701fb07ae 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java @@ -371,6 +371,9 @@ public class Empresa implements Serializable, Auditavel { @Column(name = "INDCONFMOVFPTROCAVLRDEPOSITO") private Boolean indConfMovFPTrocaVlrDeposito; + @Column(name = "INDCOMTRANSFGERACAJA") + private Boolean indComTransfGeraCaja; + @Transient @NaoAuditar private Empresa empresaClone; @@ -1380,5 +1383,13 @@ public class Empresa implements Serializable, Auditavel { public void setIndConfMovFPTrocaVlrDeposito(Boolean indConfMovFPTrocaVlrDeposito) { this.indConfMovFPTrocaVlrDeposito = indConfMovFPTrocaVlrDeposito; } + + public Boolean getIndComTransfGeraCaja() { + return indComTransfGeraCaja != null ? indComTransfGeraCaja : false; + } + + public void setIndComTransfGeraCaja(Boolean indComTransfGeraCaja) { + this.indComTransfGeraCaja = indComTransfGeraCaja; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index 50a914f5e..6ece57964 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -660,6 +660,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { List impostos = empresaImpostoService.buscarEmpresaImposto(empresaId); boolean isConsideraBilhetesDevolvidosEmOutraAgencia = ptovtaComissao.getIndbilhetesdevcanorigem() == null ? false : ptovtaComissao.getIndbilhetesdevcanorigem(); boolean isPagaComissaoBilheteOrdemServico = ptovtaComissao.getIndPagaComissaoBilheteOS() != null ? ptovtaComissao.getIndPagaComissaoBilheteOS() : false; + boolean isDevolucaoComissaoTransferenciaGeraCaja = ptovtaComissao.getEmpresaId().getIndComTransfGeraCaja(); List receitas = new ArrayList(); for (int dia = diaInicial; dia <= diaFinal; dia++) { @@ -733,7 +734,11 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { continue; } - if(rcc.isMotivocancelacionTransferido() || rcc.isMotivocancelacionQuitacaoOcd() || rcc.isDiferencaTrocaGeracaoOcd()) { + if(rcc.isMotivocancelacionQuitacaoOcd() || rcc.isDiferencaTrocaGeracaoOcd()) { + continue; + } + + if(rcc.isMotivocancelacionTransferido() && (rcc.getIndreimpresion() || !isDevolucaoComissaoTransferenciaGeraCaja)) { continue; } @@ -831,7 +836,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { if (isSaidaCaixa) { // Devolução Receita - if (rcc.isMotivocancelacionDevolvido() || rcc.isMotivocancelacionGeracaoOcd() || rcc.isMotivocancelacionTrocado() || rcc.isMotivocancelacionQuitacaoOcd()) { + if (isBilheteDevolucao(rcc, isDevolucaoComissaoTransferenciaGeraCaja)) { // Devolução Receita GAP if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue()) || rcc.getTipoVenta().equals(Constantes.TPV_CALL_CENTER.intValue()) || rcc.getTipoVenta().equals(Constantes.TPV_POR_INTERNET.intValue())) { @@ -999,6 +1004,14 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { } + private boolean isBilheteDevolucao(BoletoComissao rcc, boolean isDevolucaoComissaoTransferenciaGeraCaja) { + return rcc.isMotivocancelacionDevolvido() || + rcc.isMotivocancelacionGeracaoOcd() || + rcc.isMotivocancelacionTrocado() || + rcc.isMotivocancelacionQuitacaoOcd() || + (rcc.isMotivocancelacionTransferido() && !rcc.getIndreimpresion() && isDevolucaoComissaoTransferenciaGeraCaja); + } + /** * Verifica se o bilhete possui forma de pagamento Orden de Serviço * Mantis #12391 diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java index 9f803916c..42899b885 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/BoletoComissao.java @@ -976,7 +976,7 @@ public class BoletoComissao { } public Boolean getIndreimpresion() { - return indreimpresion; + return indreimpresion != null ? indreimpresion : false; } public void setIndreimpresion(Boolean indreimpresion) { @@ -989,7 +989,7 @@ public class BoletoComissao { } public boolean isNotSomarBilhete() { - if(getIndreimpresion() != null && getIndreimpresion()) { + if(getIndreimpresion()) { return true; }