diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java index ef7d7c4f..cc0c4994 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/IProcessHandleService.java @@ -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.vo.ProcessInfoVO; +import java.util.Map; + /** * @Author: liao * @Date: 2023/11/2 17:01 @@ -23,6 +25,13 @@ public interface IProcessHandleService { **/ void approveTask(ProcessInfoVO processInfoVO, boolean pass); + /** + * @Author: liao + * @Date: 2023/11/10 9:44 + * @Description: 设置流程变量 + **/ + void setProcessVariables(String processInstanceId, Map userInfoMap); + /** * @Author: liao * @Date: 2023/11/6 15:16 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java index df6b63ca..12a2624e 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/fb/service/impl/ProcessHandleServiceImpl.java @@ -32,9 +32,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.Date; -import java.util.Map; -import java.util.Objects; +import java.util.*; /** * @Author: liao @@ -85,7 +83,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { updateProcessAll(processInfoVO); // 保存选人信息 - runtimeService.setVariables(processInstanceId, userInfoMap); + setProcessVariables(processInstanceId, userInfoMap); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap); // 根据流程实例id和任务处理人查询任务 @@ -124,7 +122,7 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { Map userInfoMap = processInfoVO.getUserInfoMap(); if (!Objects.isNull(userInfoMap) && !userInfoMap.isEmpty()) { // 保存选人信息 - runtimeService.setVariables(processInstanceId, userInfoMap); + setProcessVariables(processInstanceId, userInfoMap); processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap); } if (pass) { // 通过 @@ -140,6 +138,26 @@ public class ProcessHandleServiceImpl implements IProcessHandleService { taskService.complete(taskId); } + /** + * @Author: liao + * @Date: 2023/11/10 9:54 + * @Description: 设置流程变量 + **/ + @Override + public void setProcessVariables(String processInstanceId, Map userInfoMap) { + Map variableMap = new HashMap<>(); + userInfoMap.forEach((k, v) -> { + String value = (String) v; + if (k.contains("List") && StringUtils.isNotBlank(value)) { // 会签节点 + List userList = Arrays.asList(value.split(",")); + variableMap.put(k, userList); + } else { // 普通节点 + variableMap.put(k, v); + } + }); + runtimeService.setVariables(processInstanceId, variableMap); + } + /** * @Author: liao * @Date: 2023/11/6 15:17