| @@ -28,6 +28,8 @@ import org.springframework.web.bind.annotation.*; | |||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.util.ArrayList; | |||||
| import java.util.Date; | import java.util.Date; | ||||
| import java.util.HashMap; | import java.util.HashMap; | ||||
| import java.util.List; | import java.util.List; | ||||
| @@ -161,14 +163,21 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| } | } | ||||
| @PostMapping("add") | @PostMapping("add") | ||||
| @SystemControllerLog(description = "物业合同-新增") | |||||
| public ResultData add(@RequestBody WxPropertyContract wxPropertyContract) { | public ResultData add(@RequestBody WxPropertyContract wxPropertyContract) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::add"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::add"); | ||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| wxPropertyContract.updateTenantInfo(user); | wxPropertyContract.updateTenantInfo(user); | ||||
| wxPropertyContract.setAdjustPeriodHandle(); | wxPropertyContract.setAdjustPeriodHandle(); | ||||
| WxRentContract rentContract = rentContractService.getSimpleDeatil(wxPropertyContract.getRentContractId()); | |||||
| wxPropertyContract.calcutePrice(rentContract); | |||||
| if (wxPropertyContract.getCreateType().intValue() == EnumPropertyCreateType.BY_SHOP.getCode().intValue()) { | |||||
| if (StringUtils.isBlank(wxPropertyContract.getRentArea()) || StringUtils.isBlank(wxPropertyContract.getShopIds())) { | |||||
| return new ResultData("rentArea,shopIds参数不能为空"); | |||||
| } | |||||
| wxPropertyContract.setShopIds(","+wxPropertyContract.getShopIds()+","); | |||||
| wxPropertyContract.calcutePrice(wxPropertyContract.getRentArea()); | |||||
| }else { | |||||
| WxRentContract rentContract = rentContractService.getSimpleDeatil(wxPropertyContract.getRentContractId()); | |||||
| wxPropertyContract.calcutePrice(rentContract.getRentArea()); | |||||
| } | |||||
| Integer contractType = wxRentPropertyContractService.getContractType(wxPropertyContract.getRentShopType(), wxPropertyContract.getOperationType(), EnumContractType.PROPERTY.getCode()); | Integer contractType = wxRentPropertyContractService.getContractType(wxPropertyContract.getRentShopType(), wxPropertyContract.getOperationType(), EnumContractType.PROPERTY.getCode()); | ||||
| wxPropertyContract.setContractType(contractType); | wxPropertyContract.setContractType(contractType); | ||||
| if(wxPropertyContract.getRentStartType()!=null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | if(wxPropertyContract.getRentStartType()!=null && wxPropertyContract.getRentStartType().equals(EnumRentStartType.STARTTIME.getCode())){ | ||||
| @@ -177,22 +186,25 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName(),false); | return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName(),false); | ||||
| } | } | ||||
| //物业合同-更新租赁开始日期 | |||||
| @PostMapping("updateRentStartTime") | @PostMapping("updateRentStartTime") | ||||
| @SystemControllerLog(description = "物业合同-更新租赁开始日期") | |||||
| public ResultData updateRentStartTime(@RequestBody WxPropertyContract wxPropertyContract) { | public ResultData updateRentStartTime(@RequestBody WxPropertyContract wxPropertyContract) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::updateRentStartTime"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::updateRentStartTime"); | ||||
| WxPropertyContract propertyContract = wxPropertyContractMapper.selectById(wxPropertyContract.getId()); | WxPropertyContract propertyContract = wxPropertyContractMapper.selectById(wxPropertyContract.getId()); | ||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| propertyContract.updateTenantInfo(user); | propertyContract.updateTenantInfo(user); | ||||
| propertyContract.setAdjustPeriodHandle(); | propertyContract.setAdjustPeriodHandle(); | ||||
| WxRentContract rentContract = rentContractService.getSimpleDeatil(propertyContract.getRentContractId()); | |||||
| wxPropertyContract.calcutePrice(rentContract); | |||||
| if (propertyContract.getCreateType().intValue() == EnumPropertyCreateType.BY_SHOP.getCode().intValue()) { | |||||
| propertyContract.calcutePrice(propertyContract.getRentArea()); | |||||
| }else { | |||||
| WxRentContract rentContract = rentContractService.getSimpleDeatil(propertyContract.getRentContractId()); | |||||
| wxPropertyContract.calcutePrice(rentContract.getRentArea()); | |||||
| } | |||||
| propertyContract.setRentStartType(wxPropertyContract.getRentStartType()); | propertyContract.setRentStartType(wxPropertyContract.getRentStartType()); | ||||
| return wxPropertyContractService.saveOrUpdate(propertyContract, user.getId(), user.getName(),false); | return wxPropertyContractService.saveOrUpdate(propertyContract, user.getId(), user.getName(),false); | ||||
| } | } | ||||
| @PostMapping("update") | |||||
| @SystemControllerLog(description = "物业合同-修改") | |||||
| @PostMapping("update-第三步") | |||||
| public ResultData update(@RequestBody WxPropertyContract wxPropertyContract) { | public ResultData update(@RequestBody WxPropertyContract wxPropertyContract) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::update"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::update"); | ||||
| MallUserInfo user = getUser(); | MallUserInfo user = getUser(); | ||||
| @@ -209,8 +221,18 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| */ | */ | ||||
| @PostMapping("calcutePrice") | @PostMapping("calcutePrice") | ||||
| public ResultData calcutePrice(@RequestBody WxPropertyContract wxPropertyContract) { | public ResultData calcutePrice(@RequestBody WxPropertyContract wxPropertyContract) { | ||||
| WxRentContract rentContract = rentContractService.getSimpleDeatil(wxPropertyContract.getRentContractId()); | |||||
| wxPropertyContract.calcutePrice(rentContract); | |||||
| if (null == wxPropertyContract.getCreateType()) { | |||||
| return new ResultData("createType参数不能为空"); | |||||
| } | |||||
| if (wxPropertyContract.getCreateType().intValue() == EnumPropertyCreateType.BY_SHOP.getCode().intValue()) { | |||||
| if (StringUtils.isBlank(wxPropertyContract.getRentArea())) { | |||||
| return new ResultData("rentArea,shopIds参数不能为空"); | |||||
| } | |||||
| wxPropertyContract.calcutePrice(wxPropertyContract.getRentArea()); | |||||
| }else { | |||||
| WxRentContract rentContract = rentContractService.getSimpleDeatil(wxPropertyContract.getRentContractId()); | |||||
| wxPropertyContract.calcutePrice(rentContract.getRentArea()); | |||||
| } | |||||
| return new ResultData(wxPropertyContract.getPrice()); | return new ResultData(wxPropertyContract.getPrice()); | ||||
| } | } | ||||
| @@ -305,13 +327,43 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"租赁合同状态为草稿才能进行此操作"); | return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"租赁合同状态为草稿才能进行此操作"); | ||||
| } | } | ||||
| if (rentHasValidProperty(contract)) { | |||||
| return new ResultData(Result.ERROR, "租金合同["+contract.getContractNumber()+"]存在有效或者审批中的物业合同。"); | |||||
| if (contract.getCreateType().intValue() == EnumPropertyCreateType.BY_SHOP.getCode().intValue()) { | |||||
| if (shopHasValidProperty(contract)) { | |||||
| return new ResultData(Result.ERROR, "店铺存在有效或者审批中的物业合同。"); | |||||
| } | |||||
| }else { | |||||
| if (rentHasValidProperty(contract)) { | |||||
| return new ResultData(Result.ERROR, "租金合同["+contract.getContractNumber()+"]存在有效或者审批中的物业合同。"); | |||||
| } | |||||
| } | } | ||||
| wxPropertyContractService.updatePropertyContractStatus(proertyContract.getId()); | wxPropertyContractService.updatePropertyContractStatus(proertyContract.getId()); | ||||
| return new ResultData(Result.SUCCESS,"合同生效成功!"); | return new ResultData(Result.SUCCESS,"合同生效成功!"); | ||||
| } | } | ||||
| private boolean shopHasValidProperty(WxPropertyContract contract) { | |||||
| WxPropertyContract wpc = new WxPropertyContract(); | |||||
| String[] shopIds = contract.getShopIds().split(","); | |||||
| List<Long> sidl = new ArrayList<Long>(); | |||||
| for (String sid : shopIds) { | |||||
| if (StringUtils.isNotBlank(sid)) { | |||||
| sidl.add(Long.parseLong(sid)); | |||||
| } | |||||
| } | |||||
| if (sidl.size() == 0 ) { | |||||
| return false; | |||||
| } | |||||
| wpc.setShopIdsQuery(sidl); | |||||
| List<Integer> statuss = EnumRentContractStatus.getValidStatus(); | |||||
| statuss.add(EnumRentContractStatus.PERFORMANCE.getCode()); | |||||
| wpc.setStatuss(statuss); | |||||
| List<WxPropertyContract> list = wxPropertyContractService.findList(wpc); | |||||
| if (null != list && list.size() > 0 ) { | |||||
| return true; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| private boolean rentHasValidProperty(WxPropertyContract contract) { | private boolean rentHasValidProperty(WxPropertyContract contract) { | ||||
| WxPropertyContract wpc = new WxPropertyContract(); | WxPropertyContract wpc = new WxPropertyContract(); | ||||
| wpc.setRentContractId(contract.getRentContractId()); | wpc.setRentContractId(contract.getRentContractId()); | ||||
| @@ -339,8 +391,14 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"物业合同不存在工作流,不能提交审批。"); | return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"物业合同不存在工作流,不能提交审批。"); | ||||
| } | } | ||||
| if (rentHasValidProperty(contract)) { | |||||
| return new ResultData(Result.ERROR, "租金合同["+contract.getContractNumber()+"]存在有效或者审批中的物业合同。"); | |||||
| if (contract.getCreateType().intValue() == EnumPropertyCreateType.BY_SHOP.getCode().intValue()) { | |||||
| if (shopHasValidProperty(contract)) { | |||||
| return new ResultData(Result.ERROR, "店铺存在有效或者审批中的物业合同。"); | |||||
| } | |||||
| }else { | |||||
| if (rentHasValidProperty(contract)) { | |||||
| return new ResultData(Result.ERROR, "租金合同["+contract.getContractNumber()+"]存在有效或者审批中的物业合同。"); | |||||
| } | |||||
| } | } | ||||
| if(contract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { | if(contract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { | ||||
| @@ -372,7 +430,6 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| @RequestMapping("/download") | @RequestMapping("/download") | ||||
| @SystemControllerLog(description = "物业合同-下载") | |||||
| public void download(HttpServletRequest request, HttpServletResponse response) { | public void download(HttpServletRequest request, HttpServletResponse response) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::download"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::download"); | ||||
| wxPropertyContractService.download(request, response); | wxPropertyContractService.download(request, response); | ||||
| @@ -404,7 +461,6 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| @GetMapping("/hasRentContract") | @GetMapping("/hasRentContract") | ||||
| @ApiImplicitParam(name = "rentContractId", value = "rentContractId", dataType = "Long", paramType = "query", required = true) | @ApiImplicitParam(name = "rentContractId", value = "rentContractId", dataType = "Long", paramType = "query", required = true) | ||||
| @SystemControllerLog(description = "物业合同-是否存在相关的租赁合同") | |||||
| public ResultData hasRentContract(Long rentContractId) { | public ResultData hasRentContract(Long rentContractId) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::hasRentContract"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::hasRentContract"); | ||||
| //return wxPropertyContractService.hasRentContract(rentContractId); | //return wxPropertyContractService.hasRentContract(rentContractId); | ||||
| @@ -413,7 +469,6 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| @PostMapping("updatePropertyContractStatus") | @PostMapping("updatePropertyContractStatus") | ||||
| @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) | ||||
| @SystemControllerLog(description = "物业合同-更新合同状态") | |||||
| public ResultData updatePropertyContractStatus(@RequestBody WxPropertyContract wxPropertyContract) { | public ResultData updatePropertyContractStatus(@RequestBody WxPropertyContract wxPropertyContract) { | ||||
| logger.debug("[" + getIpAddr() + "] WxPropertyContractController::updateRentContractStatus"); | logger.debug("[" + getIpAddr() + "] WxPropertyContractController::updateRentContractStatus"); | ||||
| //return wxPropertyContractService.updatePropertyContractStatus(wxPropertyContract.getId()); | //return wxPropertyContractService.updatePropertyContractStatus(wxPropertyContract.getId()); | ||||
| @@ -426,7 +481,6 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| * @return | * @return | ||||
| */ | */ | ||||
| @PostMapping("buildBillPriceList") | @PostMapping("buildBillPriceList") | ||||
| @SystemControllerLog(description = "物业合同-生成账单列表金额") | |||||
| public ResultData buildBillPriceList(@RequestBody WxPropertyContract wxPropertyContract) throws Exception{ | public ResultData buildBillPriceList(@RequestBody WxPropertyContract wxPropertyContract) throws Exception{ | ||||
| logger.debug("[" + getIpAddr() + "] WxRentContractController::buildBillPriceList"); | logger.debug("[" + getIpAddr() + "] WxRentContractController::buildBillPriceList"); | ||||
| WxPropertyContract dbRent = wxPropertyContractMapper.selectById(wxPropertyContract.getId()); | WxPropertyContract dbRent = wxPropertyContractMapper.selectById(wxPropertyContract.getId()); | ||||
| @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; | |||||
| import com.iformall.common.SortColumn; | import com.iformall.common.SortColumn; | ||||
| import com.iformall.domain.po.base.TenantEntity; | import com.iformall.domain.po.base.TenantEntity; | ||||
| import com.iformall.enums.EnumPriceUnit; | import com.iformall.enums.EnumPriceUnit; | ||||
| import com.iformall.enums.EnumPropertyCreateType; | |||||
| import com.iformall.enums.EnumRentContractAdjustPeriod; | import com.iformall.enums.EnumRentContractAdjustPeriod; | ||||
| import com.iformall.enums.EnumYesOrNo; | import com.iformall.enums.EnumYesOrNo; | ||||
| @@ -20,6 +21,7 @@ import java.util.Date; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| import org.apache.commons.compress.utils.Lists; | |||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
| /** | /** | ||||
| @@ -55,10 +57,10 @@ public class WxPropertyContract extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="物业费(分)",name="price") | @io.swagger.annotations.ApiModelProperty(value="物业费(分)",name="price") | ||||
| private String price; | private String price; | ||||
| @io.swagger.annotations.ApiModelProperty(value="计租开始时间",name="rentalStartDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value="起租开始时间",name="rentalStartDate") | |||||
| private Date rentalStartDate; | private Date rentalStartDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="计租结束时间",name="rentalEndDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value="起租结束时间",name="rentalEndDate") | |||||
| private Date rentalEndDate; | private Date rentalEndDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value="签定合同时间",name="signDate") | @io.swagger.annotations.ApiModelProperty(value="签定合同时间",name="signDate") | ||||
| @@ -132,10 +134,10 @@ public class WxPropertyContract extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value="租金合同ID",name="rentContractId") | @io.swagger.annotations.ApiModelProperty(value="租金合同ID",name="rentContractId") | ||||
| private Long rentContractId; | private Long rentContractId; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "起租开始时间", name = "rentalStartDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value = "计租日", name = "startDate") | |||||
| private Date startDate; | private Date startDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "起租结束时间", name = "rentalEndDate") | |||||
| @io.swagger.annotations.ApiModelProperty(value = "", name = "endDate") | |||||
| private Date endDate; | private Date endDate; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "终止时间", name = "endContractTime") | @io.swagger.annotations.ApiModelProperty(value = "终止时间", name = "endContractTime") | ||||
| @@ -216,6 +218,15 @@ public class WxPropertyContract extends TenantEntity { | |||||
| @io.swagger.annotations.ApiModelProperty(value = "到期提醒手机号", name = "outDateNotifyPhone") | @io.swagger.annotations.ApiModelProperty(value = "到期提醒手机号", name = "outDateNotifyPhone") | ||||
| private String outDateNotifyPhone; | private String outDateNotifyPhone; | ||||
| @io.swagger.annotations.ApiModelProperty(value = "创建方式EnumPropertyCreateType", name = "createType") | |||||
| private Integer createType; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "店铺ids,根据店铺创建", name = "shopIds") | |||||
| private String shopIds; | |||||
| @io.swagger.annotations.ApiModelProperty(value = "店铺号,根据店铺创建", name = "shopNumbers") | |||||
| private String shopNumbers; | |||||
| @TableField(exist = false) | |||||
| private List<Long> shopIdsQuery; | |||||
| //查询过期提醒 | //查询过期提醒 | ||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private Integer outDateNofity; | private Integer outDateNofity; | ||||
| @@ -234,32 +245,52 @@ public class WxPropertyContract extends TenantEntity { | |||||
| } | } | ||||
| } | } | ||||
| public void calcutePrice(WxRentContract rentContract) { | |||||
| public void calcutePrice(String rentArea) { | |||||
| //如果是固定的,则不计算 | //如果是固定的,则不计算 | ||||
| if (null != fixedPrice && fixedPrice.equals(EnumYesOrNo.YES.getCode())) { | if (null != fixedPrice && fixedPrice.equals(EnumYesOrNo.YES.getCode())) { | ||||
| }else { | }else { | ||||
| if (StringUtils.isNoneBlank(rentContract.getRentArea()) && StringUtils.isNotBlank(this.rentPrice)) { | |||||
| this.price = new BigDecimal(rentContract.getRentArea()).multiply(new BigDecimal(this.rentPrice)).setScale(this.decimalSize, RoundingMode.HALF_UP).toPlainString(); | |||||
| if (StringUtils.isNotBlank(rentArea) && StringUtils.isNotBlank(this.rentPrice)) { | |||||
| this.price = new BigDecimal(rentArea).multiply(new BigDecimal(this.rentPrice)).setScale(this.decimalSize, RoundingMode.HALF_UP).toPlainString(); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| public String getRentInfoShopNumber() { | |||||
| public String getShopNumber() { | |||||
| StringBuffer sb = new StringBuffer(""); | StringBuffer sb = new StringBuffer(""); | ||||
| String rentInfo = this.getRentInfo(); | |||||
| if (!StringUtils.isBlank(rentInfo)) { | |||||
| JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); | |||||
| int size = rentInfoArray.size(); | |||||
| for (int i = 0; i < size; i++) { | |||||
| JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); | |||||
| String shopNumber = rentInfoObject.getString("shopNumber"); | |||||
| if (StringUtils.isNotBlank(shopNumber)) { | |||||
| sb.append(shopNumber).append(","); | |||||
| } | |||||
| } | |||||
| if (this.createType.intValue() == EnumPropertyCreateType.BY_RENT.getCode().intValue()) { | |||||
| String rentInfo = this.getRentInfo(); | |||||
| if (!StringUtils.isBlank(rentInfo)) { | |||||
| JSONArray rentInfoArray = JSONArray.parseArray(rentInfo); | |||||
| int size = rentInfoArray.size(); | |||||
| for (int i = 0; i < size; i++) { | |||||
| JSONObject rentInfoObject = rentInfoArray.getJSONObject(i); | |||||
| String shopNumber = rentInfoObject.getString("shopNumber"); | |||||
| if (StringUtils.isNotBlank(shopNumber)) { | |||||
| sb.append(shopNumber).append(","); | |||||
| } | |||||
| } | |||||
| } | |||||
| }else { | |||||
| sb.append(this.shopNumbers); | |||||
| } | } | ||||
| return sb.toString(); | return sb.toString(); | ||||
| } | } | ||||
| public List<Long> shopIdsByShop() { | |||||
| List<Long> shopList = Lists.newArrayList(); | |||||
| String shopids = this.getShopIds(); | |||||
| if (!StringUtils.isBlank(shopids)) { | |||||
| String[] sids = shopids.split(","); | |||||
| if (null != sids) { | |||||
| for (int i = 0; i < sids.length; i++) { | |||||
| if (StringUtils.isNotBlank(sids[i])) { | |||||
| shopList.add(Long.parseLong(sids[i])); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| return shopList; | |||||
| } | |||||
| @io.swagger.annotations.ApiModelProperty(value = "合同类型", name = "contractType") | @io.swagger.annotations.ApiModelProperty(value = "合同类型", name = "contractType") | ||||
| private Integer contractType; | private Integer contractType; | ||||
| @@ -0,0 +1,35 @@ | |||||
| package com.iformall.enums; | |||||
| /** | |||||
| */ | |||||
| public enum EnumPropertyCreateType { | |||||
| BY_RENT(1, "根据租金合同创建"), | |||||
| BY_SHOP(2, "根据店铺创建"), | |||||
| ; | |||||
| public static EnumPropertyCreateType getEnum(Integer code) { | |||||
| for (EnumPropertyCreateType value : values()) { | |||||
| if (value.getCode().equals(code)) { | |||||
| return value; | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| private Integer code; | |||||
| private String message; | |||||
| EnumPropertyCreateType(Integer code, String message) { | |||||
| this.code = code; | |||||
| this.message = message; | |||||
| } | |||||
| public Integer getCode() { | |||||
| return code; | |||||
| } | |||||
| public String getMessage() { | |||||
| return message; | |||||
| } | |||||
| } | |||||
| @@ -205,7 +205,7 @@ public class WxBillPropertyServiceImpl extends WxBillBaseService implements WxBi | |||||
| // e.setLatePayRatio(Integer.parseInt(rent.getLatePayRatio())); | // e.setLatePayRatio(Integer.parseInt(rent.getLatePayRatio())); | ||||
| // } | // } | ||||
| e.setLatePayDay(rent.getLatePayDay()); | e.setLatePayDay(rent.getLatePayDay()); | ||||
| e.setShopNumber(rent.getRentInfoShopNumber()); | |||||
| e.setShopNumber(rent.getShopNumber()); | |||||
| } | } | ||||
| // WxBillPropertyDeposit bd = billDepositMap.get(e.getPropertyContractId()); | // WxBillPropertyDeposit bd = billDepositMap.get(e.getPropertyContractId()); | ||||
| @@ -187,39 +187,45 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| } | } | ||||
| //租赁费用欠缴 | //租赁费用欠缴 | ||||
| WxRentContract wxRentContract = new WxRentContract(); | |||||
| wxRentContract.setId(wxPropertyContract.getRentContractId()); | |||||
| result.put("rentOweCount",wxRentContractMapper.queryOweCount(wxRentContract)); | |||||
| //物业费用欠缴 | |||||
| WxPropertyContract propertyContract = new WxPropertyContract(); | |||||
| propertyContract.setId(id); | |||||
| propertyContract.updateTenantInfo(wxPropertyContract); | |||||
| result.put("propertyOweCount",wxPropertyContractMapper.queryOweCount(propertyContract)); | |||||
| //押金欠缴 | |||||
| result.put("depositOweCount",wxBillPropertyDepositMapper.queryOweCount(propertyContract)); | |||||
| //押金状态 | |||||
| WxBillPropertyDeposit wxBillPropertyDeposit = new WxBillPropertyDeposit(); | |||||
| wxBillPropertyDeposit.setPropertyContractId(id); | |||||
| wxBillPropertyDeposit.updateTenantInfo(wxPropertyContract); | |||||
| List<WxBillPropertyDeposit> select = wxBillPropertyDepositMapper.findList(wxBillPropertyDeposit); | |||||
| if (!select.isEmpty()) { | |||||
| result.put("depositStatus", select.get(0).getStatus()); | |||||
| } | |||||
| // WxRentContract wxRentContract = new WxRentContract(); | |||||
| // wxRentContract.setId(wxPropertyContract.getRentContractId()); | |||||
| // result.put("rentOweCount",wxRentContractMapper.queryOweCount(wxRentContract)); | |||||
| // //物业费用欠缴 | |||||
| // WxPropertyContract propertyContract = new WxPropertyContract(); | |||||
| // propertyContract.setId(id); | |||||
| // propertyContract.updateTenantInfo(wxPropertyContract); | |||||
| // result.put("propertyOweCount",wxPropertyContractMapper.queryOweCount(propertyContract)); | |||||
| // //押金欠缴 | |||||
| // result.put("depositOweCount",wxBillPropertyDepositMapper.queryOweCount(propertyContract)); | |||||
| // //押金状态 | |||||
| // WxBillPropertyDeposit wxBillPropertyDeposit = new WxBillPropertyDeposit(); | |||||
| // wxBillPropertyDeposit.setPropertyContractId(id); | |||||
| // wxBillPropertyDeposit.updateTenantInfo(wxPropertyContract); | |||||
| // List<WxBillPropertyDeposit> select = wxBillPropertyDepositMapper.findList(wxBillPropertyDeposit); | |||||
| // if (!select.isEmpty()) { | |||||
| // result.put("depositStatus", select.get(0).getStatus()); | |||||
| // } | |||||
| //关联的店铺 | //关联的店铺 | ||||
| WxRentContract wrc = wxRentContractMapper.selectById(wxPropertyContract.getRentContractId()); | |||||
| if (wrc != null) { | |||||
| WxShop record = new WxShop(); | |||||
| if (null != wrc.shopIdsByRentInfo() && wrc.shopIdsByRentInfo().size()>0) { | |||||
| record.setIds(wrc.shopIdsByRentInfo()); | |||||
| record.updateTenantInfo(wxPropertyContract); | |||||
| PageInfo<Map<String, Object>> shopPageInfo = wxShopService.findListMap(record,1,10000); | |||||
| List<Map<String, Object>> list = shopPageInfo.getList(); | |||||
| result.put("wxShops", list); | |||||
| }else { | |||||
| result.put("wxShops", Collections.EMPTY_LIST); | |||||
| } | |||||
| } | |||||
| WxShop record = new WxShop(); | |||||
| record.updateTenantInfo(wxPropertyContract); | |||||
| if (wxPropertyContract.getCreateType().intValue() == EnumPropertyCreateType.BY_SHOP.getCode().intValue()) { | |||||
| record.setIds(wxPropertyContract.shopIdsByShop()); | |||||
| }else { | |||||
| WxRentContract wrc = wxRentContractMapper.selectById(wxPropertyContract.getRentContractId()); | |||||
| if (wrc != null) { | |||||
| if (null != wrc.shopIdsByRentInfo() && wrc.shopIdsByRentInfo().size()>0) { | |||||
| record.setIds(wrc.shopIdsByRentInfo()); | |||||
| } | |||||
| } | |||||
| } | |||||
| if (null == record.getIds() || record.getIds().size() <= 0 ) { | |||||
| result.put("wxShops", Collections.EMPTY_LIST); | |||||
| }else { | |||||
| PageInfo<Map<String, Object>> shopPageInfo = wxShopService.findListMap(record,1,10000); | |||||
| List<Map<String, Object>> list = shopPageInfo.getList(); | |||||
| result.put("wxShops", list); | |||||
| } | |||||
| //发起人备注 | //发起人备注 | ||||
| WxFlowRecord wxFlowRecord = new WxFlowRecord(); | WxFlowRecord wxFlowRecord = new WxFlowRecord(); | ||||
| @@ -304,16 +310,28 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| // if (record.getRentShopType().equals(EnumRentShopType.POINT.getCode()) && null == record.getShopId()) { | // if (record.getRentShopType().equals(EnumRentShopType.POINT.getCode()) && null == record.getShopId()) { | ||||
| // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "shopId不能为空"); | // return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "shopId不能为空"); | ||||
| // } | // } | ||||
| WxRentContract wxRentContract = wxRentContractMapper.selectById(record.getRentContractId()); | |||||
| if (wxRentContract != null) { | |||||
| if (wxRentContract.getStatus().equals(EnumRentContractStatus.OUT_DATE.getCode()) || | |||||
| wxRentContract.getStatus().equals(EnumRentContractStatus.TERMINATE.getCode()) || | |||||
| wxRentContract.getStatus().equals(EnumRentContractStatus.INVALID.getCode())) { | |||||
| return new ResultData(ErrorCode.RENT_CONTRACT_IS_TERMINATED); | |||||
| WxRentContract wxRentContract = null; | |||||
| if (record.getCreateType().intValue() == EnumPropertyCreateType.BY_RENT.getCode().intValue()) { | |||||
| wxRentContract = wxRentContractMapper.selectById(record.getRentContractId()); | |||||
| if (wxRentContract != null) { | |||||
| if (wxRentContract.getStatus().equals(EnumRentContractStatus.OUT_DATE.getCode()) || | |||||
| wxRentContract.getStatus().equals(EnumRentContractStatus.TERMINATE.getCode()) || | |||||
| wxRentContract.getStatus().equals(EnumRentContractStatus.INVALID.getCode())) { | |||||
| return new ResultData(ErrorCode.RENT_CONTRACT_IS_TERMINATED); | |||||
| } | |||||
| } else { | |||||
| return new ResultData(ErrorCode.RENT_CONTRACT_IS_NOT_FOUND); | |||||
| } | |||||
| }else { | |||||
| if (null == record.getRentalStartDate()) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "起租开始时间不能为空"); | |||||
| } | |||||
| if (null == record.getRentalEndDate()) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "起租结束时间不能为空"); | |||||
| } | |||||
| if (null == record.getStartDate()) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "计租日不能为空"); | |||||
| } | } | ||||
| } else { | |||||
| return new ResultData(ErrorCode.RENT_CONTRACT_IS_NOT_FOUND); | |||||
| } | } | ||||
| if (null == record.getMerchantId() && record.getOperationType().equals(EnumContractOperationType.PART.getCode())) { | if (null == record.getMerchantId() && record.getOperationType().equals(EnumContractOperationType.PART.getCode())) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId不能为空"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId不能为空"); | ||||
| @@ -336,50 +354,25 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| if (null == record.getDeposit()) { | if (null == record.getDeposit()) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "押金不能为空"); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "押金不能为空"); | ||||
| } | } | ||||
| // if (record.getPrice().longValue() <= 0) { | |||||
| // return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "物业费要大于0"); | |||||
| // } | |||||
| // WxPropertyContract propertyContract = new WxPropertyContract(); | |||||
| // propertyContract.updateTenantInfo(wxRentContract); | |||||
| // propertyContract.setRentContractId(record.getRentContractId()); | |||||
| // long count = wxPropertyContractMapper.findList(propertyContract) | |||||
| //// .stream().filter(p -> p.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) || | |||||
| //// p.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) || | |||||
| //// p.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count(); | |||||
| // .stream().filter(p -> p.getStatus().equals(EnumRentContractStatus.READY_FOR_PAING.getCode()) || | |||||
| // p.getStatus().equals(EnumRentContractStatus.PAING.getCode())).count(); | |||||
| // if (count > 1) { | |||||
| // return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); | |||||
| // } | |||||
| //保存物业合同信息 | //保存物业合同信息 | ||||
| String message; | String message; | ||||
| boolean hasFlow = true; | boolean hasFlow = true; | ||||
| if (record.getId() == null) { | if (record.getId() == null) { | ||||
| // if (record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { | |||||
| // WxPropertyContract propertyContractQuery = new WxPropertyContract(); | |||||
| // propertyContractQuery.setRentContractId(record.getRentContractId()); | |||||
| // int propertyContractCount = wxPropertyContractMapper.selectCount(new QueryWrapper(propertyContractQuery)); | |||||
| // if (propertyContractCount > 0) { | |||||
| // throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"租金合同编号["+record.getRentContractId()+"]存在关联的物业合同"); | |||||
| // } | |||||
| // } | |||||
| hasFlow = false; | hasFlow = false; | ||||
| final IdWorker idWorker = IdWorker.get(); | final IdWorker idWorker = IdWorker.get(); | ||||
| record.setId(idWorker.nextId()); | record.setId(idWorker.nextId()); | ||||
| record.setRentalStartDate(wxRentContract.getRentalStartDate()); | |||||
| record.setRentalEndDate(wxRentContract.getRentalEndDate()); | |||||
| record.setStartDate(wxRentContract.getStartDate()); | |||||
| record.setEndDate(wxRentContract.getEndDate()); | |||||
| if (record.getCreateType().intValue() == EnumPropertyCreateType.BY_RENT.getCode().intValue()) { | |||||
| record.setRentalStartDate(wxRentContract.getRentalStartDate()); | |||||
| record.setRentalEndDate(wxRentContract.getRentalEndDate()); | |||||
| record.setStartDate(wxRentContract.getStartDate()); | |||||
| record.setEndDate(wxRentContract.getEndDate()); | |||||
| }else { | |||||
| record.setEndDate(setEndDate(record.getStartDate(),record.getRentalStartDate())); | |||||
| } | |||||
| Date date = new Date(); | Date date = new Date(); | ||||
| record.setCreatetime(date); | record.setCreatetime(date); | ||||
| record.setUpdatetime(date); | record.setUpdatetime(date); | ||||
| // record.setStatus(EnumRentContractStatus.DRAFT.getCode()); | |||||
| // if (record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { | |||||
| // record.setStatus(EnumRentContractStatus.INTENTION.getCode()); | |||||
| // } else { | |||||
| // record.setStatus(EnumRentContractStatus.WAIT_SIGN.getCode()); | |||||
| // } | |||||
| record.setStatus(EnumRentContractStatus.UNWRITE.getCode()); | record.setStatus(EnumRentContractStatus.UNWRITE.getCode()); | ||||
| record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | ||||
| try { | try { | ||||
| @@ -401,7 +394,7 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| wxBillRent.setPropertyContractId(record.getId()); | wxBillRent.setPropertyContractId(record.getId()); | ||||
| wxBillRent.setSortColumns(BaseEntity.SortField.Period_ASC); | wxBillRent.setSortColumns(BaseEntity.SortField.Period_ASC); | ||||
| wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); | wxBillRent.setIsPreview(EnumIsPreview.YES.getCode()); | ||||
| wxBillRent.updateTenantInfo(wxRentContract); | |||||
| wxBillRent.updateTenantInfo(record); | |||||
| List<WxBillProperty> billList = wxBillPropertyMapper.findList(wxBillRent); | List<WxBillProperty> billList = wxBillPropertyMapper.findList(wxBillRent); | ||||
| record.setPreviewBillRentList(billList); | record.setPreviewBillRentList(billList); | ||||
| @@ -420,11 +413,16 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| if (wxPropertyContract == null) { | if (wxPropertyContract == null) { | ||||
| return new ResultData(ErrorCode.PROPERTY_CONTRACT_IS_NOT_FOUND); | return new ResultData(ErrorCode.PROPERTY_CONTRACT_IS_NOT_FOUND); | ||||
| } | } | ||||
| record.setRentalStartDate(wxRentContract.getRentalStartDate()); | |||||
| record.setRentalEndDate(wxRentContract.getRentalEndDate()); | |||||
| record.setStartDate(wxRentContract.getStartDate()); | |||||
| record.setEndDate(wxRentContract.getEndDate()); | |||||
| if (record.getCreateType().intValue() == EnumPropertyCreateType.BY_RENT.getCode().intValue()) { | |||||
| record.setRentalStartDate(wxRentContract.getRentalStartDate()); | |||||
| record.setRentalEndDate(wxRentContract.getRentalEndDate()); | |||||
| record.setStartDate(wxRentContract.getStartDate()); | |||||
| record.setEndDate(wxRentContract.getEndDate()); | |||||
| }else { | |||||
| record.setEndDate(setEndDate(record.getStartDate(),record.getRentalStartDate())); | |||||
| } | |||||
| record.setPrice(StringUtils.isNotBlank(record.getPrice()) ? record.getPrice() : "0"); | record.setPrice(StringUtils.isNotBlank(record.getPrice()) ? record.getPrice() : "0"); | ||||
| record.setDeposit(StringUtils.isNotBlank(record.getDeposit()) ? record.getDeposit() : "0"); | record.setDeposit(StringUtils.isNotBlank(record.getDeposit()) ? record.getDeposit() : "0"); | ||||
| record.setUpdatetime(new Date()); | record.setUpdatetime(new Date()); | ||||
| @@ -435,14 +433,6 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| }else { | }else { | ||||
| record.setStatus(wxPropertyContract.getStatus()); | record.setStatus(wxPropertyContract.getStatus()); | ||||
| } | } | ||||
| // if (record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())) { | |||||
| // record.setStatus(EnumRentContractStatus.INTENTION.getCode()); | |||||
| // } | |||||
| // if (CollectionUtils.isEmpty(record.getFlowParams())) { | |||||
| // hasFlow = false; | |||||
| // record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | |||||
| // } | |||||
| record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | record.setApplyStatus(EnumRentContractAppStatus.DEFAULT.getCode()); | ||||
| try { | try { | ||||
| wxPropertyContractMapper.updateById(record); | wxPropertyContractMapper.updateById(record); | ||||
| @@ -456,6 +446,19 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService | |||||
| return new ResultData(Result.SUCCESS, message, record); | return new ResultData(Result.SUCCESS, message, record); | ||||
| } | } | ||||
| //跟租金合同保持逻辑一致 | |||||
| private Date setEndDate(Date startDate, Date rentalStartDate) { | |||||
| //计租结束时间 | |||||
| if (!startDate.equals(rentalStartDate)) { | |||||
| Calendar instance = Calendar.getInstance(); | |||||
| instance.setTime(rentalStartDate); | |||||
| instance.add(Calendar.DAY_OF_MONTH, -1); | |||||
| return instance.getTime(); | |||||
| } else { | |||||
| return startDate; | |||||
| } | |||||
| } | |||||
| @Override | @Override | ||||
| public ResultData updatePropertyContractStatus(Long id) { | public ResultData updatePropertyContractStatus(Long id) { | ||||
| @@ -256,21 +256,20 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| //租赁费用欠缴 | //租赁费用欠缴 | ||||
| result.put("rentOweCount",wxRentContractMapper.queryOweCount(wxRentContract)); | result.put("rentOweCount",wxRentContractMapper.queryOweCount(wxRentContract)); | ||||
| //物业费用欠缴 | //物业费用欠缴 | ||||
| WxPropertyContract propertyContract = new WxPropertyContract(); | |||||
| propertyContract.setRentContractId(id); | |||||
| result.put("propertyOweCount",wxPropertyContractMapper.queryOweCount(propertyContract)); | |||||
| result.put("protertyContract", wxPropertyContractMapper.findOneByRentId(wxRentContract)); | |||||
| //押金欠缴 | |||||
| ; | |||||
| result.put("depositOweCount",wxBillDepositMapper.queryOweCount(wxRentContract)); | |||||
| //押金状态 | |||||
| WxBillDeposit wxBillDeposit = new WxBillDeposit(); | |||||
| wxBillDeposit.setRentContractId(id); | |||||
| wxBillDeposit.updateTenantInfo(wxRentContract); | |||||
| List<WxBillDeposit> select = wxBillDepositMapper.findList(wxBillDeposit); | |||||
| if (!select.isEmpty()) { | |||||
| result.put("depositStatus", select.get(0).getStatus()); | |||||
| } | |||||
| // WxPropertyContract propertyContract = new WxPropertyContract(); | |||||
| // propertyContract.setRentContractId(id); | |||||
| // result.put("propertyOweCount",wxPropertyContractMapper.queryOweCount(propertyContract)); | |||||
| // result.put("protertyContract", wxPropertyContractMapper.findOneByRentId(wxRentContract)); | |||||
| // //押金欠缴 | |||||
| // result.put("depositOweCount",wxBillDepositMapper.queryOweCount(wxRentContract)); | |||||
| // //押金状态 | |||||
| // WxBillDeposit wxBillDeposit = new WxBillDeposit(); | |||||
| // wxBillDeposit.setRentContractId(id); | |||||
| // wxBillDeposit.updateTenantInfo(wxRentContract); | |||||
| // List<WxBillDeposit> select = wxBillDepositMapper.findList(wxBillDeposit); | |||||
| // if (!select.isEmpty()) { | |||||
| // result.put("depositStatus", select.get(0).getStatus()); | |||||
| // } | |||||
| //发起人备注 | //发起人备注 | ||||
| WxFlowRecord wxFlowRecord = new WxFlowRecord(); | WxFlowRecord wxFlowRecord = new WxFlowRecord(); | ||||
| wxFlowRecord.setBusinessId(String.valueOf(id)); | wxFlowRecord.setBusinessId(String.valueOf(id)); | ||||
| @@ -438,7 +437,7 @@ public class WxRentContractServiceImpl implements WxRentContractService { | |||||
| instance.setTime(record.getRentalStartDate()); | instance.setTime(record.getRentalStartDate()); | ||||
| instance.add(dayType, record.getLease()); | instance.add(dayType, record.getLease()); | ||||
| instance.add(Calendar.DAY_OF_MONTH, -1); | instance.add(Calendar.DAY_OF_MONTH, -1); | ||||
| //起租结束时间 | |||||
| //计租结束时间 | |||||
| if (!record.getStartDate().equals(record.getRentalStartDate())) { | if (!record.getStartDate().equals(record.getRentalStartDate())) { | ||||
| instance.clear(); | instance.clear(); | ||||
| instance.setTime(record.getRentalStartDate()); | instance.setTime(record.getRentalStartDate()); | ||||
| @@ -55,10 +55,14 @@ | |||||
| <result column="out_date_notify_days" jdbcType="INTEGER" property="outDateNotifyDays"/> | <result column="out_date_notify_days" jdbcType="INTEGER" property="outDateNotifyDays"/> | ||||
| <result column="out_date_notify_phone" jdbcType="VARCHAR" property="outDateNotifyPhone"/> | <result column="out_date_notify_phone" jdbcType="VARCHAR" property="outDateNotifyPhone"/> | ||||
| <result column="create_type" jdbcType="INTEGER" property="createType"/> | |||||
| <result column="shop_ids" jdbcType="VARCHAR" property="shopIds"/> | |||||
| <result column="shop_numbers" jdbcType="VARCHAR" property="shopNumbers"/> | |||||
| </resultMap> | </resultMap> | ||||
| <sql id="allColumns"> | <sql id="allColumns"> | ||||
| `id`,`merchant_id`,`decimal_size`,`price`,`rental_start_date`,`rental_end_date`, | |||||
| `id`,`merchant_id`,`decimal_size`,`price`,`rental_start_date`,`rental_end_date`,`create_type`,`shop_ids`,`shop_numbers`, | |||||
| `sign_date`,`receive_period`,`tenant_id`,`parent_tenant_id`,`filepath`,`status`,`contract_number`, | `sign_date`,`receive_period`,`tenant_id`,`parent_tenant_id`,`filepath`,`status`,`contract_number`, | ||||
| `deposit`,`pay_date`,`is_del`,`merchant_name`,`brand`,`business_id`,`receive_period_unit`, | `deposit`,`pay_date`,`is_del`,`merchant_name`,`brand`,`business_id`,`receive_period_unit`, | ||||
| `shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`, | `shop_type`,`updatetime`,`createtime`,`rent_area`,`rent_shop_type`, | ||||
| @@ -108,7 +112,7 @@ | |||||
| <if test=" null != endDate ">and `end_date` = #{endDate}</if> | <if test=" null != endDate ">and `end_date` = #{endDate}</if> | ||||
| <if test=" null != rentShopType">and `rent_shop_type` = #{rentShopType}</if> | <if test=" null != rentShopType">and `rent_shop_type` = #{rentShopType}</if> | ||||
| <if test=" null != operationType ">and `operation_type` = #{operationType}</if> | <if test=" null != operationType ">and `operation_type` = #{operationType}</if> | ||||
| <if test=" null != createType ">and `create_type` = #{createType}</if> | |||||
| <if test=" null != businessForRule and '' != businessForRule "> | <if test=" null != businessForRule and '' != businessForRule "> | ||||
| and business_id in (${businessForRule}) | and business_id in (${businessForRule}) | ||||
| </if> | </if> | ||||
| @@ -119,6 +123,13 @@ | |||||
| </foreach> | </foreach> | ||||
| </if> | </if> | ||||
| <if test=" null != shopIdsQuery "> | |||||
| and | |||||
| <foreach collection="shopIdsQuery" index="index" item="shopidItem" open="(" separator="or" close=")"> | |||||
| shop_ids like concat('%,', #{shopidItem},',%') | |||||
| </foreach> | |||||
| </if> | |||||
| <if test=" null != ids "> | <if test=" null != ids "> | ||||
| and id in | and id in | ||||
| <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | <foreach collection="ids" index="index" item="idItem" open="(" separator="," close=")"> | ||||