fixes bug #8946
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@68339 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
1404e43b8d
commit
4bef094c87
|
@ -0,0 +1,18 @@
|
|||
package com.rjconsultores.ventaboletos.constantes;
|
||||
|
||||
public enum TipoEventoExtra {
|
||||
|
||||
OUTRO,
|
||||
SEGURO_OPCIONAL,
|
||||
EXCESSO_BAGAGEM,
|
||||
TAXA_EMBARQUE,
|
||||
SEGURO_RESSARCIMENTO,
|
||||
TAXA_EMBARQUE_RESSARCIMENTO,
|
||||
MULTA,
|
||||
DIF_MAIOR,
|
||||
DIF_MENOR,
|
||||
SUPRIMENTO,
|
||||
SANGRIA,
|
||||
PACOTE;
|
||||
|
||||
}
|
|
@ -4,6 +4,7 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.HistoricoComissao;
|
||||
|
|
|
@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.constantes.TipoEventoExtra;
|
||||
import com.rjconsultores.ventaboletos.dao.ComissaoDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
|
@ -40,11 +41,10 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
|||
sql.append("b.tipoventa_id as tipoVenta, b.motivocancelacion_id as motivoCancelacionId, ");
|
||||
sql.append("coalesce(sum(b.preciopagado), 0) as valorpagado, coalesce(sum(b.importeseguro), 0) as seguro, ");
|
||||
sql.append("coalesce(sum(b.importepedagio), 0) as pedagio, coalesce(sum(b.importetaxaembarque), 0) as embarque, ");
|
||||
sql.append("coalesce(sum(case when ee.tipoeventoextra_id = 1 then ee.impingreso else 0 end), 0) as excessoBagagem, ");
|
||||
sql.append("coalesce(sum(case when ee.tipoeventoextra_id = 21 then ee.impingreso else 0 end), 0) as seguroOpcional, ");
|
||||
sql.append("coalesce(sum(case when ee.tipoeventoextra_id <> 21 ");
|
||||
sql.append(" or ee.tipoeventoextra_id <> 1 then ee.impingreso else 0 end), 0) as seguroOutros, ");
|
||||
sql.append("case when c.ptovtaventa_id = b.puntoventa_id then 1 else 0 end as ptoVtaOrigem, ");
|
||||
sql.append("coalesce(sum(case when tee.cvetipoevento = :teeexcbag then ee.impingreso else 0 end), 0) as excessoBagagem, ");
|
||||
sql.append("coalesce(sum(case when tee.cvetipoevento = :teesegop then ee.impingreso else 0 end), 0) as seguroOpcional, ");
|
||||
sql.append("coalesce(sum(case when tee.cvetipoevento not in (:teesegop,:teeexcbag) then ee.impingreso else 0 end), 0) as seguroOutros, ");
|
||||
sql.append("case when b.ptovtaventa_id = b.puntoventa_id then 1 else 0 end as ptoVtaOrigem, ");
|
||||
sql.append("ei.icms as icmsBase, e.estado_id as estadoId ");
|
||||
sql.append("from boleto b ");
|
||||
sql.append("inner join parada origen on origen.parada_id = b.origen_id ");
|
||||
|
@ -53,14 +53,15 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
|||
sql.append("inner join punto_venta p on b.puntoventa_id = p.puntoventa_id ");
|
||||
sql.append("inner join empresa_imposto ei on (ei.estado_id = e.estado_id ");
|
||||
sql.append(" and ei.empresa_id = b.marca_id and ei.activo = 1) ");
|
||||
sql.append("left join caja c on c.numoperacion = b.numoperacion and c.numfoliosistema = b.numfoliosistema ");
|
||||
sql.append(" and c.numfoliopreimpreso = b.numfoliopreimpreso and c.numseriepreimpresa = b.numseriepreimpresa ");
|
||||
/*sql.append("left join caja c on c.numoperacion = b.numoperacion and c.numfoliosistema = b.numfoliosistema ");
|
||||
sql.append(" and c.numfoliopreimpreso = b.numfoliopreimpreso and c.numseriepreimpresa = b.numseriepreimpresa ");*/
|
||||
sql.append("left join evento_extra ee on ee.boleto_id = b.boleto_id ");
|
||||
sql.append("where to_char(b.fechorventa, 'mmyyyy') = to_char(:periodo, 'mmyyyy') ");
|
||||
sql.append("left join tipo_evento_extra tee on tee.tipoeventoextra_id = ee.tipoeventoextra_id ");
|
||||
sql.append("where b.fechorventa between TO_DATE(:dataInicial,'DD/MM/YYYY HH24:MI') and TO_DATE(:dataFinal,'DD/MM/YYYY HH24:MI') ");
|
||||
sql.append("and b.marca_id = :empresaId ");
|
||||
sql.append("and (p.puntoventa_id = :puntoventaId or p.puntoventapadre_id = :puntoventaId) ");
|
||||
sql.append("group by b.marca_id, b.puntoventa_id, to_char(b.fechorventa, 'dd-mm-yyyy'), ");
|
||||
sql.append("b.indstatusboleto, b.tipoventa_id, b.motivocancelacion_id, c.ptovtaventa_id, ei.icms, e.estado_id ");
|
||||
sql.append("b.indstatusboleto, b.tipoventa_id, b.motivocancelacion_id, b.ptovtaventa_id, ei.icms, e.estado_id ");
|
||||
sql.append("order by datavenda ");
|
||||
|
||||
Query query = getSession().createSQLQuery(sql.toString())
|
||||
|
@ -82,9 +83,15 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
|||
.addScalar("estadoId", IntegerType.INSTANCE)
|
||||
.setResultTransformer(new AliasToBeanResultTransformer(BoletoComissao.class));
|
||||
|
||||
query.setTimestamp("periodo", periodo);
|
||||
Date inicioPeriodo = DateUtil.inicioFechaPeriodoMeses(periodo);
|
||||
Date fimPeriodo = DateUtil.fimFechaPeriodoMeses(periodo);
|
||||
|
||||
query.setString("dataInicial", DateUtil.getStringDate(inicioPeriodo, "dd/MM/yyyy HH:mm"));
|
||||
query.setString("dataFinal", DateUtil.getStringDate(fimPeriodo, "dd/MM/yyyy HH:mm"));
|
||||
query.setInteger("puntoventaId", puntoVentaId);
|
||||
query.setInteger("empresaId", empresaId);
|
||||
query.setString("teeexcbag", TipoEventoExtra.EXCESSO_BAGAGEM.toString());
|
||||
query.setString("teesegop", TipoEventoExtra.SEGURO_OPCIONAL.toString());
|
||||
|
||||
return query.list();
|
||||
}
|
||||
|
@ -126,13 +133,17 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
|||
sql.append(" c.bonificacao_metas AS bonificacaoMetas, ");
|
||||
sql.append(" c.entregas_passagem AS entregasPassagem, ");
|
||||
sql.append(" c.receita_outros AS receitaOutros, ");
|
||||
sql.append(" c.receita_bpr AS receitaBPR, ");
|
||||
sql.append(" c.devolvidos AS devolvidos, ");
|
||||
sql.append(" c.receita_bruta_excessobagagem AS receitaBrutaExcessoBagagem, ");
|
||||
sql.append(" c.receita_bruta_seguroopcional AS receitaBrutaSeguroopcional, ");
|
||||
sql.append(" c.indpago AS indPago, ");
|
||||
sql.append(" CASE WHEN c.indpago = 1 THEN 'PAGO' ELSE 'PENDENTE' END AS pagamento, ");
|
||||
sql.append(" up.nombusuario AS usuarioPagamento, ");
|
||||
sql.append(" ul.nombusuario AS usuarioLancamento, ");
|
||||
sql.append(" e.nombempresa, e.cnpj, ");
|
||||
sql.append(" pa.numagencia as agencia, pa.numconta || '-' || pa.digito as conta, if.nome as banco, ");
|
||||
sql.append(" ci.nombciudad as cidade, pv.descCorreo ");
|
||||
sql.append(" ci.nombciudad as cidade, pv.descCorreo, pv.razonsocial, pv.numdocpuntoventa as cnpjPuntoventa ");
|
||||
/*
|
||||
private String sigla;
|
||||
private String nome;
|
||||
|
@ -181,6 +192,12 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
|||
.addScalar("cidade", StringType.INSTANCE)
|
||||
.addScalar("agencia", StringType.INSTANCE)
|
||||
.addScalar("descCorreo", StringType.INSTANCE)
|
||||
.addScalar("razonsocial", StringType.INSTANCE)
|
||||
.addScalar("cnpjPuntoventa", StringType.INSTANCE)
|
||||
.addScalar("receitaBPR", BigDecimalType.INSTANCE)
|
||||
.addScalar("devolvidos", BigDecimalType.INSTANCE)
|
||||
.addScalar("receitaBrutaExcessoBagagem", BigDecimalType.INSTANCE)
|
||||
.addScalar("receitaBrutaSeguroopcional", BigDecimalType.INSTANCE)
|
||||
.setResultTransformer(new AliasToBeanResultTransformer(HistoricoComissao.class));
|
||||
|
||||
query.setString("periodoInicio", competenciaInicio);
|
||||
|
@ -201,7 +218,8 @@ public class ComissaoHibernateDAO extends GenericHibernateDAO<Comissao, Integer>
|
|||
.append("JOIN c.empresaId e ")
|
||||
.append("WHERE pv.activo = 1 ")
|
||||
.append("AND e.empresaId = :empresaId ")
|
||||
.append("AND c.activo = 1");
|
||||
.append("AND c.activo = 1")
|
||||
.append("AND pv.statusaprobacion = 'A'");
|
||||
Query qr = getSession().createQuery(sQuery.toString());
|
||||
qr.setParameter("empresaId", empresaId);
|
||||
return qr.list();
|
||||
|
|
|
@ -11,6 +11,7 @@ import org.springframework.stereotype.Repository;
|
|||
|
||||
import com.rjconsultores.ventaboletos.dao.DescontoComissaoDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.DescontoComissao;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
|
||||
@Repository("descontoComissaoDAO")
|
||||
public class DescontoComissaoHibernateDAO extends GenericHibernateDAO<DescontoComissao, Long> implements DescontoComissaoDAO {
|
||||
|
@ -29,14 +30,14 @@ public class DescontoComissaoHibernateDAO extends GenericHibernateDAO<DescontoCo
|
|||
sql.append("where activo = 1 ");
|
||||
sql.append(" and dc.puntoVenta.puntoventaId = :puntoventaId ");
|
||||
sql.append(" and dc.empresa.empresaId = :empresaId ");
|
||||
sql.append(" and dc.datainicial >= :datainicial ");
|
||||
sql.append(" and (dc.datafinal <= :datafinal or dc.datafinal is null)");
|
||||
sql.append(" and dc.datainicial <= TO_DATE(:datainicial,'DD/MM/YYYY HH24:MI') ");
|
||||
sql.append(" and (dc.datafinal >= TO_DATE(:datafinal,'DD/MM/YYYY HH24:MI') or dc.datafinal is null)");
|
||||
|
||||
Query query = getSession().createQuery(sql.toString());
|
||||
query.setInteger("puntoventaId", puntoVentaId);
|
||||
query.setInteger("empresaId", empresaId);
|
||||
query.setTimestamp("datainicial", inicioPeriodo);
|
||||
query.setTimestamp("datafinal", fimPeriodo);
|
||||
query.setString("datainicial", DateUtil.getStringDate(inicioPeriodo, "dd/MM/yyyy HH:mm"));
|
||||
query.setString("datafinal", DateUtil.getStringDate(fimPeriodo, "dd/MM/yyyy HH:mm"));
|
||||
|
||||
return query.list();
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.rjconsultores.ventaboletos.dao.PtovtaComissaoDAO;
|
||||
import com.rjconsultores.ventaboletos.entidad.Empresa;
|
||||
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao;
|
||||
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
|
||||
|
||||
|
@ -53,18 +54,13 @@ public class PtovtaComissaoHibernateDAO extends GenericHibernateDAO<PtovtaComiss
|
|||
|
||||
@Override
|
||||
public PtovtaComissao buscarPuntaVentaEmpresa(Integer puntaVentaId, Integer empresaId) {
|
||||
Criteria c = getSession().createCriteria(getPersistentClass());
|
||||
c.add(Restrictions.eq("activo", Boolean.TRUE));
|
||||
c.add(Restrictions.eq("puntoventaId", new PuntoVenta(puntaVentaId)));
|
||||
c.add(Restrictions.eq("empresaId", new Empresa(empresaId)));
|
||||
c.setMaxResults(1);
|
||||
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append("from PtovtaComissao pc ");
|
||||
sql.append("where pc.activo = 1 and pc.puntoventaId.puntoventaId = :puntoventaId ");
|
||||
sql.append(" and pc.empresaId.empresaId = :empresaId ");
|
||||
|
||||
Query query = getSession().createQuery(sql.toString());
|
||||
query.setInteger("puntoventaId", puntaVentaId);
|
||||
query.setInteger("empresaId", empresaId);
|
||||
query.setMaxResults(1);
|
||||
|
||||
return (PtovtaComissao) query.uniqueResult();
|
||||
return (PtovtaComissao) c.uniqueResult();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -71,6 +71,18 @@ public class Comissao implements Serializable {
|
|||
@Column(name = "EMPRESA_ID")
|
||||
private Integer empresaId;
|
||||
|
||||
@Column(name = "RECEITA_BPR")
|
||||
private BigDecimal receitaBPR;
|
||||
|
||||
@Column(name = "DEVOLVIDOS")
|
||||
private BigDecimal devolvidos;
|
||||
|
||||
@Column(name = "RECEITA_BRUTA_EXCESSOBAGAGEM")
|
||||
private BigDecimal receitaBrutaExcessoBagagem;
|
||||
|
||||
@Column(name = "RECEITA_BRUTA_SEGUROOPCIONAL")
|
||||
private BigDecimal receitaBrutaSeguroopcional;
|
||||
|
||||
public Comissao() {
|
||||
super();
|
||||
setComissaoBpr(BigDecimal.ZERO);
|
||||
|
@ -83,6 +95,10 @@ public class Comissao implements Serializable {
|
|||
setIssRetido(BigDecimal.ZERO);
|
||||
setBonificacaoMetas(BigDecimal.ZERO);
|
||||
setEntregasPassagem(BigDecimal.ZERO);
|
||||
setReceitaBPR(BigDecimal.ZERO);
|
||||
setDevolvidos(BigDecimal.ZERO);
|
||||
setReceitaBrutaExcessoBagagem(BigDecimal.ZERO);
|
||||
setReceitaBrutaSeguroopcional(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
public Integer getComissaoId() {
|
||||
|
@ -245,4 +261,36 @@ public class Comissao implements Serializable {
|
|||
this.puntoVenta = puntoVenta;
|
||||
}
|
||||
|
||||
public BigDecimal getReceitaBPR() {
|
||||
return receitaBPR;
|
||||
}
|
||||
|
||||
public void setReceitaBPR(BigDecimal receitaBPR) {
|
||||
this.receitaBPR = receitaBPR;
|
||||
}
|
||||
|
||||
public BigDecimal getDevolvidos() {
|
||||
return devolvidos;
|
||||
}
|
||||
|
||||
public void setDevolvidos(BigDecimal devolvidos) {
|
||||
this.devolvidos = devolvidos;
|
||||
}
|
||||
|
||||
public BigDecimal getReceitaBrutaExcessoBagagem() {
|
||||
return receitaBrutaExcessoBagagem;
|
||||
}
|
||||
|
||||
public void setReceitaBrutaExcessoBagagem(BigDecimal receitaBrutaExcessoBagagem) {
|
||||
this.receitaBrutaExcessoBagagem = receitaBrutaExcessoBagagem;
|
||||
}
|
||||
|
||||
public BigDecimal getReceitaBrutaSeguroopcional() {
|
||||
return receitaBrutaSeguroopcional;
|
||||
}
|
||||
|
||||
public void setReceitaBrutaSeguroopcional(BigDecimal receitaBrutaSeguroopcional) {
|
||||
this.receitaBrutaSeguroopcional = receitaBrutaSeguroopcional;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -124,7 +124,7 @@ public class PtovtaComissao implements Serializable {
|
|||
@JoinColumn(name = "EMPRESA_ID", referencedColumnName = "EMPRESA_ID")
|
||||
@ManyToOne
|
||||
private Empresa empresaId;
|
||||
|
||||
|
||||
public PtovtaComissao() {
|
||||
super();
|
||||
this.tarifaDev = Boolean.TRUE;
|
||||
|
|
|
@ -15,6 +15,8 @@ import javax.persistence.Basic;
|
|||
import javax.persistence.CascadeType;
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.EnumType;
|
||||
import javax.persistence.Enumerated;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
|
@ -100,6 +102,10 @@ public class TipoEventoExtra implements Serializable {
|
|||
private List<TipoEventoExtraEmpresa> empresas = new ArrayList<TipoEventoExtraEmpresa>();
|
||||
@Column(name = "INDCONFERENCIAFISICACOMISSAO")
|
||||
private Boolean indconferenciafisicacomissao;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
@Column(name = "CVETIPOEVENTO")
|
||||
private com.rjconsultores.ventaboletos.constantes.TipoEventoExtra cvetipoevento;
|
||||
|
||||
public TipoEventoExtraEmpresa addEmpresa(Empresa e) {
|
||||
TipoEventoExtraEmpresa t = new TipoEventoExtraEmpresa();
|
||||
|
@ -371,5 +377,13 @@ public class TipoEventoExtra implements Serializable {
|
|||
public void setEmpresas(List<TipoEventoExtraEmpresa> empresas) {
|
||||
this.empresas = empresas;
|
||||
}
|
||||
|
||||
public com.rjconsultores.ventaboletos.constantes.TipoEventoExtra getCvetipoevento() {
|
||||
return cvetipoevento;
|
||||
}
|
||||
|
||||
public void setCvetipoevento(com.rjconsultores.ventaboletos.constantes.TipoEventoExtra cvetipoevento) {
|
||||
this.cvetipoevento = cvetipoevento;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ import com.rjconsultores.ventaboletos.service.DescontoComissaoService;
|
|||
import com.rjconsultores.ventaboletos.service.EmpresaImpostoService;
|
||||
import com.rjconsultores.ventaboletos.service.PtovtaComissaoService;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
|
||||
import com.rjconsultores.ventaboletos.utilerias.SendMail;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao;
|
||||
import com.rjconsultores.ventaboletos.vo.comissao.ComissaoDesconto;
|
||||
|
@ -140,6 +141,17 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
comissao.setDescontosFixos(cd.getValorDesconto());
|
||||
}
|
||||
}
|
||||
|
||||
for (ComissaoReceita comissaoReceita : rc.getLsReceitas()) {
|
||||
comissao.setReceitaBPR(MoneyHelper.somar(comissao.getReceitaBPR(), comissaoReceita.getReceitaBPR(), 2));
|
||||
comissao.setDevolvidos(MoneyHelper.somar(comissao.getDevolvidos(), comissaoReceita.getDevolvidosRelatorio(), 2));
|
||||
comissao.setDevolvidos(MoneyHelper.somar(comissao.getDevolvidos(), comissaoReceita.getDevolvidosGAPRelatorio(), 2));
|
||||
comissao.setDevolvidos(MoneyHelper.somar(comissao.getDevolvidos(), comissaoReceita.getCancelados(), 2));
|
||||
comissao.setDevolvidos(MoneyHelper.somar(comissao.getDevolvidos(), comissaoReceita.getCanceladosGAP(), 2));
|
||||
comissao.setDevolvidos(MoneyHelper.somar(comissao.getDevolvidos(), comissaoReceita.getCanceladosGAP(), 2));
|
||||
comissao.setReceitaBrutaExcessoBagagem(MoneyHelper.somar(comissao.getReceitaBrutaExcessoBagagem(), comissaoReceita.getReceitaExcessoBagagem(), 2));
|
||||
comissao.setReceitaBrutaSeguroopcional(MoneyHelper.somar(comissao.getReceitaBrutaSeguroopcional(), comissaoReceita.getReceitaSeguroOpcional(), 2));
|
||||
}
|
||||
|
||||
comissao = comissaoService.suscribir(comissao);
|
||||
} else if(!ignorarComissaoGerada){
|
||||
|
@ -182,11 +194,11 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
// Comissão BPR = Receita Comissão * (% Com BPR)
|
||||
BigDecimal recbpr = BigDecimal.ZERO;
|
||||
BigDecimal receitaBPR = bpr.add(gap);
|
||||
BigDecimal receitaBPR = MoneyHelper.somar(bpr, gap, 2);
|
||||
if (isAltaTemporada) {
|
||||
recbpr = receitaBPR.multiply(ptovtaComissao.getPassagemAlta() != null ? ptovtaComissao.getPassagemAlta().divide(CEM) : BigDecimal.ZERO);
|
||||
recbpr = MoneyHelper.multiplicar(receitaBPR, ptovtaComissao.getPassagemAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getPassagemAlta(), CEM) : BigDecimal.ZERO, 2);
|
||||
} else {
|
||||
recbpr = receitaBPR.multiply(ptovtaComissao.getPassagemBaixa() != null ? ptovtaComissao.getPassagemBaixa().divide(CEM) : BigDecimal.ZERO);
|
||||
recbpr = MoneyHelper.multiplicar(receitaBPR, ptovtaComissao.getPassagemBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getPassagemBaixa(), CEM) : BigDecimal.ZERO, 2);
|
||||
}
|
||||
|
||||
return recbpr;
|
||||
|
@ -196,12 +208,12 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
// EntregaPassagem (Internet/Venda Impressão Posterior/Outros)
|
||||
BigDecimal entregaPassagem = BigDecimal.ZERO;
|
||||
BigDecimal receitaEntrega = gapImpressa.add(internet);
|
||||
BigDecimal receitaEntrega = MoneyHelper.somar(gapImpressa, internet, 2);
|
||||
if(ptovtaComissao.getValorImpressaoGap() != null) {
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getIndimpressaogapporc())) {
|
||||
entregaPassagem = receitaEntrega.multiply(ptovtaComissao.getValorImpressaoGap() != null ? ptovtaComissao.getValorImpressaoGap().divide(CEM) : BigDecimal.ZERO);
|
||||
entregaPassagem = MoneyHelper.multiplicar(receitaEntrega, ptovtaComissao.getValorImpressaoGap() != null ? MoneyHelper.dividir(ptovtaComissao.getValorImpressaoGap(),CEM) : BigDecimal.ZERO, 2);
|
||||
} else {
|
||||
entregaPassagem = ptovtaComissao.getValorImpressaoGap() != null ? ptovtaComissao.getValorImpressaoGap().multiply(new BigDecimal(contImpressa)) : BigDecimal.ZERO;
|
||||
entregaPassagem = ptovtaComissao.getValorImpressaoGap() != null ? MoneyHelper.multiplicar(ptovtaComissao.getValorImpressaoGap(),new BigDecimal(contImpressa), 2) : BigDecimal.ZERO;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -213,9 +225,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
// Comissão Excesso = Receita Excesso Bagagem * (% Com. Exc. Bag)
|
||||
BigDecimal excessoBagagem = BigDecimal.ZERO;
|
||||
if (isAltaTemporada) {
|
||||
excessoBagagem = excBag.multiply(ptovtaComissao.getExcessoAlta() != null ? ptovtaComissao.getExcessoAlta().divide(CEM) : BigDecimal.ZERO);
|
||||
excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoAlta(), CEM) : BigDecimal.ZERO, 2);
|
||||
} else {
|
||||
excessoBagagem = excBag.multiply(ptovtaComissao.getExcessoBaixa() != null ? ptovtaComissao.getExcessoBaixa().divide(CEM) : BigDecimal.ZERO);
|
||||
excessoBagagem = MoneyHelper.multiplicar(excBag, ptovtaComissao.getExcessoBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getExcessoBaixa(), CEM) : BigDecimal.ZERO, 2);
|
||||
}
|
||||
|
||||
return excessoBagagem;
|
||||
|
@ -226,9 +238,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
// Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol)
|
||||
BigDecimal recsegOpcional = BigDecimal.ZERO;
|
||||
if (isAltaTemporada) {
|
||||
recsegOpcional = segOpcional.multiply(ptovtaComissao.getSeguroAlta() != null ? ptovtaComissao.getSeguroAlta().divide(CEM) : BigDecimal.ZERO);
|
||||
recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroAlta(), CEM) : BigDecimal.ZERO, 2);
|
||||
} else {
|
||||
recsegOpcional = segOpcional.multiply(ptovtaComissao.getSeguroBaixa() != null ? ptovtaComissao.getSeguroBaixa().divide(CEM) : BigDecimal.ZERO);
|
||||
recsegOpcional = MoneyHelper.multiplicar(segOpcional, ptovtaComissao.getSeguroBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getSeguroBaixa(), CEM) : BigDecimal.ZERO, 2);
|
||||
}
|
||||
return recsegOpcional;
|
||||
}
|
||||
|
@ -238,9 +250,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
// Comissão Seg. Opcional = Receita Seguro Opcional * (% Com. Seg. Pol)
|
||||
BigDecimal recoutros = BigDecimal.ZERO;
|
||||
if (isAltaTemporada) {
|
||||
recoutros = outros.multiply(ptovtaComissao.getOutrosAlta() != null ? ptovtaComissao.getOutrosAlta().divide(CEM) : BigDecimal.ZERO);
|
||||
recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosAlta() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosAlta(), CEM) : BigDecimal.ZERO, 2);
|
||||
} else {
|
||||
recoutros = outros.multiply(ptovtaComissao.getOutrosBaixa() != null ? ptovtaComissao.getOutrosBaixa().divide(CEM) : BigDecimal.ZERO);
|
||||
recoutros = MoneyHelper.multiplicar(outros, ptovtaComissao.getOutrosBaixa() != null ? MoneyHelper.dividir(ptovtaComissao.getOutrosBaixa(), CEM) : BigDecimal.ZERO, 2);
|
||||
}
|
||||
return recoutros;
|
||||
}
|
||||
|
@ -257,7 +269,7 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
for (DescontoComissao dc : itensDescontos) {
|
||||
|
||||
BigDecimal valorDesconto = dc.getPreco();
|
||||
valorDescontoTotal = valorDescontoTotal.add(valorDesconto);
|
||||
valorDescontoTotal = MoneyHelper.somar(valorDescontoTotal, valorDesconto, 2);
|
||||
|
||||
ComissaoDesconto desconto = new ComissaoDesconto();
|
||||
if (dc.getDatafinal() == null) {
|
||||
|
@ -305,14 +317,16 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
BigDecimal comissaoEntregaPassagem = BigDecimal.ZERO;
|
||||
BigDecimal comissaoOutros = BigDecimal.ZERO;
|
||||
BigDecimal receitaTotal = BigDecimal.ZERO;
|
||||
BigDecimal comissaoTotal = BigDecimal.ZERO;
|
||||
|
||||
for (ComissaoReceita cr : receitas) {
|
||||
receitaTotal = receitaTotal.add(cr.getReceitaComissao());
|
||||
comissaoBPR = comissaoBPR.add(cr.getComissaoBPRDiaria());
|
||||
comissaoEntregaPassagem = comissaoEntregaPassagem.add(cr.getComissaoEntregaPassagemDiaria());
|
||||
comissaoExcessoBagagem = comissaoExcessoBagagem.add(cr.getComissaoExcessoBagagemDiaria());
|
||||
comissaoSegOpcional = comissaoSegOpcional.add(cr.getComissaoSegOpcionalDiaria());
|
||||
comissaoOutros = comissaoOutros.add(cr.getComissaoOutrosDiaria());
|
||||
receitaTotal = MoneyHelper.somar(receitaTotal, cr.getReceitaComissao());
|
||||
comissaoBPR = MoneyHelper.somar(comissaoBPR, cr.getComissaoBPRDiaria());
|
||||
comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, cr.getComissaoEntregaPassagemDiaria());
|
||||
comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, cr.getComissaoExcessoBagagemDiaria());
|
||||
comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, cr.getComissaoSegOpcionalDiaria());
|
||||
comissaoOutros = MoneyHelper.somar(comissaoOutros, cr.getComissaoOutrosDiaria());
|
||||
comissaoTotal = MoneyHelper.somar(comissaoTotal, cr.getTotalComissao());
|
||||
}
|
||||
|
||||
rc.setLsReceitas(receitas);
|
||||
|
@ -337,25 +351,30 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
// Royaties
|
||||
BigDecimal royaties = BigDecimal.ZERO;
|
||||
if(ptovtaComissao.getRoyalties() != null) {
|
||||
royaties = receitaTotal.multiply(ptovtaComissao.getRoyalties().divide(CEM));
|
||||
royaties = MoneyHelper.multiplicar(receitaTotal, MoneyHelper.dividir(ptovtaComissao.getRoyalties(), CEM));
|
||||
}
|
||||
rc.setRoyaties(royaties);
|
||||
|
||||
// ISS retido
|
||||
BigDecimal issRetido = BigDecimal.ZERO;
|
||||
if(ptovtaComissao.getIssretido() != null) {
|
||||
issRetido = receitaTotal.multiply(ptovtaComissao.getIssretido().divide(CEM));
|
||||
issRetido = MoneyHelper.multiplicar(comissaoTotal, MoneyHelper.dividir(ptovtaComissao.getIssretido(), CEM));
|
||||
}
|
||||
rc.setRetidoISS(issRetido);
|
||||
|
||||
// Comissão à pagar = Comissão BPR + Comissão Excesso Bagagem + Comissão Seg. Opcional + Bonificação Metas + Internet(EntregaPassagem)
|
||||
BigDecimal comissaoPagar = BigDecimal.ZERO;
|
||||
comissaoPagar = comissaoPagar.add(comissaoBPR).add(comissaoExcessoBagagem).add(comissaoSegOpcional);
|
||||
comissaoPagar = comissaoPagar.add(comissaoEntregaPassagem).add(comissaoOutros);
|
||||
comissaoPagar = comissaoPagar.add(comissaoBonificaoMetas);
|
||||
comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoBPR);
|
||||
comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoExcessoBagagem);
|
||||
comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoSegOpcional);
|
||||
comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoEntregaPassagem);
|
||||
comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoOutros);
|
||||
comissaoPagar = MoneyHelper.somar(comissaoPagar,comissaoBonificaoMetas);
|
||||
|
||||
// - Descontos (Fixos e Eventuais) - Royaties - ISS retido
|
||||
comissaoPagar = comissaoPagar.subtract(rc.getDescontos()).subtract(royaties).subtract(issRetido);
|
||||
comissaoPagar = MoneyHelper.subtrair(comissaoPagar,rc.getDescontos());
|
||||
comissaoPagar = MoneyHelper.subtrair(comissaoPagar,royaties);
|
||||
comissaoPagar = MoneyHelper.subtrair(comissaoPagar,issRetido);
|
||||
rc.setComissaoPagar(comissaoPagar);
|
||||
|
||||
return rc;
|
||||
|
@ -463,117 +482,117 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
// Totais
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getTarifaReceita())) {
|
||||
receitaItem = receitaItem.add(rcc.getValorpagado());
|
||||
receitaItem = MoneyHelper.somar(receitaItem, rcc.getValorpagado());
|
||||
}
|
||||
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getTaxaReceita())) {
|
||||
receitaItem = receitaItem.add(rcc.getEmbarque());
|
||||
receitaItem = MoneyHelper.somar(receitaItem, rcc.getEmbarque());
|
||||
}
|
||||
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getSeguroReceita())) {
|
||||
receitaItem = receitaItem.add(rcc.getSeguro());
|
||||
receitaItem = MoneyHelper.somar(receitaItem, rcc.getSeguro());
|
||||
}
|
||||
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getPedagioReceita())) {
|
||||
receitaItem = receitaItem.add(rcc.getPedagio());
|
||||
receitaItem = MoneyHelper.somar(receitaItem, rcc.getPedagio());
|
||||
}
|
||||
|
||||
// Totais de Devolução / Cancelamento
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getTarifaDev())) {
|
||||
receitaDevItem = receitaDevItem.add(rcc.getValorpagado());
|
||||
receitaDevItem = MoneyHelper.somar(receitaDevItem, rcc.getValorpagado());
|
||||
}
|
||||
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getTaxaDev())) {
|
||||
receitaDevItem = receitaDevItem.add(rcc.getEmbarque());
|
||||
receitaDevItem = MoneyHelper.somar(receitaDevItem, rcc.getEmbarque());
|
||||
}
|
||||
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getSeguroDev())) {
|
||||
receitaDevItem = receitaDevItem.add(rcc.getSeguro());
|
||||
receitaDevItem = MoneyHelper.somar(receitaDevItem, rcc.getSeguro());
|
||||
}
|
||||
|
||||
if (BooleanUtils.toBoolean(ptovtaComissao.getPedagioDev())) {
|
||||
receitaDevItem = receitaDevItem.add(rcc.getPedagio());
|
||||
receitaDevItem = MoneyHelper.somar(receitaDevItem, rcc.getPedagio());
|
||||
}
|
||||
|
||||
|
||||
// Calculo de ICMS sobre o valor do bilhete
|
||||
if (isReceitaLiquida) {
|
||||
BigDecimal icsm = BigDecimal.ZERO;
|
||||
icsm = receitaItem.multiply(rcc.getIcmsBase().divide(CEM));
|
||||
receitaItem = receitaItem.subtract(icsm);
|
||||
icsm = MoneyHelper.multiplicar(receitaItem, MoneyHelper.dividir(rcc.getIcmsBase(), CEM));
|
||||
receitaItem = MoneyHelper.subtrair(receitaItem, icsm);
|
||||
|
||||
BigDecimal icsmDev = BigDecimal.ZERO;
|
||||
icsmDev = receitaDevItem.multiply(rcc.getIcmsBase().divide(CEM));
|
||||
receitaDevItem = receitaDevItem.subtract(icsmDev);
|
||||
icsmDev = MoneyHelper.multiplicar(receitaDevItem, MoneyHelper.dividir(rcc.getIcmsBase(), CEM));
|
||||
receitaDevItem = MoneyHelper.subtrair(receitaDevItem,icsmDev);
|
||||
|
||||
}
|
||||
|
||||
// Boletos impressos no punto venta
|
||||
if (statusBoleto.equals(IndStatusBoleto.E)) {
|
||||
contImpressa++;
|
||||
gapImpressa = gapImpressa.add(receitaItem);
|
||||
gapImpressa = MoneyHelper.somar(gapImpressa, receitaItem);
|
||||
|
||||
BigDecimal entregaPassagem = calculoEntregaPassagem(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO, contImpressa);
|
||||
comissaoEntregaPassagem = comissaoEntregaPassagem.add(entregaPassagem);
|
||||
comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, entregaPassagem);
|
||||
|
||||
} else {
|
||||
|
||||
// Receitas calculadas sempre
|
||||
receitaExcessoBagagem = receitaExcessoBagagem.add(rcc.getExcessoBagagem());
|
||||
receitaExcessoBagagem = MoneyHelper.somar(receitaExcessoBagagem, rcc.getExcessoBagagem());
|
||||
BigDecimal excessoBagagem = calculoExcessoBagagem(isAltaTemporada, ptovtaComissao, rcc.getExcessoBagagem());
|
||||
comissaoExcessoBagagem = comissaoExcessoBagagem.add(excessoBagagem);
|
||||
comissaoExcessoBagagem = MoneyHelper.somar(comissaoExcessoBagagem, excessoBagagem);
|
||||
|
||||
receitaSeguroOpcional = receitaSeguroOpcional.add(rcc.getSeguroOpcional());
|
||||
receitaSeguroOpcional = MoneyHelper.somar(receitaSeguroOpcional, rcc.getSeguroOpcional());
|
||||
BigDecimal segOpcional = calculoSeguroOpcional(isAltaTemporada, ptovtaComissao, rcc.getSeguroOpcional());
|
||||
comissaoSegOpcional = comissaoSegOpcional.add(segOpcional);
|
||||
comissaoSegOpcional = MoneyHelper.somar(comissaoSegOpcional, segOpcional);
|
||||
|
||||
receitaSeguroOutros = receitaSeguroOutros.add(rcc.getSeguroOutros());
|
||||
receitaSeguroOutros = MoneyHelper.somar(receitaSeguroOutros, rcc.getSeguroOutros());
|
||||
BigDecimal outros = calculoOutros(isAltaTemporada, ptovtaComissao, rcc.getSeguroOutros());
|
||||
comissaoOutros = comissaoOutros.add(outros);
|
||||
comissaoOutros = MoneyHelper.somar(comissaoOutros, outros);
|
||||
|
||||
// Receita GAP
|
||||
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) {
|
||||
receitaGAP = receitaGAP.add(receitaItem);
|
||||
receitaGAP = MoneyHelper.somar(receitaGAP, receitaItem);
|
||||
|
||||
BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem);
|
||||
comissaoBPR = comissaoBPR.add(bpr);
|
||||
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr);
|
||||
}
|
||||
// Internet
|
||||
else if (rcc.getTipoVenta().equals(Constantes.TPV_POR_INTERNET.intValue())) {
|
||||
internet = internet.add(receitaItem);
|
||||
internet = MoneyHelper.somar(internet, receitaItem);
|
||||
|
||||
BigDecimal entregaPassagem = calculoEntregaPassagem(isAltaTemporada, ptovtaComissao, BigDecimal.ZERO, receitaItem, contImpressa);
|
||||
comissaoEntregaPassagem = comissaoEntregaPassagem.add(entregaPassagem);
|
||||
comissaoEntregaPassagem = MoneyHelper.somar(comissaoEntregaPassagem, entregaPassagem);
|
||||
}
|
||||
|
||||
// Receita BPR
|
||||
else {
|
||||
receitaBPR = receitaBPR.add(receitaItem);
|
||||
receitaBPR = MoneyHelper.somar(receitaBPR, receitaItem);
|
||||
|
||||
BigDecimal bpr = calculoComisssaoBPR(isAltaTemporada, ptovtaComissao, receitaItem, BigDecimal.ZERO);
|
||||
comissaoBPR = comissaoBPR.add(bpr);
|
||||
comissaoBPR = MoneyHelper.somar(comissaoBPR, bpr);
|
||||
}
|
||||
}
|
||||
|
||||
if (statusBoleto.equals(IndStatusBoleto.C)) {
|
||||
// Devolução Receita
|
||||
if (rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_DEVOLUCAO)) {
|
||||
if (rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_DEVOLUCAO) || rcc.getMotivoCancelacionId().equals(Constantes.MVO_CANCEL_GERACAO_OCD)) {
|
||||
|
||||
// Devolução Receita GAP
|
||||
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) {
|
||||
|
||||
// Impresso Venta de otro punto venta
|
||||
if (rcc.isPtoVtaOrigem()) {
|
||||
devolvidosGAPOrigem = devolvidosGAPOrigem.add(receitaDevItem);
|
||||
devolvidosGAPOrigem = MoneyHelper.somar(devolvidosGAPOrigem, receitaDevItem);
|
||||
}
|
||||
devolvidosGAP = devolvidosGAP.add(receitaDevItem);
|
||||
devolvidosGAP = MoneyHelper.somar(devolvidosGAP, receitaDevItem);
|
||||
|
||||
} else {
|
||||
// Impresso Venta de otro punto venta
|
||||
if (rcc.isPtoVtaOrigem()) {
|
||||
devolvidosOrigem = devolvidosOrigem.add(receitaDevItem);
|
||||
devolvidosOrigem = MoneyHelper.somar(devolvidosOrigem, receitaDevItem);
|
||||
}
|
||||
|
||||
devolvidos = devolvidos.add(receitaDevItem);
|
||||
devolvidos = MoneyHelper.somar(devolvidos, receitaDevItem);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -582,9 +601,9 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
else {
|
||||
// Cancelamento Receita GAP
|
||||
if (rcc.getTipoVenta().equals(Constantes.TPV_BOLETO_REMOTO.intValue())) {
|
||||
canceladosGAP = canceladosGAP.add(receitaDevItem);
|
||||
canceladosGAP = MoneyHelper.somar(canceladosGAP, receitaDevItem);
|
||||
} else {
|
||||
cancelados = cancelados.add(receitaDevItem);
|
||||
cancelados = MoneyHelper.somar(cancelados, receitaDevItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -609,11 +628,19 @@ public class CalculoComissaoServiceImpl implements CalculoComissaoService {
|
|||
|
||||
// Receita Comissão = Receita BPR + Receita GAP - GapImpressa - Internet
|
||||
// - Cancelados - Devoluções Origem - Cancelados GAP - Devoluções GAP Origem - Devoluções - Devoluções GAP
|
||||
receitaComissao = receitaComissao.add(receitaBPR).add(receitaGAP);
|
||||
receitaComissao = MoneyHelper.somar(receitaComissao,receitaBPR);
|
||||
receitaComissao = MoneyHelper.somar(receitaComissao,receitaGAP);
|
||||
|
||||
receitaComissao = receitaComissao.subtract(gapImpressa).subtract(internet).subtract(cancelados);
|
||||
receitaComissao = receitaComissao.subtract(devolvidosOrigem).subtract(devolvidos).subtract(canceladosGAP);
|
||||
receitaComissao = receitaComissao.subtract(devolvidosGAPOrigem).subtract(devolvidosGAP);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,gapImpressa);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,internet);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,cancelados);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,devolvidos);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,devolvidosGAP);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,devolvidosOrigem);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,devolvidosGAPOrigem);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,cancelados);
|
||||
receitaComissao = MoneyHelper.subtrair(receitaComissao,canceladosGAP);
|
||||
|
||||
cr.setReceitaComissao(receitaComissao);
|
||||
|
||||
cr.setComissaoBPRDiaria(comissaoBPR);
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
package com.rjconsultores.ventaboletos.utilerias;
|
||||
|
||||
import java.text.ParseException;
|
||||
|
||||
import javax.swing.text.MaskFormatter;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
public class DocumentosUtil {
|
||||
|
||||
private static final String CPF_MASK = "###.###.###-##";
|
||||
private static final String CNPJ_MASK = "##.###.###/####-##";
|
||||
|
||||
public static String formataCpf(String cpf) {
|
||||
try {
|
||||
if(StringUtils.isNotBlank(cpf)) {
|
||||
cpf = StringHelper.preencherZeroEsquerda(cpf.replace("[^0-9]", ""), 11);
|
||||
MaskFormatter mask = new MaskFormatter(CPF_MASK);
|
||||
mask.setValueContainsLiteralCharacters(false);
|
||||
return mask.valueToString(cpf);
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String formataCnpj(String cnpj) {
|
||||
try {
|
||||
if(StringUtils.isNotBlank(cnpj)) {
|
||||
cnpj = StringHelper.preencherZeroEsquerda(cnpj.replace("[^0-9]", ""), 14);
|
||||
MaskFormatter mask = new MaskFormatter(CNPJ_MASK);
|
||||
mask.setValueContainsLiteralCharacters(false);
|
||||
return mask.valueToString(cnpj);
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -37,7 +37,7 @@ public class MoneyHelper {
|
|||
public static BigDecimal instanciar(BigDecimal aValor) {
|
||||
return arredondar(aValor);
|
||||
}
|
||||
|
||||
|
||||
public static BigDecimal somar(BigDecimal ... aAmount) {
|
||||
BigDecimal total = BigDecimal.ZERO;
|
||||
for(BigDecimal value : aAmount){
|
||||
|
@ -46,12 +46,29 @@ public class MoneyHelper {
|
|||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
public static BigDecimal somar(int customScale, BigDecimal ... aAmount) {
|
||||
BigDecimal total = BigDecimal.ZERO;
|
||||
for(BigDecimal value : aAmount){
|
||||
BigDecimal fAmountOne = value == null ? BigDecimal.ZERO:arredondar(value, customScale);
|
||||
total = total.add(fAmountOne);
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
public static BigDecimal somar(BigDecimal aAmountOne, BigDecimal aAmountTwo) {
|
||||
BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO:arredondar(aAmountOne);
|
||||
BigDecimal fAmountTwo =aAmountTwo == null ? BigDecimal.ZERO: arredondar(aAmountTwo);
|
||||
|
||||
return fAmountOne.add(fAmountTwo);
|
||||
}
|
||||
|
||||
public static BigDecimal somar(BigDecimal aAmountOne, BigDecimal aAmountTwo, int customScale) {
|
||||
BigDecimal fAmountOne = aAmountOne == null ? BigDecimal.ZERO:arredondar(aAmountOne, customScale);
|
||||
BigDecimal fAmountTwo =aAmountTwo == null ? BigDecimal.ZERO: arredondar(aAmountTwo, customScale);
|
||||
|
||||
return fAmountOne.add(fAmountTwo);
|
||||
}
|
||||
|
||||
public static BigDecimal subtrair(BigDecimal aAmountOne, BigDecimal aAmountTwo) {
|
||||
BigDecimal fAmountOne = arredondar(aAmountOne);
|
||||
|
@ -59,6 +76,13 @@ public class MoneyHelper {
|
|||
|
||||
return fAmountOne.subtract(fAmountTwo);
|
||||
}
|
||||
|
||||
public static BigDecimal subtrair(BigDecimal aAmountOne, BigDecimal aAmountTwo, int customScale) {
|
||||
BigDecimal fAmountOne = arredondar(aAmountOne, customScale);
|
||||
BigDecimal fAmountTwo = arredondar(aAmountTwo, customScale);
|
||||
|
||||
return fAmountOne.subtract(fAmountTwo);
|
||||
}
|
||||
|
||||
public static BigDecimal dividir(BigDecimal aAmount, BigDecimal aDivisor) {
|
||||
BigDecimal fAmount = arredondar(aAmount);
|
||||
|
@ -66,6 +90,13 @@ public class MoneyHelper {
|
|||
|
||||
return fAmount.divide(fDivisor, DECIMALS, ROUNDING_MODE);
|
||||
}
|
||||
|
||||
public static BigDecimal dividir(BigDecimal aAmount, BigDecimal aDivisor, int customScale) {
|
||||
BigDecimal fAmount = arredondar(aAmount, customScale);
|
||||
BigDecimal fDivisor = arredondar(aDivisor, customScale);
|
||||
|
||||
return fAmount.divide(fDivisor, DECIMALS, ROUNDING_MODE);
|
||||
}
|
||||
|
||||
public static BigDecimal multiplicar(BigDecimal aAmount, BigDecimal aMultiplicand) {
|
||||
BigDecimal fAmount = arredondar(aAmount);
|
||||
|
@ -74,6 +105,13 @@ public class MoneyHelper {
|
|||
return fAmount.multiply(fMultiplicand, new MathContext(ROUNDING_MODE));
|
||||
}
|
||||
|
||||
public static BigDecimal multiplicar(BigDecimal aAmount, BigDecimal aMultiplicand, int customScale) {
|
||||
BigDecimal fAmount = arredondar(aAmount, customScale);
|
||||
BigDecimal fMultiplicand = arredondar(aMultiplicand, customScale);
|
||||
|
||||
return fAmount.multiply(fMultiplicand, new MathContext(ROUNDING_MODE));
|
||||
}
|
||||
|
||||
public static BigDecimal arredondar(BigDecimal aNumber) {
|
||||
if (aNumber != null) {
|
||||
return aNumber.setScale(DECIMALS, ROUNDING_MODE);
|
||||
|
@ -175,4 +213,8 @@ public class MoneyHelper {
|
|||
return null;
|
||||
}
|
||||
|
||||
public static BigDecimal arredondar(BigDecimal aNumber, int customScale) {
|
||||
return aNumber.setScale(customScale, ROUNDING_MODE);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,8 @@ package com.rjconsultores.ventaboletos.vo.comissao;
|
|||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
|
||||
|
||||
public class ComissaoReceita {
|
||||
|
||||
private Date data;
|
||||
|
@ -126,16 +128,15 @@ public class ComissaoReceita {
|
|||
|
||||
public BigDecimal getDevolvidosRelatorio() {
|
||||
BigDecimal devolvidos = BigDecimal.ZERO;
|
||||
devolvidos = devolvidos.add(getDevolvidos() != null ? getDevolvidos() : BigDecimal.ZERO)
|
||||
.add(getDevolucoesOrigem() != null ? getDevolucoesOrigem() : BigDecimal.ZERO);
|
||||
return devolvidos;
|
||||
devolvidos = MoneyHelper.somar(getDevolvidos() != null ? getDevolvidos() : BigDecimal.ZERO,
|
||||
getDevolucoesOrigem() != null ? getDevolucoesOrigem() : BigDecimal.ZERO);
|
||||
return MoneyHelper.arredondar(devolvidos, 2);
|
||||
}
|
||||
|
||||
public BigDecimal getDevolvidosGAPRelatorio() {
|
||||
BigDecimal devolvidosGap = BigDecimal.ZERO;
|
||||
devolvidosGap = devolvidosGap.add(getDevolvidosGAP() != null ? getDevolvidosGAP() : BigDecimal.ZERO)
|
||||
.add(getDevolucoesOrigemGAP() != null ? getDevolucoesOrigemGAP() : BigDecimal.ZERO);
|
||||
return devolvidos;
|
||||
BigDecimal devolvidosGap = MoneyHelper.somar(getDevolvidosGAP() != null ? getDevolvidosGAP() : BigDecimal.ZERO,
|
||||
getDevolucoesOrigemGAP() != null ? getDevolucoesOrigemGAP() : BigDecimal.ZERO);
|
||||
return MoneyHelper.arredondar(devolvidosGap, 2);
|
||||
}
|
||||
|
||||
public BigDecimal getDevolvidosGAP() {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package com.rjconsultores.ventaboletos.vo.comissao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
|
||||
|
@ -12,7 +11,9 @@ import org.zkoss.util.resource.Labels;
|
|||
|
||||
import com.rjconsultores.ventaboletos.entidad.Comissao;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
||||
import com.rjconsultores.ventaboletos.utilerias.DocumentosUtil;
|
||||
import com.rjconsultores.ventaboletos.utilerias.LocaleUtil;
|
||||
import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
|
||||
|
||||
public class HistoricoComissao extends Comissao {
|
||||
|
||||
|
@ -36,6 +37,8 @@ public class HistoricoComissao extends Comissao {
|
|||
private String nombempresa;
|
||||
private String cnpj;
|
||||
private String descCorreo;
|
||||
private String razonsocial;
|
||||
private String cnpjPuntoventa;
|
||||
|
||||
public HistoricoComissao() {
|
||||
super();
|
||||
|
@ -49,6 +52,8 @@ public class HistoricoComissao extends Comissao {
|
|||
setIssRetido(BigDecimal.ZERO);
|
||||
setBonificacaoMetas(BigDecimal.ZERO);
|
||||
setEntregasPassagem(BigDecimal.ZERO);
|
||||
setReceitaBPR(BigDecimal.ZERO);
|
||||
setDevolvidos(BigDecimal.ZERO);
|
||||
}
|
||||
|
||||
public String getPagamento() {
|
||||
|
@ -92,29 +97,31 @@ public class HistoricoComissao extends Comissao {
|
|||
}
|
||||
|
||||
public BigDecimal getTotal() {
|
||||
BigDecimal total = BigDecimal.ZERO;
|
||||
total = total.add(getComissaoBpr() != null ? getComissaoBpr() : BigDecimal.ZERO)
|
||||
.add(getReceitaExcessobagagem() != null ? getReceitaExcessobagagem() : BigDecimal.ZERO)
|
||||
.add(getReceitaSeguroopcional() != null ? getReceitaSeguroopcional() : BigDecimal.ZERO)
|
||||
.add(getReceitaOutros() != null ? getReceitaOutros() : BigDecimal.ZERO)
|
||||
.add(getBonificacaoMetas() != null ? getBonificacaoMetas() : BigDecimal.ZERO)
|
||||
.add(getEntregasPassagem() != null ? getEntregasPassagem() : BigDecimal.ZERO);
|
||||
BigDecimal total = MoneyHelper.somar((getComissaoBpr() != null ? getComissaoBpr() : BigDecimal.ZERO),
|
||||
(getReceitaExcessobagagem() != null ? getReceitaExcessobagagem() : BigDecimal.ZERO),
|
||||
(getReceitaSeguroopcional() != null ? getReceitaSeguroopcional() : BigDecimal.ZERO),
|
||||
(getReceitaOutros() != null ? getReceitaOutros() : BigDecimal.ZERO),
|
||||
(getBonificacaoMetas() != null ? getBonificacaoMetas() : BigDecimal.ZERO),
|
||||
(getEntregasPassagem() != null ? getEntregasPassagem() : BigDecimal.ZERO));
|
||||
|
||||
total = total.setScale(2, RoundingMode.HALF_UP);
|
||||
|
||||
return total;
|
||||
return MoneyHelper.arredondar(total, 2);
|
||||
}
|
||||
|
||||
public BigDecimal getTotalLiquido() {
|
||||
BigDecimal totalLiquido = getTotal();
|
||||
totalLiquido = totalLiquido.subtract(getDescontosEventuais() != null ? getDescontosEventuais() : BigDecimal.ZERO)
|
||||
.subtract(getDescontosFixos() != null ? getDescontosFixos() : BigDecimal.ZERO)
|
||||
.subtract(getIssRetido() != null ? getIssRetido() : BigDecimal.ZERO)
|
||||
.subtract(getRoyaties() != null ? getRoyaties() : BigDecimal.ZERO);
|
||||
totalLiquido = MoneyHelper.subtrair(totalLiquido, getDescontosEventuais() != null ? getDescontosEventuais() : BigDecimal.ZERO);
|
||||
totalLiquido = MoneyHelper.subtrair(totalLiquido, getDescontosFixos() != null ? getDescontosFixos() : BigDecimal.ZERO);
|
||||
totalLiquido = MoneyHelper.subtrair(totalLiquido, getIssRetido() != null ? getIssRetido() : BigDecimal.ZERO);
|
||||
totalLiquido = MoneyHelper.subtrair(totalLiquido, getRoyaties() != null ? getRoyaties() : BigDecimal.ZERO);
|
||||
|
||||
totalLiquido = totalLiquido.setScale(2, RoundingMode.HALF_UP);
|
||||
|
||||
return totalLiquido;
|
||||
return MoneyHelper.arredondar(totalLiquido, 2);
|
||||
}
|
||||
|
||||
public BigDecimal getReceitaBaseComissao() {
|
||||
BigDecimal receitaBaseComissao = BigDecimal.ZERO;
|
||||
receitaBaseComissao = MoneyHelper.somar((getReceitaBPR() != null ? getReceitaBPR() : BigDecimal.ZERO));
|
||||
receitaBaseComissao = MoneyHelper.subtrair(receitaBaseComissao,(getDevolvidos() != null ? getDevolvidos() : BigDecimal.ZERO));
|
||||
return MoneyHelper.arredondar(receitaBaseComissao, 2);
|
||||
}
|
||||
|
||||
public String getSigla() {
|
||||
|
@ -168,7 +175,7 @@ public class HistoricoComissao extends Comissao {
|
|||
public String getTexto() {
|
||||
return Labels.getLabel("busquedaCalculoComissaoController.recibo.texto",
|
||||
new String[]{getNombempresa(),
|
||||
getCnpj(),
|
||||
getCnpjFormatado(),
|
||||
getTextoValor()});
|
||||
}
|
||||
|
||||
|
@ -207,6 +214,10 @@ public class HistoricoComissao extends Comissao {
|
|||
public String getCnpj() {
|
||||
return cnpj;
|
||||
}
|
||||
|
||||
public String getCnpjFormatado() {
|
||||
return DocumentosUtil.formataCnpj(getCnpj());
|
||||
}
|
||||
|
||||
public void setCnpj(String cnpj) {
|
||||
this.cnpj = cnpj;
|
||||
|
@ -277,5 +288,25 @@ public class HistoricoComissao extends Comissao {
|
|||
public BigDecimal getReceitaOutros() {
|
||||
return super.getReceitaOutros() != null ? super.getReceitaOutros() : BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
public String getCnpjPuntoventaFormatado() {
|
||||
return DocumentosUtil.formataCnpj(getCnpjPuntoventa());
|
||||
}
|
||||
|
||||
public String getCnpjPuntoventa() {
|
||||
return cnpjPuntoventa;
|
||||
}
|
||||
|
||||
public void setCnpjPuntoventa(String cnpjPuntoventa) {
|
||||
this.cnpjPuntoventa = cnpjPuntoventa;
|
||||
}
|
||||
|
||||
public String getRazonsocial() {
|
||||
return razonsocial;
|
||||
}
|
||||
|
||||
public void setRazonsocial(String razonsocial) {
|
||||
this.razonsocial = razonsocial;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue