| @@ -11,6 +11,7 @@ import com.iformall.domain.po.WxBillProperty; | |||||
| import com.iformall.domain.po.WxMerchant; | import com.iformall.domain.po.WxMerchant; | ||||
| import com.iformall.domain.po.WxPropertyContract; | import com.iformall.domain.po.WxPropertyContract; | ||||
| import com.iformall.domain.po.WxRentContract; | import com.iformall.domain.po.WxRentContract; | ||||
| import com.iformall.enums.EnumContractOperationType; | |||||
| import com.iformall.enums.EnumContractType; | import com.iformall.enums.EnumContractType; | ||||
| import com.iformall.enums.EnumFlowContractType; | import com.iformall.enums.EnumFlowContractType; | ||||
| import com.iformall.enums.EnumFlowKey; | import com.iformall.enums.EnumFlowKey; | ||||
| @@ -209,11 +210,18 @@ public class WxPropertyContractController extends WxContractBaseController { | |||||
| if(propertyContractHasWorkFlow(contract)) { | if(propertyContractHasWorkFlow(contract)) { | ||||
| return new ResultData(ErrorCode.FLOW_FAIL.getCode(),"租赁合同存在工作流,不允许直接生效。"); | 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); | return wxPropertyContractService.apply(contract,user); | ||||
| } | } | ||||
| @@ -187,15 +187,11 @@ public class WxFlowServiceImpl implements WxFlowService { | |||||
| WxRentContract record = wxRentContractMapper.selectById(businessId); | WxRentContract record = wxRentContractMapper.selectById(businessId); | ||||
| boolean isrentproperty = false; | |||||
| Integer propertyStatus = null; | |||||
| //合并的合同-审批时 物业合同的状态肯定不在 签约中 避免更新物业合同时提示店铺存在 | //合并的合同-审批时 物业合同的状态肯定不在 签约中 避免更新物业合同时提示店铺存在 | ||||
| if(record.getOperationType().equals(EnumContractOperationType.WHOLE.getCode())){ | 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()) { | if (EnumRentContractStatus.DRAFT.getCode().intValue() == record.getStatus().intValue()) { | ||||
| rent.setStatus(EnumRentContractStatus.PERFORMANCE.getCode()); | rent.setStatus(EnumRentContractStatus.PERFORMANCE.getCode()); | ||||
| //如果是租金+物业,则还要更新物业合同的状态 | |||||
| if (isrentproperty) { | |||||
| propertyStatus = EnumRentContractStatus.PERFORMANCE.getCode(); | |||||
| } | |||||
| } | } | ||||
| //如果审批完成 | //如果审批完成 | ||||
| }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { | }else if (EnumRentContractAppStatus.FINISH.getCode().intValue() == applyStatus.intValue()) { | ||||
| wxRentContractService.updateRentContractStatus(businessId); | wxRentContractService.updateRentContractStatus(businessId); | ||||
| if (isrentproperty) { | |||||
| wxPropertyContractService.updatePropertyContractStatus(businessId); | |||||
| } | |||||
| } | } | ||||
| wxRentContractService.updateApplyStatus(rent); | 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)){ | }else if(EnumFlowContractType.PROPERTY.getCode().equals(contractType) || EnumFlowContractType.PROPERTY_POINT.getCode().equals(contractType)){ | ||||
| WxPropertyContract wxPropertyContract = new WxPropertyContract(); | WxPropertyContract wxPropertyContract = new WxPropertyContract(); | ||||