diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index 23728c905..b49031df1 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -19,8 +19,8 @@ import com.rjconsultores.ventaboletos.enums.IndStatusBoleto; import com.rjconsultores.ventaboletos.service.CalculoComissaoService; import com.rjconsultores.ventaboletos.service.PtovtaComissaoService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; -import com.rjconsultores.ventaboletos.vo.comissao.RegistroCalculo; import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao; +import com.rjconsultores.ventaboletos.vo.comissao.RegistroCalculo; @Service("calculoComissaoService") public class CalculoComissaoServiceImpl implements CalculoComissaoService { @@ -33,13 +33,6 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { @Autowired private ComissaoDAO comissaoDAO; - /* - * a) Receita Comissão = Receita BPR + Receita GAP - GapImpressa - Internet - Cancelados - Devoluções Origem - Cancelados GAP - Devoluções GAP Origem - * b) Comissão BPR = Receita Comissão * (% Com BPR) - * c) Comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag) - * d) Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) - * e) Comissão à pagar = Comissão BPR + Comissão Excesso Bagagem + Comissão Seg. Opcional - Descontos (Fixos e Eventuais) - Royaties - ISS retido + Bonificação Metas + Internet(EntregaPassagem) - */ public void buscaParametrosComissao(Integer puntoVentaId, Integer empresaId, Date periodo) { PtovtaComissao ptovtaComissao = ptovtaComissaoService.buscarPuntaVentaEmpresa(puntoVentaId, empresaId); @@ -54,34 +47,43 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { int ano = calendario.get(Calendar.YEAR); List registros = calculaReceitaComissao(ptovtaComissao, receitas, ultimodia, mes, ano); - - for (RegistroCalculo registroCalculo : registros) { - - - log.info(registroCalculo.toString()); - - - - + + for (RegistroCalculo rc : registros) { + // Inicialmente só será validado os calculos de comissão em baixa temporada - + + BigDecimal cem = BigDecimal.TEN.multiply(BigDecimal.TEN); + // Comissão BPR = Receita Comissão * (% Com BPR) BigDecimal comissaoBPR = BigDecimal.ZERO; - - BigDecimal receitaBPR = registroCalculo.getReceitaBPR(); - + comissaoBPR = rc.getReceitaBPR().multiply(ptovtaComissao.getPassagemBaixa().divide(cem)); + rc.setComissaoBPR(comissaoBPR); + + // Comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag) + BigDecimal comissaoExcessoBagagem = BigDecimal.ZERO; + comissaoExcessoBagagem = rc.getReceitaExcessoBagagem().multiply(ptovtaComissao.getExcessoBaixa().divide(cem)); + rc.setComissaoExcessoBagagem(comissaoExcessoBagagem); + + // Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol) + BigDecimal comissaoSegOpcional = BigDecimal.ZERO; + comissaoSegOpcional = rc.getReceitaSeguroOpcional().multiply(ptovtaComissao.getSeguroBaixa().divide(cem)); + rc.setComissaoSegOpcional(comissaoSegOpcional); + + // Comissão à pagar = Comissão BPR + Comissão Excesso Bagagem + Comissão Seg. Opcional + // + Bonificação Metas + Internet(EntregaPassagem) + // - Descontos (Fixos e Eventuais) - Royaties - ISS retido + BigDecimal comissaoPagar = BigDecimal.ZERO; + comissaoPagar = comissaoBPR.add(comissaoExcessoBagagem).add(comissaoSegOpcional).add(comissaoSegOpcional); + rc.setComissaoPagar(comissaoPagar); + + log.info(rc.toString()); + } // BigDecimal descontos; // BigDecimal royaties; // BigDecimal retidoISS; // BigDecimal bonificacao; - // - // BigDecimal receitaComissao; - // BigDecimal comissaoBPR; - // BigDecimal comissaoSegOpcional; - // BigDecimal comissaoExcessoBagagem; - // BigDecimal comissaoPagar; } @@ -250,7 +252,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService { registros.add(rc); } - + return registros; }