fixes bug#13740

dev:julio
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@90455 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2019-03-01 17:36:18 +00:00
parent 7be94a7e53
commit 94886d845d
1 changed files with 50 additions and 1 deletions

View File

@ -104,9 +104,13 @@ public class ExportacaoBPEVo {
String vICMS = null;
String cst = null;
String pRedBC = null;
String vBP = null;
String vDesconto = null;
String vPgto = null;
String vTxEmbarque = null;
String vPedagio = null;
String vSeguro = null;
if (StringUtils.isNotBlank(xml)) {
if (tbpe.getInfBPe().getImp().getICMS().getICMS00() != null) {
@ -123,6 +127,31 @@ public class ExportacaoBPEVo {
if (tbpe.getInfBPe().getInfValorBPe() != null) {
vBP = tbpe.getInfBPe().getInfValorBPe().getVBP();
vDesconto = tbpe.getInfBPe().getInfValorBPe().getVDesconto();
vPgto = tbpe.getInfBPe().getInfValorBPe().getVPgto();
for (TBPe.InfBPe.InfValorBPe.Comp comp : tbpe.getInfBPe().getInfValorBPe().getComp()) {
if (comp.getTpComp().equals(TipoComp.PEDAGIO)) {
vTxEmbarque = comp.getVComp() == null ? "0.0" : comp.getVComp();
// isentos = isentos.add(isEstadual && !det.getIndPedagioEstdual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO);
// isentos = isentos.add(!isEstadual && !det.getIndPedagioMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO);
// pedagio = isReceitaTerceiros ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO;
}
if (comp.getTpComp().equals(TipoComp.TAXA_EMBARQUE)) {
vPedagio = comp.getVComp() == null ? "0.0" : comp.getVComp();
// isentos = isentos.add(isEstadual && !det.getIndTxembarqueEstadual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO);
// isentos = isentos.add(!isEstadual && !det.getIndTxembarqueMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO);
// taxaEmbarque = isReceitaTerceiros ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO;
}
if (comp.getTpComp().equals(TipoComp.SEGURO)) {
vSeguro = comp.getVComp() == null ? "0.0" : comp.getVComp();
// isentos = isentos.add(isEstadual && !det.getIndSeguroEstadual() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO);
// isentos = isentos.add(!isEstadual && !det.getIndSeguroMunicipal() ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO);
// seguro = isReceitaTerceiros ? new BigDecimal(comp.getVComp() == null ? "0.0" : comp.getVComp()) : BigDecimal.ZERO;
}
}
}
// validar cst enviado
@ -138,11 +167,23 @@ public class ExportacaoBPEVo {
cst = tbpe.getInfBPe().getImp().getICMS().getICMSOutraUF().getCST();
else if (tbpe.getInfBPe().getImp().getICMS().getICMSSN() != null)
cst = tbpe.getInfBPe().getImp().getICMS().getICMSSN().getCST();
}
String cstCofins = "01";
String cstPis = "01";
// dependende dos parametros
BigDecimal valorPago = new BigDecimal(vPgto == null ? "0.0" : vPgto);
BigDecimal txEmbarque = new BigDecimal(vTxEmbarque == null ? "0.0" : vTxEmbarque);
BigDecimal pedagio = new BigDecimal(vPedagio == null ? "0.0" : vPedagio);
BigDecimal seguro = new BigDecimal(vSeguro == null ? "0.0" : vSeguro);
BigDecimal receitaTriCofins = new BigDecimal(vBC == null ? "0.0" : vBC);
if (pRedBC != null) {
receitaTriCofins = valorPago.subtract(txEmbarque.add(pedagio).add(pedagio).add(seguro));
}
BigDecimal valorBruto = StringUtils.isBlank(xml) ? registro.getValortotal() : new BigDecimal(vBP == null ? "0.0" : vBP);
BigDecimal desconto = StringUtils.isBlank(xml) ? registro.getvDesconto() : new BigDecimal(vDesconto == null ? "0.0" : vDesconto);
@ -171,9 +212,17 @@ public class ExportacaoBPEVo {
BigDecimal baseCalculoICMS = new BigDecimal(vBC == null ? "0.0" : vBC);
BigDecimal aliquotaICMS = new BigDecimal(pICMS == null ? "0.0" : pICMS);
BigDecimal icms = new BigDecimal(vICMS == null ? "0.0" : vICMS);
BigDecimal isentas = registro.getValortotal().subtract(baseCalculoICMS);
if (pRedBC != null) {
isentas = txEmbarque.add(pedagio).add(pedagio).add(seguro);
}
BigDecimal outras = new BigDecimal(pRedBC == null ? "0.0" : pRedBC);
if (pRedBC != null) {
outras = valorPago.subtract(baseCalculoICMS);
outras = outras.subtract(isentas);
}
ExportacaoBPETipoDPE tipoDPE = new ExportacaoBPETipoDPE(registro.getValortotal(), cfop, cst, csosnb,
baseCalculoICMS, aliquotaICMS, icms, isentas, outras);