From d3ed920c044c117d9c222986ae0ec45ae6970c18 Mon Sep 17 00:00:00 2001 From: xiaohanzi Date: Wed, 26 Aug 2020 20:43:54 +0800 Subject: [PATCH] fix contract --- .../WxPropertyContractController.java | 24 +++++++++++++++++-- .../service/WxPropertyContractService.java | 2 ++ .../impl/WxPropertyContractServiceImpl.java | 5 ++++ .../mapper/WxPropertyContractMapper.xml | 7 ++++++ 4 files changed, 36 insertions(+), 2 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java index edef2bb8d..cf31abc35 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -208,17 +208,32 @@ public class WxPropertyContractController extends WxContractBaseController { if (contract.getStatus().intValue() != EnumRentContractStatus.DRAFT.getCode().intValue()) { return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"租赁合同状态为草稿才能进行此操作"); } + + if (rentHasValidProperty(contract)) { + return new ResultData(Result.ERROR, "租金合同["+contract.getContractNumber()+"]存在有效的物业合同。"); + } wxPropertyContractService.updatePropertyContractStatus(proertyContract.getId()); return new ResultData(Result.SUCCESS,"合同生效成功!"); } + private boolean rentHasValidProperty(WxPropertyContract contract) { + WxPropertyContract wpc = new WxPropertyContract(); + wpc.setRentContractId(contract.getRentContractId()); + wpc.setStatuss(EnumRentContractStatus.getValidStatus()); + List list = wxPropertyContractService.findList(wpc); + if (null != list && list.size() > 0 ) { + return true; + } + return false; + } + @PostMapping("apply") @SystemControllerLog(description = "物业合同-提交审批") public ResultData apply(@RequestBody WxPropertyContract proertyContract) { MallUserInfo user = getUser(); WxPropertyContract contract = wxPropertyContractService.getSimpleDetail(proertyContract.getId()); if (null == contract) { - return new ResultData(Result.ERROR, "编号["+contract.getId()+"]未找到租金合同"); + return new ResultData(Result.ERROR, "编号["+contract.getContractNumber()+"]未找到租金合同"); } //查询是否有审批流程 @@ -226,6 +241,10 @@ public class WxPropertyContractController extends WxContractBaseController { return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同存在工作流,不允许直接生效。"); } + if (rentHasValidProperty(contract)) { + return new ResultData(Result.ERROR, "租金合同["+contract.getContractNumber()+"]存在有效的物业合同。"); + } + if(contract.getOperationType().intValue() == EnumContractOperationType.PART.getCode().intValue()) { if (contract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.PROPERTY, contract.getRemark(), contract.getId(),null)); @@ -290,7 +309,8 @@ public class WxPropertyContractController extends WxContractBaseController { @SystemControllerLog(description = "物业合同-是否存在相关的租赁合同") public ResultData hasRentContract(Long rentContractId) { logger.debug("[" + getIpAddr() + "] WxPropertyContractController::hasRentContract"); - return wxPropertyContractService.hasRentContract(rentContractId); + //return wxPropertyContractService.hasRentContract(rentContractId); + return new ResultData(false); } @PostMapping("updatePropertyContractStatus") diff --git a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java index b3aed8cf8..1ef310580 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPropertyContractService.java @@ -31,6 +31,8 @@ public interface WxPropertyContractService { */ PageInfo listAsPage(WxPropertyContract record, Integer pageIndex, Integer pageSize); + List findList(WxPropertyContract record); + /** * 根据Id获得实体 * diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java index 53c5b293f..913b119d4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPropertyContractServiceImpl.java @@ -87,6 +87,11 @@ public class WxPropertyContractServiceImpl implements WxPropertyContractService //result.put("pageInfo", pageInfo); return pageInfo; } + + @Override + public List findList(WxPropertyContract record) { + return wxPropertyContractMapper.findList(record); + } @Override public Map getById(Long id) { diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index 610996fc7..7ab6e7258 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -104,6 +104,13 @@ #{idItem} + + + and status in + + #{statusItem} + + order by ${sortColumns}