julio 2015-10-07 12:35:44 +00:00
parent 70faea1c8a
commit f19f93d585
1 changed files with 30 additions and 28 deletions

View File

@ -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);
@ -55,20 +48,35 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
List<RegistroCalculo> 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;
comissaoBPR = rc.getReceitaBPR().multiply(ptovtaComissao.getPassagemBaixa().divide(cem));
rc.setComissaoBPR(comissaoBPR);
BigDecimal receitaBPR = registroCalculo.getReceitaBPR();
// 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());
}
@ -76,12 +84,6 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
// BigDecimal royaties;
// BigDecimal retidoISS;
// BigDecimal bonificacao;
//
// BigDecimal receitaComissao;
// BigDecimal comissaoBPR;
// BigDecimal comissaoSegOpcional;
// BigDecimal comissaoExcessoBagagem;
// BigDecimal comissaoPagar;
}