From 81b3b7a41ec43af2d3d81b35da72d930483d4f26 Mon Sep 17 00:00:00 2001
From: wang1 <844966816@qq.com>
Date: 星期三, 28 六月 2023 14:42:45 +0800
Subject: [PATCH] 主数据流程添加自定义需要的流程变量

---
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java              |    3 +++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java |   17 +++++++++++++++++
 Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java    |    2 +-
 3 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
index bb40cc7..5e7dcd9 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
@@ -36,7 +36,7 @@
 	}
 
 	/**
-	 * 娴佺▼棰勬祴,娴佺▼浠诲姟鎸夐挳
+	 * 娴佺▼棰勬祴,娴佺▼浠诲姟鎸夐挳,鏌ュ嚭娴佺▼涓父閲�,娴佺▼闃舵灞炴��
 	 */
 	@PostMapping("next")
 	public R<FlowTaskDTO> next(@RequestBody FlowTaskDTO flowTaskUserC) {
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
index 4a065b9..98200f6 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
@@ -60,6 +60,9 @@
 	private List<FlowTaskDTO> toTasks;//娴佺▼涓嬩竴姝ユ寜閽�
 	private Map<String, Object> variables;//娴佺▼鍙傛暟
 
+	//娴佺▼闃舵缁戝畾鐨勫睘鎬�
+	private List<ProcessStageAttr> stageAttrs;
+
 
 
 }
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
index f1deaf9..e9ec1fd 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
@@ -16,12 +16,14 @@
  */
 package com.vci.ubcs.flow.engine.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.vci.ubcs.flow.core.constant.ProcessConstant;
 import com.vci.ubcs.flow.core.entity.BladeFlow;
 import com.vci.ubcs.flow.core.utils.TaskUtil;
 import com.vci.ubcs.flow.engine.entity.*;
 import com.vci.ubcs.flow.engine.service.FlowEngineService;
 import com.vci.ubcs.flow.engine.service.FlowTaskUserService;
+import com.vci.ubcs.flow.engine.service.ProcessStageAttrService;
 import com.vci.ubcs.flow.engine.service.VICFlowService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -33,6 +35,7 @@
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.mp.support.Condition;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.support.Kv;
@@ -56,6 +59,7 @@
 	private final FlowTaskUserService flowTaskUserService;
 	private final FlowEngineService flowEngineService;
 	private final HistoryService historyService;
+	private final ProcessStageAttrService processStageAttrService;
 
 	private static String MODELKEY = "modelKey";//鍓嶇浼犺繃鏉ョ殑妯″瀷key
 	@Override
@@ -217,10 +221,23 @@
 				}
 			}
 		}
+
+		//娴佺▼甯搁噺
 		Map<String,Object> variables = runtimeService.getVariables(processInstanceId);
 		if(!variables.isEmpty()){
 			flowTaskDTO.setVariables(variables);
 		}
+
+		String templateId = variables.get("templateId").toString();
+		//娴佺▼闃舵
+		Map<String, Object> m = new HashMap<>();
+		m.put("template_id", templateId);
+		m.put("task_id", crruentActivityId);
+		m.put("model_key", modelKey);
+		QueryWrapper q = Condition.getQueryWrapper(m, ProcessStageAttr.class)
+			.select("attr_id attrId,attr_name attrName,attr_group attrGroup");
+		List<ProcessStageAttr> stageAttrs = processStageAttrService.list(q);
+		flowTaskDTO.setStageAttrs(stageAttrs);
 		return flowTaskDTO;
 	}
 }

--
Gitblit v1.9.3