From 0990dd4a4a52a6d26ff4d640980206fbff392dfb Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期三, 02 四月 2025 09:19:07 +0800 Subject: [PATCH] 修改产品结构树,修改审签功能 --- lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java index c9ae8f1..dc9b5ec 100644 --- a/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java +++ b/lxzn-module-flowable/src/main/java/org/jeecg/modules/flowable/service/impl/FlowTaskServiceImpl.java @@ -916,6 +916,63 @@ return Result.OK(); } + + /** + * 鍒ゆ柇澶氫釜浠诲姟鏄惁澶勪簬鍚屼竴娴佺▼鑺傜偣 + * @param taskIds 閫楀彿鍒嗛殧鐨勪换鍔D瀛楃涓� + * @return 缁熶竴缁撴灉灏佽 + */ + @Override + public Result isSameNode(String taskIds) { + // 1. 鍙傛暟鏍¢獙 + if (StringUtils.isBlank(taskIds)) { + return Result.error("浠诲姟ID涓嶈兘涓虹┖"); + } + + // 2. 鍒嗗壊浠诲姟ID + String[] taskIdArray = taskIds.split(","); + if (taskIdArray.length == 0) { + return Result.error("鏈彁渚涙湁鏁堢殑浠诲姟ID"); + } + + // 3. 鍗曚换鍔$洿鎺ヨ繑鍥瀟rue + if (taskIdArray.length == 1) { + return Result.ok(true); + } + + // 4. 澶氫换鍔℃鏌ラ�昏緫 + String referenceNodeId = null; + String currentNodeId = null; + for (String taskId : taskIdArray) { + // 4.1 鏌ヨ浠诲姟瀹炰緥 + Task task = taskService.createTaskQuery() + .taskId(taskId.trim()) + .singleResult(); + + // 4.2 浠诲姟涓嶅瓨鍦ㄥ鐞� + if (task == null) { + return Result.error("浠诲姟涓嶅瓨鍦�: " + taskId); + } + + // 4.3 鑾峰彇鑺傜偣鏍囪瘑锛圱askDefinitionKey锛� + currentNodeId = task.getTaskDefinitionKey(); + + // 4.4 棣栨閬嶅巻鍒濆鍖栧弬鑰冭妭鐐� + if (referenceNodeId == null) { + referenceNodeId = currentNodeId; + continue; + } + + // 4.5 鑺傜偣涓嶄竴鑷寸洿鎺ヨ繑鍥� + if (!referenceNodeId.equals(currentNodeId)) { + return Result.ok("鑺傜偣涓嶄竴鑷�"); + } + } + + // 5. 鎵�鏈変换鍔¤妭鐐逛竴鑷� + return Result.ok(currentNodeId); + } + /** * 浠e姙浠诲姟鍒楄〃 * -- Gitblit v1.9.3