feat: 企标已封存启用流程快照保存

This commit is contained in:
2024-07-22 15:51:12 +08:00
parent 2a012f4972
commit 6630a5a68c
5 changed files with 49 additions and 6 deletions
@@ -22,6 +22,7 @@ import com.jero.modules.activiti.process.common.entity.ProcessSnapshot;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.vo.DelegateTaskParam;
@@ -276,4 +277,16 @@ public class WorkCenterController {
return Result.OK(actFlowCommonService.getExistSnapshot(snapshotId));
}
/**
* 快照保存
* @param
*/
@AutoLog(value = "快照保存")
@ApiOperation(value="快照跳转", notes="快照保存")
@GetMapping("/snapshotSave")
public Result<?> snapshotSave(@RequestBody @ApiParam("快照Id") ProcessInfoVO processInfoVO) {
processHandleService.saveToSnapshot(processInfoVO, CurrentUserUtil.getId());
return Result.OK();
}
}
@@ -96,5 +96,8 @@ public class CommonVO {
@ApiModelProperty("草稿Id")
private String draftId;
/**草稿信息json字符串*/
@ApiModelProperty(value = "草稿信息json字符串")
private String infoJsonStr;
}
@@ -9,17 +9,13 @@ import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.common.entity.CounterSignNodeNameConstants;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.enums.ProcessType;
import com.jero.modules.activiti.process.common.enums.StandardStateEnum;
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
import com.jero.modules.activiti.process.esArchive.entity.ProcessEsArchive;
import com.jero.modules.activiti.process.esArchive.entity.vo.ESArchiveDataVO;
import com.jero.modules.activiti.process.esEnable.entity.ProcessEsEnable;
import com.jero.modules.activiti.process.esEnable.entity.vo.ESEnableDataVO;
import com.jero.modules.activiti.process.esEnable.service.ProcessEsEnableService;
import com.jero.modules.activiti.process.esEnable.mapper.ProcessEsEnableMapper;
import com.jero.modules.activiti.process.esEnable.service.ProcessEsEnableService;
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
@@ -36,7 +32,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author ThinkBook
@@ -105,6 +104,9 @@ public class ProcessEsEnableServiceImpl extends ServiceImpl<ProcessEsEnableMappe
String taskId = actFlowCommonService.getFirstTaskId(processInstanceId, userId, processDefinitionId);
// 手动翻译
String jsonData = translationAspect.manualParseDictText(this.getHandleData(taskId), this.getUserMap(variables));
// 保存第一个节点的快照
ProcessInfoVO processInfoVO = processHandleService.transProcessInfoVO(common, ProcessTypeEnum.ES_ENABLE);
processHandleService.saveToSnapshot(processInfoVO, userId);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_ENABLE, jsonData);
@@ -1,5 +1,7 @@
package com.jero.modules.activiti.process.fb.service;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import org.activiti.engine.runtime.ProcessInstance;
@@ -155,4 +157,6 @@ public interface IProcessHandleService {
void saveNodeUserLink(String processInstanceId, String nodeId, List<String> userIdList);
void saveToSnapshot(ProcessInfoVO processInfoVO, String userId);
ProcessInfoVO transProcessInfoVO(CommonVO common, ProcessTypeEnum processTypeEnum);
}
@@ -12,6 +12,7 @@ import com.jero.modules.activiti.entity.ProcessNodeLink;
import com.jero.modules.activiti.enums.CommitFlagEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.process.common.common.DraftCommon;
import com.jero.modules.activiti.process.common.entity.CommonVO;
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
import com.jero.modules.activiti.process.common.entity.ProcessSnapshot;
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
@@ -502,6 +503,26 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
processSnapshotService.save(processSnapshot);
}
@Override
public ProcessInfoVO transProcessInfoVO(CommonVO common, ProcessTypeEnum processTypeEnum) {
ProcessInfoVO processInfoVO = new ProcessInfoVO<>();
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
basicProcessInfoDTO.setProcessDescription(common.getProcessDescription());
basicProcessInfoDTO.setProcessDueDate(common.getDueTime());
basicProcessInfoDTO.setProcessName(common.getPrcName());
basicProcessInfoDTO.setProcessType(processTypeEnum.getValue());
basicProcessInfoDTO.setProcessDefinitionId(common.getProcessDefinitionId());
basicProcessInfoDTO.setProcessInstanceId(common.getProcessInstanceId());
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
BasicTaskInfoDTO basicTaskInfoDTO = new BasicTaskInfoDTO();
basicTaskInfoDTO.setHandleFile(common.getCommitFile());
basicTaskInfoDTO.setHandleText(common.getCommitText());
basicTaskInfoDTO.setTaskId(common.getTaskId());
processInfoVO.setBasicTaskInfoDTO(basicTaskInfoDTO);
processInfoVO.setInfoJsonStr(common.getInfoJsonStr());
return processInfoVO;
}
@Override
public ProcessInfoVO getDraftByDraftId(String draftId) {
LambdaQueryWrapper<ProcessDraft> wrapper = new LambdaQueryWrapper<>();