From 44bef2d6d981f8840df24059dc07003beb7be5a7 Mon Sep 17 00:00:00 2001
From: gssong <1742057357@qq.com>
Date: 星期日, 02 六月 2024 15:02:59 +0800
Subject: [PATCH] add 增加设置流程变量接口
---
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java | 35 +++++++++++++++++
ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java | 49 ++++++++++++++++++++++++
2 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
index 15c2f4d..2c1417c 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/WorkflowService.java
@@ -1,6 +1,7 @@
package org.dromara.common.core.service;
import java.util.List;
+import java.util.Map;
/**
* 閫氱敤 宸ヤ綔娴佹湇鍔�
@@ -47,4 +48,38 @@
* @param fieldName 涓婚敭灞炴�у悕绉�
*/
void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName);
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variableName 鍙橀噺鍚嶇О
+ * @param value 鍙橀噺鍊�
+ */
+ void setVariable(String taskId, String variableName, Object value);
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variables 娴佺▼鍙橀噺
+ */
+ void setVariables(String taskId, Map<String, Object> variables);
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鏈湴鍙橀噺,闈炲叏灞�鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variableName 鍙橀噺鍚嶇О
+ * @param value 鍙橀噺鍊�
+ */
+ void setVariableLocal(String taskId, String variableName, Object value);
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鏈湴鍙橀噺,闈炲叏灞�鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variables 娴佺▼鍙橀噺
+ */
+ void setVariablesLocal(String taskId, Map<String, Object> variables);
}
diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
index 91a899d..4d4384a 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java
@@ -4,9 +4,11 @@
import org.dromara.common.core.service.WorkflowService;
import org.dromara.workflow.service.IActProcessInstanceService;
import org.dromara.workflow.utils.WorkflowUtils;
+import org.flowable.engine.RuntimeService;
import org.springframework.stereotype.Service;
import java.util.List;
+import java.util.Map;
/**
* 閫氱敤 宸ヤ綔娴佹湇鍔″疄鐜�
@@ -18,6 +20,7 @@
public class WorkflowServiceImpl implements WorkflowService {
private final IActProcessInstanceService iActProcessInstanceService;
+ private final RuntimeService runtimeService;
/**
* 杩愯涓殑瀹炰緥 鍒犻櫎绋嬪疄渚嬶紝鍒犻櫎鍘嗗彶璁板綍锛屽垹闄や笟鍔′笌娴佺▼鍏宠仈淇℃伅
@@ -72,4 +75,50 @@
public void setBusinessInstanceListDTO(Object obj, List<String> idList, String fieldName) {
WorkflowUtils.setBusinessInstanceListDTO(obj, idList, fieldName);
}
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variableName 鍙橀噺鍚嶇О
+ * @param value 鍙橀噺鍊�
+ */
+ @Override
+ public void setVariable(String taskId, String variableName, Object value) {
+ runtimeService.setVariable(taskId, variableName, value);
+ }
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variables 娴佺▼鍙橀噺
+ */
+ @Override
+ public void setVariables(String taskId, Map<String, Object> variables) {
+ runtimeService.setVariables(taskId, variables);
+ }
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鏈湴鍙橀噺,闈炲叏灞�鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variableName 鍙橀噺鍚嶇О
+ * @param value 鍙橀噺鍊�
+ */
+ @Override
+ public void setVariableLocal(String taskId, String variableName, Object value) {
+ runtimeService.setVariableLocal(taskId, variableName, value);
+ }
+
+ /**
+ * 璁剧疆娴佺▼鍙橀噺(鏈湴鍙橀噺,闈炲叏灞�鍙橀噺)
+ *
+ * @param taskId 浠诲姟id
+ * @param variables 娴佺▼鍙橀噺
+ */
+ @Override
+ public void setVariablesLocal(String taskId, Map<String, Object> variables) {
+ runtimeService.setVariablesLocal(taskId, variables);
+ }
}
--
Gitblit v1.9.3