| @@ -1418,7 +1418,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| if(contractNeedPay == 0l){ | if(contractNeedPay == 0l){ | ||||
| return null; | 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()) && | if(!wxRentContract.getType().equals(EnumRentContractType.RENT_BY_JOINT.getCode()) && | ||||
| !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_COUNT.getCode()) | !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_COUNT.getCode()) | ||||
| && !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_CUSTOMIZE.getCode())){ | && !wxRentContract.getType().equals(EnumRentContractType.RENT_BY_CUSTOMIZE.getCode())){ | ||||
| @@ -1429,7 +1429,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| long sum = Arrays.stream(priceList).sum(); | long sum = Arrays.stream(priceList).sum(); | ||||
| int size = rentInfoArray.size(); | int size = rentInfoArray.size(); | ||||
| for (int i = 0;i < size;i++) { | 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); | JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); | ||||
| String rentPrice1 = rentInfoObject.getString("rentPrice"); | String rentPrice1 = rentInfoObject.getString("rentPrice"); | ||||
| @@ -1450,6 +1450,10 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| if(StringUtils.isNotBlank(administratorMoney1)){ | if(StringUtils.isNotBlank(administratorMoney1)){ | ||||
| d = new BigDecimal(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) | 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(); | .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) | 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(); | .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{ | }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(); | String rentPrice1 = wxRentContract.getRentPrice(); | ||||
| if(StringUtils.isNotBlank(rentPrice1)){ | if(StringUtils.isNotBlank(rentPrice1)){ | ||||
| a = new BigDecimal(rentPrice1).divide(new BigDecimal(100)); | a = new BigDecimal(rentPrice1).divide(new BigDecimal(100)); | ||||
| @@ -1485,12 +1490,16 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| if(StringUtils.isNotBlank(administratorMoney1)){ | if(StringUtils.isNotBlank(administratorMoney1)){ | ||||
| d = new BigDecimal(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(); | 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(); | 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(); | 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(); | 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{ | }else{ | ||||
| rentPrice = contractNeedPay; | rentPrice = contractNeedPay; | ||||
| @@ -1502,7 +1511,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| resultMap.put("siteMoney",new BigDecimal(siteMoney).divide(new BigDecimal(100)).toString()); | resultMap.put("siteMoney",new BigDecimal(siteMoney).divide(new BigDecimal(100)).toString()); | ||||
| resultMap.put("facilityMoney",new BigDecimal(facilityMoney).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("administratorMoney",new BigDecimal(administratorMoney).divide(new BigDecimal(100)).toString()); | ||||
| resultMap.put("managementMoney",new BigDecimal(managementMoney).divide(new BigDecimal(100)).toString()); | |||||
| return JSON.toJSONString(resultMap); | return JSON.toJSONString(resultMap); | ||||
| } | } | ||||