feat: 企标修改流程保存自翻译

This commit is contained in:
2024-01-25 17:41:31 +08:00
parent 4c3fde065e
commit a7315eb0f0
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
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;
@@ -72,6 +73,9 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
@Resource
private TaskService taskService;
@Resource
private TranslationAspect translationAspect;
@Override
public void startProcess(ESChangeDataVO changeData) {
// 执行流程发起前的操作
@@ -98,8 +102,6 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
String processInstanceId = processInstance.getId();
// 手动设置所有流程变量
actFlowCommonService.setProcessVariables(processInstanceId, actVariables);
// 自动完成第一个任务
actFlowCommonService.autoCompleteFirstTask(userId, processInstanceId, processDefinitionId, common);
// 设置流程实例Id
esChange.setProcessInstanceId(processInstanceId);
// 保存到业务流程表
@@ -116,15 +118,21 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
}
// 保存选人信息
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_RECHECK, jsonData);
// 自动完成第一个任务
actFlowCommonService.completeTask(taskId, userId);
// 根据流程实例id更新流程总表
String prcName = common.getPrcName();
String prcMes = common.getPrcMes();
Date dueTime = common.getDueTime();
Integer prcType = ProcessTypeEnum.ES_CHANGE.getValue();
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
// 强制撤回
common.setProcessInstanceId(processInstanceId);
actFlowCommonService.saveFirstNodeDraft(common, ProcessTypeEnum.ES_CHANGE, changeData);
}
public Map<String, Object> setVariables(Map<String, Object> flowUser) {