diff --git a/src/com/rjconsultores/ventaboletos/constantes/TipoEventoExtra.java b/src/com/rjconsultores/ventaboletos/constantes/TipoEventoExtra.java new file mode 100644 index 000000000..3eb60b006 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/constantes/TipoEventoExtra.java @@ -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; + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java b/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java index 7932dd6f9..dd06f7141 100644 --- a/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/ComissaoDAO.java @@ -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; diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java index 55fa4874d..f4149d651 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/ComissaoHibernateDAO.java @@ -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 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 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 .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 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 .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 .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(); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java index 4ac1cd179..c85f89124 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/DescontoComissaoHibernateDAO.java @@ -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 implements DescontoComissaoDAO { @@ -29,14 +30,14 @@ public class DescontoComissaoHibernateDAO extends GenericHibernateDAO= :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(); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/PtovtaComissaoHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/PtovtaComissaoHibernateDAO.java index 659f5433b..121894f12 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/PtovtaComissaoHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/PtovtaComissaoHibernateDAO.java @@ -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 empresas = new ArrayList(); @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 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; + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java index 16c3ef7ac..d3c094df6 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CalculoComissaoServiceImpl.java @@ -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); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/DocumentosUtil.java b/src/com/rjconsultores/ventaboletos/utilerias/DocumentosUtil.java new file mode 100644 index 000000000..918b427b7 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/utilerias/DocumentosUtil.java @@ -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; + } + +} diff --git a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java index 3a77f0ecc..214ccc85a 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/MoneyHelper.java @@ -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); + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java b/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java index 4067f9d04..313fea5db 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/ComissaoReceita.java @@ -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() { diff --git a/src/com/rjconsultores/ventaboletos/vo/comissao/HistoricoComissao.java b/src/com/rjconsultores/ventaboletos/vo/comissao/HistoricoComissao.java index 57eef6c36..4522466bc 100644 --- a/src/com/rjconsultores/ventaboletos/vo/comissao/HistoricoComissao.java +++ b/src/com/rjconsultores/ventaboletos/vo/comissao/HistoricoComissao.java @@ -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; + } }