feat: 封存流程保存自翻译
This commit is contained in:
+14
-5
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.TranslationAspect;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
@@ -69,6 +70,10 @@ public class ProcessEsArchiveServiceImpl extends ServiceImpl<ProcessEsArchiveMap
|
||||
@Resource
|
||||
private ILawsEnterpriseStandardService esService;
|
||||
|
||||
@Resource
|
||||
private TranslationAspect translationAspect;
|
||||
|
||||
|
||||
@Override
|
||||
public void startProcess(ESArchiveDataVO archiveData) {
|
||||
// 执行流程发起前的操作
|
||||
@@ -94,23 +99,27 @@ public class ProcessEsArchiveServiceImpl extends ServiceImpl<ProcessEsArchiveMap
|
||||
String processInstanceId = processInstance.getId();
|
||||
// 手动设置所有流程变量
|
||||
actFlowCommonService.setProcessVariables(processInstanceId, actVariables);
|
||||
// 自动完成第一个任务
|
||||
actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, common);
|
||||
// 设置流程实例Id
|
||||
esArchive.setProcessInstanceId(processInstanceId);
|
||||
// 保存到业务流程表
|
||||
saveOrUpdate(esArchive);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(variables));
|
||||
// 获取第一个任务的taskId
|
||||
String taskId = actFlowCommonService.getFirstTaskId(processInstanceId, userId, processDefinitionId);
|
||||
// 手动翻译
|
||||
String jsonData = translationAspect.manualParseDictText(this.getHandleData(taskId), this.getUserMap(variables));
|
||||
// 强制撤回
|
||||
common.setProcessInstanceId(processInstanceId);
|
||||
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_ARCHIVE, jsonData);
|
||||
// 自动完成第一个任务
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 根据流程实例id更新流程总表
|
||||
String prcName = common.getPrcName();
|
||||
String prcMes = common.getPrcMes();
|
||||
Date dueTime = common.getDueTime();
|
||||
Integer prcType = ProcessTypeEnum.ES_ARCHIVE.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
||||
// 强制撤回
|
||||
common.setProcessInstanceId(processInstanceId);
|
||||
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_ARCHIVE, archiveData);
|
||||
}
|
||||
|
||||
public Map<String, Object> setVariables(Map<String, Object> flowUser) {
|
||||
|
||||
Reference in New Issue
Block a user