diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 013d6d894..42e3202b7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1210,14 +1210,14 @@ public class WxRentContractServiceImpl implements WxRentContractService { } } - rentPrice += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum)) - .multiply(a).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); - siteMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum)) - .multiply(b).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); - facilityMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum)) - .multiply(c).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); - administratorMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum)) - .multiply(d).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + rentPrice += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum),2,BigDecimal.ROUND_HALF_UP) + .multiply(a).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + siteMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum),2,BigDecimal.ROUND_HALF_UP) + .multiply(b).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + facilityMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum),2,BigDecimal.ROUND_HALF_UP) + .multiply(c).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + administratorMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum),2,BigDecimal.ROUND_HALF_UP) + .multiply(d).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); } @@ -1243,10 +1243,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { d = new BigDecimal(administratorMoney1); } } - rentPrice = new BigDecimal(contractNeedPay).multiply(a).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); - siteMoney = new BigDecimal(contractNeedPay).multiply(b).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); - facilityMoney = new BigDecimal(contractNeedPay).multiply(c).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); - administratorMoney = new BigDecimal(contractNeedPay).multiply(d).divide(a.add(b).add(c).add(d)).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + rentPrice = new BigDecimal(contractNeedPay).multiply(a).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + siteMoney = new BigDecimal(contractNeedPay).multiply(b).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + facilityMoney = new BigDecimal(contractNeedPay).multiply(c).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); + administratorMoney = new BigDecimal(contractNeedPay).multiply(d).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); } }else{