| @@ -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); | |||
| } | |||