bug#21515

dev:wallace
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@105778 d1611594-4594-4d17-8e1d-87c2c4800839
master
wilian 2021-03-15 21:18:51 +00:00
parent a5c51334c9
commit 5bc889afe1
5 changed files with 120 additions and 12 deletions

View File

@ -948,6 +948,7 @@ public class ConferenciaComissaoHibernateDAO extends GenericHibernateDAO<Confere
boletoComissao.setSeguroOutros(rSet.getBigDecimal("seguroOutros"));
boletoComissao.setPedagio(rSet.getBigDecimal("pedagio"));
boletoComissao.setEmbarque(rSet.getBigDecimal("embarque"));
boletoComissao.setSeguro(rSet.getBigDecimal("seguro"));
boletoComissao.setTipoVenta(rSet.getInt("tipoVenta"));
boletoComissao.setIndstatusboleto(rSet.getString("indstatusboleto"));
boletoComissao.setStatus(rSet.getInt("status") >= 0 ? rSet.getInt("status") : null);

View File

@ -106,6 +106,9 @@ public class ComissaoReceita implements Serializable {
@Column(name = "COMISSAO_OUTROS")
private BigDecimal comissaoOutros;
@Column(name = "COMISSAO_SEG_OBRIGATORIO")
private BigDecimal comissaoSegObrigatorio;
@Column(name = "QTDE_IMPGAP")
private Integer qtdeImpgap;
@ -139,6 +142,7 @@ public class ComissaoReceita implements Serializable {
this.comissaoExcessoBagagem = comissaoReceitaVO.getComissaoExcessoBagagemDiaria();
this.comissaoSegOpcional = comissaoReceitaVO.getComissaoSegOpcionalDiaria();
this.comissaoOutros = comissaoReceitaVO.getComissaoOutrosDiaria();
this.comissaoSegObrigatorio = comissaoReceitaVO.getComissaoSeguroObrigatorioDiaria();
}
public Integer getComissaoreceitaId() {
@ -373,5 +377,13 @@ public class ComissaoReceita implements Serializable {
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public BigDecimal getComissaoSegObrigatorio() {
return comissaoSegObrigatorio;
}
public void setComissaoSegObrigatorio(BigDecimal comissaoSegObrigatorio) {
this.comissaoSegObrigatorio = comissaoSegObrigatorio;
}
}

View File

@ -156,6 +156,12 @@ public class PtovtaComissao implements Serializable {
@Column(name = "VALOR_VENDA_GAP_ALTA_COMP")
private BigDecimal valorVendaGapCompAlta;
@Column(name = "SEGUROOBRIGATORIOALTA")
private BigDecimal seguroobrigatorioAlta;
@Column(name = "SEGUROOBRIGATORIOBAIXA")
private BigDecimal seguroobrigatorioBaixa;
public PtovtaComissao() {
super();
@ -206,7 +212,8 @@ public class PtovtaComissao implements Serializable {
this.ptovtaComissaoId = ptovtaComissaoId;
}
public PtovtaComissao(Integer ptovtaComissaoId, BigDecimal issretido, BigDecimal royalties, Boolean enviarrecibo, String receita, BigDecimal passagemAlta, BigDecimal passagemBaixa, BigDecimal seguroAlta, BigDecimal seguroBaixa, BigDecimal outrosBaixa, BigDecimal outrosAlta, BigDecimal excessoAlta, BigDecimal excessoBaixa, Boolean tarifaReceita, Boolean seguroReceita, Boolean taxaReceita, Boolean pedagioReceita, Boolean tarifaDev, Boolean seguroDev, Boolean taxaDev, Boolean pegagioDev, Boolean activo, Date fecmodif, int usuarioId, Boolean indimpressaogapporc, BigDecimal valorImpressaoGap) {
public PtovtaComissao(Integer ptovtaComissaoId, BigDecimal issretido, BigDecimal royalties, Boolean enviarrecibo, String receita, BigDecimal passagemAlta, BigDecimal passagemBaixa, BigDecimal seguroAlta, BigDecimal seguroBaixa, BigDecimal outrosBaixa, BigDecimal outrosAlta, BigDecimal excessoAlta, BigDecimal excessoBaixa, Boolean tarifaReceita, Boolean seguroReceita, Boolean taxaReceita, Boolean pedagioReceita, Boolean tarifaDev, Boolean seguroDev, Boolean taxaDev, Boolean pegagioDev, Boolean activo, Date fecmodif, int usuarioId, Boolean indimpressaogapporc, BigDecimal valorImpressaoGap,
BigDecimal seguroobrigatorioBaixa, BigDecimal seguroobrigatorioAlta) {
super();
this.ptovtaComissaoId = ptovtaComissaoId;
this.issretido = issretido;
@ -234,6 +241,8 @@ public class PtovtaComissao implements Serializable {
this.usuarioId = usuarioId;
this.indimpressaogapporc = indimpressaogapporc;
this.valorImpressaoGap = valorImpressaoGap;
this.seguroobrigatorioBaixa = seguroobrigatorioBaixa;
this.seguroobrigatorioAlta = seguroobrigatorioAlta;
}
public Integer getPtovtaComissaoId() {
@ -357,7 +366,7 @@ public class PtovtaComissao implements Serializable {
}
public Boolean getSeguroReceita() {
return seguroReceita;
return seguroReceita != null ? seguroReceita : false;
}
public void setSeguroReceita(Boolean seguroReceita) {
@ -389,7 +398,7 @@ public class PtovtaComissao implements Serializable {
}
public Boolean getSeguroDev() {
return seguroDev;
return seguroDev != null ? seguroDev : false;
}
public void setSeguroDev(Boolean seguroDev) {
@ -574,4 +583,20 @@ public class PtovtaComissao implements Serializable {
this.valorVendaGapCompAlta = valorVendaGapCompAlta;
}
public BigDecimal getSeguroobrigatorioAlta() {
return seguroobrigatorioAlta;
}
public void setSeguroobrigatorioAlta(BigDecimal seguroobrigatorioAlta) {
this.seguroobrigatorioAlta = seguroobrigatorioAlta;
}
public BigDecimal getSeguroobrigatorioBaixa() {
return seguroobrigatorioBaixa;
}
public void setSeguroobrigatorioBaixa(BigDecimal seguroobrigatorioBaixa) {
this.seguroobrigatorioBaixa = seguroobrigatorioBaixa;
}
}

View File

@ -351,6 +351,18 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
return excessoBagagem;
}
private BigDecimal calculoSeguroObrigatorio(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal seguroObrigatorio) {
// Comissão Seg. Obrigatorio = Receita Seguro Opcional * (% Com. Seg. Pol)
BigDecimal recSeguroObrigatorio = BigDecimal.ZERO;
if (isAltaTemporada) {
recSeguroObrigatorio = MoneyHelper.multiplicar(seguroObrigatorio, ptovtaComissao.getSeguroobrigatorioAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroobrigatorioAlta(), CEM, 4) : BigDecimal.ZERO, 4);
} else {
recSeguroObrigatorio = MoneyHelper.multiplicar(seguroObrigatorio, ptovtaComissao.getSeguroobrigatorioBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroobrigatorioBaixa(), CEM, 4) : BigDecimal.ZERO, 4);
}
return recSeguroObrigatorio;
}
private BigDecimal calculoSeguroOpcional(boolean isAltaTemporada, PtovtaComissao ptovtaComissao, BigDecimal segOpcional) {
@ -702,6 +714,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
BigDecimal comissaoSegOpcional = BigDecimal.ZERO;
BigDecimal comissaoEntregaPassagem = BigDecimal.ZERO;
BigDecimal comissaoOutros = BigDecimal.ZERO;
BigDecimal comissaoSeguroObrigatorio = BigDecimal.ZERO;
// Receita Total -- bruta/liquida - abatimento do valor do icms
boolean isReceitaLiquida = false;
@ -745,6 +758,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
BigDecimal receitaItem = BigDecimal.ZERO;
BigDecimal receitaDevItem = BigDecimal.ZERO;
BigDecimal receitaSeguroObrigatorioItem = BigDecimal.ZERO;
BigDecimal receitaSeguroObrigatorioDevItem = BigDecimal.ZERO;
if (!isSaidaCaixa){
// Totais
@ -757,7 +772,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
}
if (BooleanUtils.toBoolean(ptovtaComissao.getSeguroReceita())) {
receitaItem = MoneyHelper.somar(receitaItem, rcc.getSeguro());
receitaSeguroObrigatorioItem = MoneyHelper.somar(receitaSeguroObrigatorioItem, rcc.getSeguro());
}
if (BooleanUtils.toBoolean(ptovtaComissao.getPedagioReceita())) {
@ -777,7 +792,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
}
if (BooleanUtils.toBoolean(ptovtaComissao.getSeguroDev())) {
receitaDevItem = MoneyHelper.somar(receitaDevItem, rcc.getSeguro());
receitaSeguroObrigatorioDevItem = MoneyHelper.somar(receitaSeguroObrigatorioDevItem, rcc.getSeguro());
}
if (BooleanUtils.toBoolean(ptovtaComissao.getPedagioDev())) {
@ -793,16 +808,25 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
BigDecimal icmsDev = MoneyHelper.multiplicar(receitaDevItem, MoneyHelper.dividir(rcc.getIcmsBase() != null ? rcc.getIcmsBase() : BigDecimal.ZERO, CEM));
receitaDevItem = MoneyHelper.subtrair(receitaDevItem,icmsDev);
icms = MoneyHelper.multiplicar(receitaSeguroObrigatorioItem, MoneyHelper.dividir(rcc.getIcmsBase() != null ? rcc.getIcmsBase() : BigDecimal.ZERO, CEM));
receitaSeguroObrigatorioItem = MoneyHelper.subtrair(receitaSeguroObrigatorioItem, icms);
icmsDev = MoneyHelper.multiplicar(receitaSeguroObrigatorioDevItem, MoneyHelper.dividir(rcc.getIcmsBase() != null ? rcc.getIcmsBase() : BigDecimal.ZERO, CEM));
receitaSeguroObrigatorioDevItem = MoneyHelper.subtrair(receitaSeguroObrigatorioDevItem,icmsDev);
}
BigDecimal bpr = BigDecimal.ZERO;
BigDecimal tmpComissaoSeguroObrigatorio = BigDecimal.ZERO;
// Boletos impressos no punto venta
if (isEntregaPassagem) {
contImpressa++;
gapImpressa = MoneyHelper.somar(gapImpressa, receitaItem);
gapImpressa = MoneyHelper.somar(gapImpressa, receitaItem, receitaSeguroObrigatorioItem);
BigDecimal receitaTotalPassagem = MoneyHelper.somar(receitaItem, receitaSeguroObrigatorioItem);
BigDecimal entregaPassagem = calculoEntregaPassagem(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO, 1);
BigDecimal entregaPassagem = calculoEntregaPassagem(isAltaTemporada, ptovtaComissao, receitaTotalPassagem, BigDecimal.ZERO, 1);
comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, entregaPassagem, 4);
} else {
@ -810,28 +834,35 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
// Receita GAP
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue()) || rcc.getTipoVenta().equals(Constantes.TPV_CALL_CENTER.intValue())) {
receitaGAP = MoneyHelper.somar(receitaGAP, receitaItem);
receitaGAP = MoneyHelper.somar(receitaGAP, receitaSeguroObrigatorioItem);
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, rcc.isBilheteGap());
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4);
}
// Internet
else if (rcc.getTipoVenta().equals(Constantes.TPV_POR_INTERNET.intValue())) {
internet = MoneyHelper.somar(internet, receitaItem);
internet = MoneyHelper.somar(internet, receitaSeguroObrigatorioItem);
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, rcc.isBilheteGap());
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4);
}
// Receita BPR
else {
receitaBPR = MoneyHelper.somar(receitaBPR, receitaItem);
receitaBPR = MoneyHelper.somar(receitaBPR, receitaSeguroObrigatorioItem);
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO, rcc.isBilheteGap());
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4);
}
tmpComissaoSeguroObrigatorio = calculoSeguroObrigatorio(isAltaTemporada, ptovtaComissao, receitaSeguroObrigatorioItem);
comissaoSeguroObrigatorio = MoneyHelper.somar(comissaoSeguroObrigatorio, tmpComissaoSeguroObrigatorio);
bpr = MoneyHelper.somar(bpr, tmpComissaoSeguroObrigatorio, 4);
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr, 4);
}
if (isSaidaCaixa) {
@ -844,6 +875,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
// Impresso Venta de otro punto venta
if (!rcc.getPtoVtaOrigem()) {
devolvidosGAPOrigem = MoneyHelper.somar(devolvidosGAPOrigem, receitaDevItem);
devolvidosGAPOrigem = MoneyHelper.somar(devolvidosGAPOrigem, receitaSeguroObrigatorioDevItem);
}
/*
@ -854,12 +886,14 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
*/
if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) {
devolvidosGAP = MoneyHelper.somar(devolvidosGAP, receitaDevItem);
devolvidosGAP = MoneyHelper.somar(devolvidosGAP, receitaSeguroObrigatorioDevItem);
}
} else {
// Impresso Venta de otro punto venta
if (!rcc.getPtoVtaOrigem()) {
devolvidosOrigem = MoneyHelper.somar(devolvidosOrigem, receitaDevItem);
devolvidosOrigem = MoneyHelper.somar(devolvidosOrigem, receitaSeguroObrigatorioDevItem);
}
/*
@ -870,6 +904,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
*/
if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) {
devolvidos = MoneyHelper.somar(devolvidos, receitaDevItem);
devolvidos = MoneyHelper.somar(devolvidos, receitaSeguroObrigatorioDevItem);
}
}
@ -881,6 +916,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
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())) {
if (!rcc.getPtoVtaOrigem()) {
canceladosGAPOrigem = MoneyHelper.somar(canceladosGAPOrigem, receitaDevItem);
canceladosGAPOrigem = MoneyHelper.somar(canceladosGAPOrigem, receitaSeguroObrigatorioDevItem);
}
/*
@ -891,10 +927,12 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
*/
if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) {
canceladosGAP = MoneyHelper.somar(canceladosGAP, receitaDevItem);
canceladosGAP = MoneyHelper.somar(canceladosGAP, receitaSeguroObrigatorioDevItem);
}
} else {
if (!rcc.getPtoVtaOrigem()) {
canceladosOrigem = MoneyHelper.somar(canceladosOrigem, receitaDevItem);
canceladosOrigem = MoneyHelper.somar(canceladosOrigem, receitaSeguroObrigatorioDevItem);
}
/*
@ -905,6 +943,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
*/
if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) {
cancelados = MoneyHelper.somar(cancelados, receitaDevItem);
cancelados = MoneyHelper.somar(cancelados, receitaSeguroObrigatorioDevItem);
}
}
}
@ -917,17 +956,26 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
*/
if(rcc.getPtoVtaOrigem() || !isConsideraBilhetesDevolvidosEmOutraAgencia) {
bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaDevItem, BigDecimal.ZERO, rcc.isBilheteGap());
tmpComissaoSeguroObrigatorio = calculoSeguroObrigatorio(isAltaTemporada, ptovtaComissao, receitaSeguroObrigatorioDevItem);
comissaoSeguroObrigatorio = MoneyHelper.subtrair(comissaoSeguroObrigatorio, tmpComissaoSeguroObrigatorio);
bpr = MoneyHelper.somar(bpr, tmpComissaoSeguroObrigatorio, 4);
comissaoBPR = MoneyHelper.subtrair(comissaoBPR, bpr, 4);
}
}
/*log.info("---------");
/*
log.info("---------");
log.info("CajaId=" + rcc.getCajaId() + ", numFolioSistema=" + rcc.getNumFolioSistema() + ", nombpasajero=" + rcc.getNombpasajero() + ", indstatusboleto=" + rcc.getIndstatusboleto() + ", motivocancelacionId=" + rcc.getMotivoCancelacionId() + ", PuntoventaId=" + rcc.getPuntoVentaId() + ", PtovtaventaId=" + rcc.getPtovtaventaId());
log.info("Total Bilhete: " + rcc.getTotal());
log.info("PtoVtaOrigem: " + rcc.getPtoVtaOrigem());
log.info("Status: " + rcc.getIndstatusboleto());
log.info("receitaItem: " + receitaItem);
log.info("receitaDevItem: " + receitaDevItem);
log.info("receitaSeguroObrigatorioItem: " + receitaSeguroObrigatorioItem);
log.info("receitaSeguroObrigatorioDevItem: " + receitaSeguroObrigatorioDevItem);
log.info("comissaoBPRItem: " + bpr);
log.info("receitaGAP: " + receitaGAP);
log.info("receitaBPR: " + receitaBPR);
@ -939,7 +987,8 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
log.info("canceladosGAP: " + canceladosGAP);
log.info("canceladosGAPOrigem: " + canceladosGAPOrigem);
log.info("devolvidosGAP: " + devolvidosGAP);
log.info("devolvidosGAPOrigem: " + devolvidosGAPOrigem);*/
log.info("devolvidosGAPOrigem: " + devolvidosGAPOrigem);
*/
}
/* Calculando comissão para os eventos extras */
@ -996,6 +1045,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
cr.setComissaoExcessoBagagemDiaria(comissaoExcessoBagagem);
cr.setComissaoSegOpcionalDiaria(comissaoSegOpcional);
cr.setComissaoOutrosDiaria(comissaoOutros);
cr.setComissaoSeguroObrigatorioDiaria(comissaoSeguroObrigatorio);
receitas.add(cr);
}

View File

@ -30,6 +30,12 @@ public class ComissaoReceita {
private BigDecimal comissaoEntregaPassagemDiaria;
private BigDecimal comissaoOutrosDiaria;
/*
* Guarda o valor da comissao do seguro obrigatorio para caracter informativo,
* o valor está contido em comissaoBPR
*/
private BigDecimal comissaoSeguroObrigatorioDiaria;
private String nombpuntoventa;
private String numPuntoVenta;
@ -55,6 +61,7 @@ public class ComissaoReceita {
this.comissaoSegOpcionalDiaria = BigDecimal.ZERO;
this.comissaoEntregaPassagemDiaria = BigDecimal.ZERO;
this.comissaoOutrosDiaria = BigDecimal.ZERO;
this.comissaoSeguroObrigatorioDiaria = BigDecimal.ZERO;
}
public Date getData() {
@ -289,4 +296,17 @@ public class ComissaoReceita {
return str.toString();
}
/**
* Informativo da comissão do seguro obrigatório.
* Valor já está contido em ComissaoBPR
* @return
*/
public BigDecimal getComissaoSeguroObrigatorioDiaria() {
return comissaoSeguroObrigatorioDiaria;
}
public void setComissaoSeguroObrigatorioDiaria(BigDecimal comissaoSeguroObrigatorioDiaria) {
this.comissaoSeguroObrigatorioDiaria = comissaoSeguroObrigatorioDiaria;
}
}