diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/common/DraftCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/common/DraftCommon.java new file mode 100644 index 00000000..f66adf7b --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/common/DraftCommon.java @@ -0,0 +1,10 @@ +package com.jero.modules.activiti.process.common.common; + +/** + * @author liJiaRao + * @date 2024-01-11 10:36 + */ +public class DraftCommon { + //初始 + public static final String INITIAL_SOURCE = "3"; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java index 938b323c..9ae0dd5b 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/entity/ProcessDraft.java @@ -120,6 +120,12 @@ public class ProcessDraft implements Serializable { @ApiModelProperty(value = "草稿信息json字符串") private String infoJsonStr; + /** + * 保存来源 + */ + @ApiModelProperty(value="保存来源(3:强制撤回使用)") + private String saveSource; + @TableField(exist = false) private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index da90a523..66609216 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -9,6 +9,7 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.entity.ProcessNode; import com.jero.modules.activiti.entity.ProcessNodeLink; import com.jero.modules.activiti.enums.CommitFlagEnum; +import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.common.entity.ProcessDraft; import com.jero.modules.activiti.process.common.service.ProcessDraftService; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; @@ -365,6 +366,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService{ processDraft.setHandleFile(handleFile); // 流程审批信息-附件 processDraft.setUserId(CurrentUserUtil.getId()); // 用户id processDraft.setInfoJsonStr(processInfoVO.getInfoJsonStr());//草稿信息json字符串 + processDraft.setSaveSource(processInfoVO.getSaveSource());//来源(启动流程时有用,用于保存初始业务信息用于强制驳回) processDraftService.save(processDraft); } @@ -427,6 +429,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService{ if (StringUtils.isNotBlank(taskId)) { deleteWrapper.eq(ProcessDraft::getTaskId, taskId); } + deleteWrapper.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE); List processDraftList = processDraftService.list(deleteWrapper); for (ProcessDraft processDraft : processDraftList) { processDraftService.removeById(processDraft.getId()); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/vo/ProcessInfoVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/vo/ProcessInfoVO.java index 681d2296..df54d3cf 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/vo/ProcessInfoVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/vo/ProcessInfoVO.java @@ -54,7 +54,7 @@ public class ProcessInfoVO implements Serializable { /** * 保存来源 */ - @ApiModelProperty(value="保存来源(1:待办 2:草稿)") + @ApiModelProperty(value="保存来源(1:待办 2:草稿 3:初始信息)") private String saveSource; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java index a6752cc3..2522be11 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectassess/service/ProcessProjectAssessService.java @@ -19,6 +19,7 @@ import com.jero.common.system.vo.LoginUser; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessTypeEnum; +import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO; @@ -331,6 +332,10 @@ public class ProcessProjectAssessService extends ServiceImpl processInfoVO) { + //start 先保存一份初始草稿 + processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE); + saveToDraft(processInfoVO); + //end 保存初始草稿结束 ProcessProjectAssessVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); ProcessProjectAssess processProjectAssess = businessInfoDTO.getProcessProjectAssess(); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectnotmet/service/ProcessProjectNotMetService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectnotmet/service/ProcessProjectNotMetService.java index 6c7c9b5c..2dcd5690 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/projectnotmet/service/ProcessProjectNotMetService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/projectnotmet/service/ProcessProjectNotMetService.java @@ -11,6 +11,7 @@ import com.jero.common.system.vo.SysDepartModel; import com.jero.modules.activiti.entity.ProcessAll; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.ProcessTypeEnum; +import com.jero.modules.activiti.process.common.common.DraftCommon; import com.jero.modules.activiti.process.fb.common.ProcessDefinitionKey; import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO; import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO; @@ -125,7 +126,10 @@ public class ProcessProjectNotMetService extends ServiceImpl processInfoVO) { - + //start 先保存一份初始草稿 + processInfoVO.setSaveSource(DraftCommon.INITIAL_SOURCE); + saveToDraft(processInfoVO); + //end 保存初始草稿结束 ProcessProjectNotMetVO businessInfoDTO = processInfoVO.getBusinessInfoDTO(); ProcessProjectNotMet processProjectNotMet = businessInfoDTO.getProcessProjectNotMet(); if (processProjectNotMet == null){