update 流程办理-设计会签节点变量

This commit is contained in:
liao
2023-11-10 09:57:49 +08:00
parent 3760080d15
commit b0b1bbdd98
2 changed files with 32 additions and 5 deletions
@@ -3,6 +3,8 @@ package com.jero.modules.activiti.process.fb.service;
import com.jero.modules.activiti.process.fb.dto.ProcessDTO; import com.jero.modules.activiti.process.fb.dto.ProcessDTO;
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO; import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
import java.util.Map;
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/11/2 17:01 * @Date: 2023/11/2 17:01
@@ -23,6 +25,13 @@ public interface IProcessHandleService {
**/ **/
void approveTask(ProcessInfoVO processInfoVO, boolean pass); void approveTask(ProcessInfoVO processInfoVO, boolean pass);
/**
* @Author: liao
* @Date: 2023/11/10 9:44
* @Description: 设置流程变量
**/
void setProcessVariables(String processInstanceId, Map<String, Object> userInfoMap);
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/11/6 15:16 * @Date: 2023/11/6 15:16
@@ -32,9 +32,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date; import java.util.*;
import java.util.Map;
import java.util.Objects;
/** /**
* @Author: liao * @Author: liao
@@ -85,7 +83,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
updateProcessAll(processInfoVO); updateProcessAll(processInfoVO);
// 保存选人信息 // 保存选人信息
runtimeService.setVariables(processInstanceId, userInfoMap); setProcessVariables(processInstanceId, userInfoMap);
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
// 根据流程实例id和任务处理人查询任务 // 根据流程实例id和任务处理人查询任务
@@ -124,7 +122,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap(); Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
if (!Objects.isNull(userInfoMap) && !userInfoMap.isEmpty()) { if (!Objects.isNull(userInfoMap) && !userInfoMap.isEmpty()) {
// 保存选人信息 // 保存选人信息
runtimeService.setVariables(processInstanceId, userInfoMap); setProcessVariables(processInstanceId, userInfoMap);
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
} }
if (pass) { // 通过 if (pass) { // 通过
@@ -140,6 +138,26 @@ public class ProcessHandleServiceImpl implements IProcessHandleService {
taskService.complete(taskId); taskService.complete(taskId);
} }
/**
* @Author: liao
* @Date: 2023/11/10 9:54
* @Description: 设置流程变量
**/
@Override
public void setProcessVariables(String processInstanceId, Map<String, Object> userInfoMap) {
Map<String, Object> variableMap = new HashMap<>();
userInfoMap.forEach((k, v) -> {
String value = (String) v;
if (k.contains("List") && StringUtils.isNotBlank(value)) { // 会签节点
List<String> userList = Arrays.asList(value.split(","));
variableMap.put(k, userList);
} else { // 普通节点
variableMap.put(k, v);
}
});
runtimeService.setVariables(processInstanceId, variableMap);
}
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/11/6 15:17 * @Date: 2023/11/6 15:17