|
@@ -252,6 +252,7 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
|
|
return ;
|
|
return ;
|
|
}
|
|
}
|
|
BigDecimal adjustMoney = BigDecimal.ZERO;
|
|
BigDecimal adjustMoney = BigDecimal.ZERO;
|
|
|
|
+ BigDecimal adjustMoneyPre = BigDecimal.ZERO;
|
|
BigDecimal price = dto.getMaterialPrice();
|
|
BigDecimal price = dto.getMaterialPrice();
|
|
BigDecimal currentPrice = dto.getCurrentPrice();
|
|
BigDecimal currentPrice = dto.getCurrentPrice();
|
|
if (price.compareTo(currentPrice) == 1){
|
|
if (price.compareTo(currentPrice) == 1){
|
|
@@ -259,13 +260,16 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
|
|
adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).subtract(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
|
|
adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).subtract(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
|
|
str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1-风险幅度差%)]×(1+合同增值税税率)\n");
|
|
str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1-风险幅度差%)]×(1+合同增值税税率)\n");
|
|
str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
|
|
str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
|
|
|
|
+ adjustMoneyPre = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).subtract(material.getQuotaRatio().multiply(new BigDecimal("0.01")))))));
|
|
}else {
|
|
}else {
|
|
//市场价高于基准价
|
|
//市场价高于基准价
|
|
adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
|
|
adjustMoney = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01"))))))).multiply(new BigDecimal("1.09")).setScale(2, RoundingMode.HALF_UP);
|
|
str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1+风险幅度差%)]×(1+合同增值税税率)\n");
|
|
str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1+风险幅度差%)]×(1+合同增值税税率)\n");
|
|
str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
|
|
str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
|
|
|
|
+ adjustMoneyPre = adjustTotal.multiply(currentPrice.subtract((price.multiply(new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01")))))));
|
|
}
|
|
}
|
|
adjust.setAdjustMoney(adjustMoney.setScale(0,RoundingMode.HALF_UP));
|
|
adjust.setAdjustMoney(adjustMoney.setScale(0,RoundingMode.HALF_UP));
|
|
|
|
+ adjust.setAdjustMoneyPre(adjustMoneyPre);
|
|
adjust.setAdjustCalculation(str.toString());
|
|
adjust.setAdjustCalculation(str.toString());
|
|
}
|
|
}
|
|
}
|
|
}
|