瀏覽代碼

调差公式

qianxb 1 年之前
父節點
當前提交
c14335c1f9

+ 4 - 6
blade-service/blade-meter/src/main/java/org/springblade/meter/service/impl/ContractMaterialAdjustServiceImpl.java

@@ -102,12 +102,12 @@ 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);
             str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1-风险幅度差%)]×(1+合同增值税税率)\n");
-            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+dto.getRangePriceRatio().abs()+"%)]*(1+9.0/100)");
+            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }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);
             str.append("调差公式(标准):调增金额=调差数量×[市场价-基准价×(1+风险幅度差%)]×(1+合同增值税税率)\n");
-            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+dto.getRangePriceRatio()+"%)]*(1+9.0/100)");
+            str.append("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }
         adjust.setAdjustTotal(adjustTotal);
         adjust.setAdjustMoney(adjustMoney);
@@ -211,14 +211,12 @@ public class ContractMaterialAdjustServiceImpl extends BaseServiceImpl<ContractM
         BigDecimal currentPrice = dto.getCurrentPrice();
         if (price.compareTo(currentPrice) == 1){
             //市场价低于基准价
-            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.DOWN);
+            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("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1-"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }else {
             //市场价高于基准价
-            BigDecimal b1 = new BigDecimal(1).add(material.getQuotaRatio().multiply(new BigDecimal("0.01"))).setScale(3, RoundingMode.HALF_UP);
-            BigDecimal b2 = price.multiply(b1).setScale(3, RoundingMode.HALF_UP);
-            adjustMoney = adjustTotal.multiply(currentPrice.subtract(b2)).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("调差公式(计算):"+adjustMoney+"="+adjustTotal+"*["+currentPrice+"-"+price+"*(1+"+material.getQuotaRatio()+"%)]*(1+9.0/100)");
         }