From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/limsController/WorkflowTableConfigTestController.java | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/limsController/WorkflowTableConfigTestController.java b/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/limsController/WorkflowTableConfigTestController.java
new file mode 100644
index 0000000..b911e7f
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-controller/src/main/java/jnpf/limsController/WorkflowTableConfigTestController.java
@@ -0,0 +1,70 @@
+package jnpf.limsController;
+
+import com.alibaba.fastjson.JSONObject;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヤ綔娴佽〃閰嶇疆娴嬭瘯鏁版嵁鏌ヨ銆�
+ *
+ * <p>璇� Controller 浠呯敤浜庨獙璇佸墠绔厤缃〉闈紝淇濇寔鍙锛屼笉褰卞搷鐜版湁涓氬姟鎺ュ彛銆�</p>
+ */
+@Slf4j
+@Tag(name = "宸ヤ綔娴佽〃閰嶇疆娴嬭瘯", description = "鎸夋祦绋嬫煡璇㈠彂璧疯〃鍗曞叧鑱旂殑鏁版嵁琛�")
+@RestController
+@RequestMapping("/custom/workflow-table-config")
+public class WorkflowTableConfigTestController {
+
+ private static final String DEFAULT_FLOW_ID = "864125763559883717";
+
+ private final JdbcTemplate jdbcTemplate;
+
+ public WorkflowTableConfigTestController(JdbcTemplate jdbcTemplate) {
+ this.jdbcTemplate = jdbcTemplate;
+ }
+
+ @Operation(summary = "鏌ヨ娴佺▼琛ㄩ厤缃�")
+ @GetMapping
+ public JSONObject list(@RequestParam(value = "flowId", required = false) String flowId) {
+ String queryFlowId = StringUtils.hasText(flowId) ? flowId.trim() : DEFAULT_FLOW_ID;
+ JSONObject result = new JSONObject();
+ result.put("code", 200);
+ result.put("msg", "鏌ヨ鎴愬姛");
+
+ try {
+ String sql = "SELECT n.f_form_id AS \"formId\", "
+ + "v.f_full_name AS \"formName\", "
+ + "item.value ->> 'typeId' AS \"tableType\", "
+ + "item.value ->> 'table' AS \"tableName\", "
+ + "item.value ->> 'tableName' AS \"tableDisplayName\" "
+ + "FROM public.workflow_node n "
+ + "JOIN public.base_visual_release v ON v.f_id = n.f_form_id "
+ + "CROSS JOIN LATERAL jsonb_array_elements("
+ + "CASE WHEN v.f_tables_data IS NULL OR btrim(v.f_tables_data) = '' "
+ + "THEN '[]'::jsonb ELSE v.f_tables_data::jsonb END) AS item(value) "
+ + "WHERE n.f_flow_id = ? AND n.f_node_type = 'start' "
+ + "AND item.value ->> 'typeId' = '1'";
+
+ List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, queryFlowId);
+ result.put("data", rows == null ? Collections.emptyList() : rows);
+ return result;
+ } catch (Exception ex) {
+ log.error("鏌ヨ娴佺▼琛ㄩ厤缃け璐ワ紝flowId={}", queryFlowId, ex);
+ result.put("code", 500);
+ result.put("msg", "鏌ヨ澶辫触锛�" + ex.getMessage());
+ result.put("data", Collections.emptyList());
+ return result;
+ }
+ }
+}
--
Gitblit v1.8.0