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 16bbfe729..bc2f3e5f0 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -1418,7 +1418,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { if(contractNeedPay == 0l){ return null; } - long rentPrice = 0l, siteMoney = 0l, facilityMoney = 0l, administratorMoney = 0l; + long rentPrice = 0l, siteMoney = 0l, facilityMoney = 0l, administratorMoney = 0l,managementMoney = 0l; if(!wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode()) && !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_COUNT.getCode()) && !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_CUSTOMIZE.getCode())){ @@ -1429,7 +1429,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { long sum = Arrays.stream(priceList).sum(); int size = rentInfoArray.size(); for (int i = 0;i < size;i++) { - BigDecimal a=new BigDecimal(0),b=new BigDecimal(0),c=new BigDecimal(0),d=new BigDecimal(0); + BigDecimal a=new BigDecimal(0),b=new BigDecimal(0),c=new BigDecimal(0),d=new BigDecimal(0),e=new BigDecimal(0); JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); String rentPrice1 = rentInfoObject.getString("rentPrice"); @@ -1450,6 +1450,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { if(StringUtils.isNotBlank(administratorMoney1)){ d = new BigDecimal(administratorMoney1); } + String managementMoney1 = otherRentPriceInfo.getString("managementMoney"); + if(StringUtils.isNotBlank(managementMoney1)){ + e = new BigDecimal(managementMoney1); + } } rentPrice += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum),2,BigDecimal.ROUND_HALF_UP) @@ -1460,11 +1464,12 @@ public class WxRentContractServiceImpl implements WxRentContractService { .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(); - + managementMoney += new BigDecimal(contractNeedPay).multiply(new BigDecimal(priceList[i])).divide(new BigDecimal(sum),2,BigDecimal.ROUND_HALF_UP) + .multiply(e).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); } }else{ - BigDecimal a=new BigDecimal(0),b=new BigDecimal(0),c=new BigDecimal(0),d=new BigDecimal(0); + BigDecimal a=new BigDecimal(0),b=new BigDecimal(0),c=new BigDecimal(0),d=new BigDecimal(0),e=new BigDecimal(0); String rentPrice1 = wxRentContract.getRentPrice(); if(StringUtils.isNotBlank(rentPrice1)){ a = new BigDecimal(rentPrice1).divide(new BigDecimal(100)); @@ -1485,12 +1490,16 @@ public class WxRentContractServiceImpl implements WxRentContractService { if(StringUtils.isNotBlank(administratorMoney1)){ d = new BigDecimal(administratorMoney1); } + String managementMoney1 = jsonObject.getString("managementMoney"); + if(StringUtils.isNotBlank(managementMoney1)){ + e = new BigDecimal(managementMoney1); + } } 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(); - + managementMoney = new BigDecimal(contractNeedPay).multiply(e).divide(a.add(b).add(c).add(d),2,BigDecimal.ROUND_HALF_UP).setScale(0,BigDecimal.ROUND_HALF_UP).longValue(); } }else{ rentPrice = contractNeedPay; @@ -1502,7 +1511,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { resultMap.put("siteMoney",new BigDecimal(siteMoney).divide(new BigDecimal(100)).toString()); resultMap.put("facilityMoney",new BigDecimal(facilityMoney).divide(new BigDecimal(100)).toString()); resultMap.put("administratorMoney",new BigDecimal(administratorMoney).divide(new BigDecimal(100)).toString()); - + resultMap.put("managementMoney",new BigDecimal(managementMoney).divide(new BigDecimal(100)).toString()); return JSON.toJSONString(resultMap); }