From 456620b6383611bc5982d670fca8dead60571208 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 06 六月 2024 11:13:46 +0800 Subject: [PATCH] !549 ♥️发布 5.2.0-BETA2 公测版本 Merge pull request !549 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 119 insertions(+), 0 deletions(-) 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 new file mode 100644 index 0000000..11f6ef1 --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java @@ -0,0 +1,119 @@ +package org.dromara.workflow.service.impl; + +import cn.hutool.core.util.StrUtil; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.service.WorkflowService; +import org.dromara.workflow.domain.ActHiProcinst; +import org.dromara.workflow.service.IActHiProcinstService; +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; + +/** + * 閫氱敤 宸ヤ綔娴佹湇鍔″疄鐜� + * + * @author may + */ +@RequiredArgsConstructor +@Service +public class WorkflowServiceImpl implements WorkflowService { + + private final IActProcessInstanceService iActProcessInstanceService; + private final RuntimeService runtimeService; + private final IActHiProcinstService iActHiProcinstService; + /** + * 杩愯涓殑瀹炰緥 鍒犻櫎绋嬪疄渚嬶紝鍒犻櫎鍘嗗彶璁板綍锛屽垹闄や笟鍔′笌娴佺▼鍏宠仈淇℃伅 + * + * @param businessKeys 涓氬姟id + * @return 缁撴灉 + */ + @Override + public boolean deleteRunAndHisInstance(List<String> businessKeys) { + return iActProcessInstanceService.deleteRunAndHisInstance(businessKeys); + } + + /** + * 鑾峰彇褰撳墠娴佺▼鐘舵�� + * + * @param taskId 浠诲姟id + */ + @Override + public String getBusinessStatusByTaskId(String taskId) { + return WorkflowUtils.getBusinessStatusByTaskId(taskId); + } + + /** + * 鑾峰彇褰撳墠娴佺▼鐘舵�� + * + * @param businessKey 涓氬姟id + */ + @Override + public String getBusinessStatus(String businessKey) { + return WorkflowUtils.getBusinessStatus(businessKey); + } + + /** + * 璁剧疆娴佺▼鍙橀噺(鍏ㄥ眬鍙橀噺) + * + * @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); + } + + /** + * 鎸夌収涓氬姟id鏌ヨ娴佺▼瀹炰緥id + * + * @param businessKey 涓氬姟id + * @return 缁撴灉 + */ + @Override + public String getInstanceIdByBusinessKey(String businessKey) { + ActHiProcinst actHiProcinst = iActHiProcinstService.selectByBusinessKey(businessKey); + if (actHiProcinst == null) { + return StrUtil.EMPTY; + } + return actHiProcinst.getId(); + } +} -- Gitblit v1.9.3