Sfoglia il codice sorgente

利润预算表问题处理

yzc 1 anno fa
parent
commit
de5ef26c61

+ 10 - 5
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -698,13 +698,18 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                 BigDecimal grossProfit = incomeAmount.subtract(expenditureAmount);
                 grossProfitInfo.setGross(grossProfit.setScale(2, BigDecimal.ROUND_HALF_UP));
 
-                //毛利率(毛利/合同金额*100%)
+                //毛利率 = 毛利 / (合同人民币金额 + 采购金额 / 1.13 * 0.13)
                 grossProfitInfo.setGrossRate(BigDecimal.ZERO);
-                if (BigDecimal.ZERO.compareTo(grossProfitInfo.getContractRmbAmount()) != 0) {
-                    BigDecimal grossRate = grossProfitInfo.getGross()
-                            .divide(grossProfitInfo.getContractRmbAmount(), 2, BigDecimal.ROUND_HALF_UP)
+                //(合同人民币金额 + 采购金额 / 1.13 * 0.13)
+                BigDecimal add = grossProfitInfo.getContractRmbAmount().add(
+                        grossProfitInfo.getPurchaseAmount()
+                                .divide(BigDecimal.valueOf(1.13), 4, BigDecimal.ROUND_HALF_UP)
+                                .multiply(BigDecimal.valueOf(0.13))
+                );
+                if (BigDecimal.ZERO.compareTo(add) != 0) {
+                    BigDecimal grossRate = grossProfitInfo.getGross().divide(add, 4, BigDecimal.ROUND_HALF_UP)
                             .multiply(BigDecimal.valueOf(100));
-                    grossProfitInfo.setGrossRate(grossRate);
+                    grossProfitInfo.setGrossRate(grossRate.setScale(2, BigDecimal.ROUND_HALF_UP));
                 }
                 //对比上一版本利润
                 grossProfitInfo.setCompareLastGross(BigDecimal.ZERO);