fix: 79953 企标更改流程--转办后驳回重发,任务受理人不对
This commit is contained in:
+31
-2
@@ -28,7 +28,9 @@ import com.jero.modules.sys.utils.UserUtils;
|
||||
import com.jero.modules.system.service.ISysUserDepartService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -64,7 +66,8 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
|
||||
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ESChangeDataVO changeData) {
|
||||
@@ -185,11 +188,37 @@ public class ProcessEsChangeServiceImpl extends ServiceImpl<ProcessEsChangeMappe
|
||||
public void approval(ESChangeDataVO changeData, boolean pass) {
|
||||
String userId = UserUtils.getUserId();
|
||||
CommonVO commonVO = changeData.getCommon();
|
||||
Map<String, Object> flowUser = changeData.getFlowUser();
|
||||
String taskId = commonVO.getTaskId();
|
||||
// 获取流程实例ID
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
if (StrUtil.isBlank(taskId) && !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException(ResultCommon.TASK_NOT_EXISTS);
|
||||
}
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程实例对象
|
||||
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
|
||||
.processInstanceId(processInstanceId).singleResult();
|
||||
// 获取流程定义ID
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
ProcessEsChange data = changeData.getData();
|
||||
if (data != null) {
|
||||
updateById(data);
|
||||
// 根据流程实例id更新流程总表
|
||||
String prcName = commonVO.getPrcName();
|
||||
String prcMes = commonVO.getPrcMes();
|
||||
Date dueTime = commonVO.getDueTime();
|
||||
Integer prcType = ProcessTypeEnum.ES_CHANGE.getValue();
|
||||
actFlowCommonService.updateProcessAll(processInstanceId, userId, prcName, prcMes, prcType, dueTime);
|
||||
}
|
||||
if (flowUser != null) {
|
||||
Map<String, Object> variables = setVariables(flowUser);
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
// 获取执行id
|
||||
String executionId = task.getExecutionId();
|
||||
// 设置流程变量
|
||||
runtimeService.setVariables(executionId, variables);
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, this.getUserMap(flowUser));
|
||||
}
|
||||
// 设置流程变量
|
||||
runtimeService.setVariable(processInstanceId, "pass", pass);
|
||||
// 更新审批表为完成,填充数据
|
||||
|
||||
Reference in New Issue
Block a user