publicinterfaceContractManager {booleancanSave(ContractModel model); /** * 保存 * * @param model model * @return 保存后的合同model */ContractModelsave(ContractModel model);booleancanSubmit(ContractModel model); /** * 提交(手动提交) * * @param model model * @return 提交后的model */ContractModelsubmit(ContractModel model); /** * 提交(自动提交,直接变为已回签的状态) * @param model model * @return 提交后的model */ContractModelsubmitAuto(ContractModel model); /** * 生成成功校验 * * @param model model * @return true 校验成功 */booleancanGenerateSuccessful(ContractModel model); /** * 生成成功(非自动生成,设置审批状态为审批通过) * * @param model model * @return model */ContractModelgenerateSuccessful(ContractModel model); /** * 生成失败 * * @param model model * @param approveStatus 审批状态 * @return model */ContractModelgenerateFailed(ContractModel model,CommonEnum.ApproveStatusEnum approveStatus);// --------------- /** * 变更保存校验 * * @param model model * @return model */booleancanChangeSave(ContractModel model); /** * 变更保存 * * @param model model * @return model */ContractModelchangeSave(ContractModel model); /** * 变更提交校验 * * @param model model * @return model */booleancanChangeSubmit(ContractModel model); /** * 变更提交 * * @param model model * @return model */ContractModelchangeSubmit(ContractModel model); /** * 变更取消 * * @param model model * @return model */ContractModelchangeCancel(ContractModel model,ContractChangeStatusEnum changeStatus); /** * 变更撤回校验 * * @param model model * @return model */booleancanChangeRevoke(ContractModel model); /** * 变更拒绝校验 * * @param model model * @return model */booleancanChangeRefuse(ContractModel model);}
XXXXContractService
自动新增
if (hasContractFiles) {contractManager.submitAuto(contractModel);} else {contractManager.save(contractModel);}changeModel.getMetadata().setBusines、sOperateStage(BusinessOperateStageEnum.GENERATE).setGenerateSource(BusinessGenerateSource.AUTO).setContractChangeStatus(ContractChangeStatusEnum.EMPTY);changeManager.commit(changeModel);changeManager.publish(changeModel);
保存、提交
if (submitStatus == process) {AssertUtils.isTrue(contactManger.canSubmit(contractModel),"业务的状态不能进行提交操作");contractManager.submit(contractModel);changeModel.getMetadata().setWorkflowCode("xxxx").setBusinessOperateStage(BusinessOperateStageEnum.GENERATE).setContractChangeStatus(ContractChangeStatusEnum.EMPTY);changeManager.commit(changeModel);processManager.start(procesModel);} else {AssertUtils.isTrue(contactManger.canSubmit(contractModel),"业务的状态不能进行保存操作");contractManager.save(contractModel);changeModel.getMetadata().setBusinessOperateStage(BusinessOperateStageEnum.GENERATE);changeManger.stash(changeModel);}// 第一个版本,也就是生成阶段,业务信息直接入库
if (!contractManager.canChangeSave(contractModel)) {thrownewServiceException("变更失败,合同当前状态不能进行变更保存操作");}contractManager.changeSave(contractModel);changeModel.getMetadata().setChangeLevel(level).setBusinessOperateStage(BusinessOperateStageEnum.CHANGE);changeManager.stash(changeModel);
提交:
if (level ==3) {changeModel.getMetadata().setContractChangeStatus(ContractChangeStatusEnum.CHANGED); changeModel =changeManager.commit(changeModel);changeManager.publish(changeModel);} else {contractManager.changeSubmit(contractModel);changeModel.getMetadata().setWorkflowCode(CommonEnum.WorkFlowCode.LAND_LEASE_BUSINESS_CHANGE_APPROVAL.getCode()); changeModel =changeManager.commit(changeModel);processManager.start(processModel);}
发起、编辑变更提交审批通过
if (!contractManager.canChangeSuccessful(contractModel)) {thrownewServiceException("变更中的业务才能执行变更成功操作");}contractManager.changeSuccessful(contractModel);// 业务数据入库