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 eaeb884b0..e9aa3e5fa 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java @@ -11,6 +11,7 @@ import com.iformall.domain.po.WxBillProperty; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxPropertyContract; import com.iformall.domain.po.WxRentContract; +import com.iformall.enums.EnumContractOperationType; import com.iformall.enums.EnumContractType; import com.iformall.enums.EnumFlowContractType; import com.iformall.enums.EnumFlowKey; @@ -209,11 +210,18 @@ public class WxPropertyContractController extends WxContractBaseController { if(propertyContractHasWorkFlow(contract)) { return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同存在工作流,不允许直接生效。"); } - - if (contract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { - contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.PROPERTY, contract.getRemark(), contract.getId())); - }else if (contract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { - contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.PROPERTY_POINT, contract.getRemark(), contract.getId())); + 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())); + }else if (contract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.PROPERTY_POINT, contract.getRemark(), contract.getId())); + } + }else { + if (contract.getRentShopType().intValue() == EnumRentShopType.SHOP.getCode().intValue()) { + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_CONTRACT, EnumFlowContractType.WHOLE_SHOP, contract.getRemark(), contract.getId())); + }else if (contract.getRentShopType().intValue() == EnumRentShopType.POINT.getCode().intValue()) { + contract.setFlowParams(generateFlowParams(EnumFlowKey.NEW_PRO_POINT_CONTRACT, EnumFlowContractType.WHOLE_POINT, contract.getRemark(), contract.getId())); + } } return wxPropertyContractService.apply(contract,user); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 697c2e876..5b1719237 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -187,15 +187,11 @@ public class WxFlowServiceImpl implements WxFlowService { WxRentContract record = wxRentContractMapper.selectById(businessId); + boolean isrentproperty = false; + Integer propertyStatus = null; //合并的合同-审批时 物业合同的状态肯定不在 签约中 避免更新物业合同时提示店铺存在 if(record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())){ - WxPropertyContract wxPropertyContract = new WxPropertyContract(); - wxPropertyContract.setRentContractId(record.getId()); - //wxPropertyContract.setStatus(EnumRentContractStatus.INTENTION.getCode()); - wxPropertyContract.setApplyStatus(applyStatus); - wxPropertyContract.setBusinessType(flowType); - //wxPropertyContractMapper.updateStatusByRentContractId(wxPropertyContract); - wxPropertyContractMapper.updateApplyStatusByRentContractId(wxPropertyContract); + isrentproperty = true; } //如果是提交审批 , 审批驳回状态不变 @@ -203,12 +199,27 @@ public class WxFlowServiceImpl implements WxFlowService { //如果合同的状态非正常,则不处理 if (EnumRentContractStatus.DRAFT.getCode().intValue() == record.getStatus().intValue()) { rent.setStatus(EnumRentContractStatus.PERFORMANCE.getCode()); + //如果是租金+物业,则还要更新物业合同的状态 + if (isrentproperty) { + propertyStatus = EnumRentContractStatus.PERFORMANCE.getCode(); + } } //如果审批完成 }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { wxRentContractService.updateRentContractStatus(businessId); + if (isrentproperty) { + wxPropertyContractService.updatePropertyContractStatus(businessId); + } } wxRentContractService.updateApplyStatus(rent); + if (isrentproperty) { + WxPropertyContract wxPropertyContract = new WxPropertyContract(); + wxPropertyContract.setRentContractId(record.getId()); + wxPropertyContract.setStatus(propertyStatus); + wxPropertyContract.setApplyStatus(applyStatus); + wxPropertyContract.setBusinessType(flowType); + wxPropertyContractMapper.updateApplyStatusByRentContractId(wxPropertyContract); + } }else if(EnumFlowContractType.PROPERTY.getCode().equals(contractType) || EnumFlowContractType.PROPERTY_POINT.getCode().equals(contractType)){ WxPropertyContract wxPropertyContract = new WxPropertyContract();