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-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java |   62 ++++++++++++++----------------
 1 files changed, 29 insertions(+), 33 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
index e1572ca..c37e0d0 100644
--- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java
@@ -9,7 +9,6 @@
 import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import org.apache.commons.io.IOUtils;
 import org.dromara.common.core.exception.ServiceException;
 import org.dromara.common.core.utils.StreamUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -37,7 +36,6 @@
 import org.flowable.engine.history.HistoricProcessInstance;
 import org.flowable.engine.impl.bpmn.deployer.ResourceNameUtil;
 import org.flowable.engine.repository.*;
-import org.flowable.task.api.history.HistoricTaskInstance;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
@@ -45,7 +43,10 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
@@ -61,9 +62,9 @@
     private final RepositoryService repositoryService;
     private final ProcessMigrationService processMigrationService;
     private final IWfCategoryService wfCategoryService;
-    private final IWfDefinitionConfigService iWfDefinitionConfigService;
+    private final IWfDefinitionConfigService wfDefinitionConfigService;
     private final WfDefinitionConfigMapper wfDefinitionConfigMapper;
-    private final IWfNodeConfigService iWfNodeConfigService;
+    private final IWfNodeConfigService wfNodeConfigService;
 
     /**
      * 鍒嗛〉鏌ヨ
@@ -94,7 +95,7 @@
         }
         if (CollUtil.isNotEmpty(definitionList)) {
             List<String> ids = StreamUtils.toList(definitionList, ProcessDefinition::getId);
-            List<WfDefinitionConfigVo> wfDefinitionConfigVos = iWfDefinitionConfigService.queryList(ids);
+            List<WfDefinitionConfigVo> wfDefinitionConfigVos = wfDefinitionConfigService.queryList(ids);
             for (ProcessDefinition processDefinition : definitionList) {
                 ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class);
                 if (CollUtil.isNotEmpty(deploymentList)) {
@@ -134,7 +135,7 @@
         }
         if (CollUtil.isNotEmpty(definitionList)) {
             List<String> ids = StreamUtils.toList(definitionList, ProcessDefinition::getId);
-            List<WfDefinitionConfigVo> wfDefinitionConfigVos = iWfDefinitionConfigService.queryList(ids);
+            List<WfDefinitionConfigVo> wfDefinitionConfigVos = wfDefinitionConfigService.queryList(ids);
             for (ProcessDefinition processDefinition : definitionList) {
                 ProcessDefinitionVo processDefinitionVo = BeanUtil.toBean(processDefinition, ProcessDefinitionVo.class);
                 if (CollUtil.isNotEmpty(deploymentList)) {
@@ -161,7 +162,7 @@
     @Override
     public String definitionImage(String processDefinitionId) {
         InputStream inputStream = repositoryService.getProcessDiagram(processDefinitionId);
-        return Base64.encode(IOUtils.toByteArray(inputStream));
+        return Base64.encode(IoUtil.readBytes(inputStream));
     }
 
     /**
@@ -173,13 +174,8 @@
     public String definitionXml(String processDefinitionId) {
         StringBuilder xml = new StringBuilder();
         ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId);
-        InputStream inputStream;
-        try {
-            inputStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), processDefinition.getResourceName());
-            xml.append(IOUtils.toString(inputStream, StandardCharsets.UTF_8));
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
+        InputStream inputStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), processDefinition.getResourceName());
+        xml.append(IoUtil.read(inputStream, StandardCharsets.UTF_8));
         return xml.toString();
     }
 
@@ -207,9 +203,9 @@
                 repositoryService.deleteDeployment(deploymentId);
             }
             //鍒犻櫎娴佺▼瀹氫箟閰嶇疆
-            iWfDefinitionConfigService.deleteByDefIds(processDefinitionIds);
+            wfDefinitionConfigService.deleteByDefIds(processDefinitionIds);
             //鍒犻櫎鑺傜偣閰嶇疆
-            iWfNodeConfigService.deleteByDefIds(processDefinitionIds);
+            wfNodeConfigService.deleteByDefIds(processDefinitionIds);
             return true;
         } catch (Exception e) {
             e.printStackTrace();
@@ -386,12 +382,12 @@
         if (CollUtil.isEmpty(wfDefinitionConfigs)) {
             ProcessDefinition processDefinition = QueryUtils.definitionQuery().processDefinitionKey("leave1").latestVersion().singleResult();
             if (processDefinition != null) {
-                WfDefinitionConfigBo wfFormDefinition = new WfDefinitionConfigBo();
-                wfFormDefinition.setDefinitionId(processDefinition.getId());
-                wfFormDefinition.setProcessKey(processDefinition.getKey());
-                wfFormDefinition.setTableName("test_leave");
-                wfFormDefinition.setVersion(processDefinition.getVersion());
-                iWfDefinitionConfigService.saveOrUpdate(wfFormDefinition);
+                WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo();
+                wfDefinitionConfigBo.setDefinitionId(processDefinition.getId());
+                wfDefinitionConfigBo.setProcessKey(processDefinition.getKey());
+                wfDefinitionConfigBo.setTableName("test_leave");
+                wfDefinitionConfigBo.setVersion(processDefinition.getVersion());
+                wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo);
             }
         }
 
@@ -406,16 +402,16 @@
     private void setWfConfig(ProcessDefinition oldProcessDefinition, ProcessDefinition definition) {
         //鏇存柊娴佺▼瀹氫箟琛ㄥ崟
         if (oldProcessDefinition != null) {
-            WfDefinitionConfigVo definitionVo = iWfDefinitionConfigService.getByDefId(oldProcessDefinition.getId());
+            WfDefinitionConfigVo definitionVo = wfDefinitionConfigService.getByDefId(oldProcessDefinition.getId());
             if (definitionVo != null) {
-                iWfDefinitionConfigService.deleteByDefIds(Collections.singletonList(oldProcessDefinition.getId()));
-                WfDefinitionConfigBo wfFormDefinition = new WfDefinitionConfigBo();
-                wfFormDefinition.setDefinitionId(definition.getId());
-                wfFormDefinition.setProcessKey(definition.getKey());
-                wfFormDefinition.setTableName(definitionVo.getTableName());
-                wfFormDefinition.setVersion(definition.getVersion());
-                wfFormDefinition.setRemark(definitionVo.getRemark());
-                iWfDefinitionConfigService.saveOrUpdate(wfFormDefinition);
+                wfDefinitionConfigService.deleteByDefIds(Collections.singletonList(oldProcessDefinition.getId()));
+                WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo();
+                wfDefinitionConfigBo.setDefinitionId(definition.getId());
+                wfDefinitionConfigBo.setProcessKey(definition.getKey());
+                wfDefinitionConfigBo.setTableName(definitionVo.getTableName());
+                wfDefinitionConfigBo.setVersion(definition.getVersion());
+                wfDefinitionConfigBo.setRemark(definitionVo.getRemark());
+                wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo);
             }
         }
         //鏇存柊娴佺▼鑺傜偣閰嶇疆琛ㄥ崟
@@ -436,7 +432,7 @@
             }
         }
         if (CollUtil.isNotEmpty(wfNodeConfigList)) {
-            iWfNodeConfigService.saveOrUpdate(wfNodeConfigList);
+            wfNodeConfigService.saveOrUpdate(wfNodeConfigList);
         }
     }
 }

--
Gitblit v1.9.3