first commit

This commit is contained in:
DATAEXPRESS\4734
2026-02-06 14:44:08 +08:00
commit 3b3e190726
42 changed files with 5385 additions and 0 deletions
+140
View File
@@ -0,0 +1,140 @@
DELIMITER //
CREATE OR REPLACE PROCEDURE zen_create_json_comps_block(
IN p_uuid VARCHAR(100),
IN p_FunctionTag VARCHAR(100),
IN p_code_id VARCHAR(100),
IN p_group VARCHAR(10),
IN p_FieldBlock SMALLINT,
IN p_block VARCHAR(2),
IN p_rowid INT
)
/*
function : amis Wizard 產生 json UI 的核心程式(每個 Component 有各自的 json UI 定義)
description: 本段 sp 主要是設定 input-text 中 view 部分的 json 定義(實在是太長了)
後來發現, 除了特殊的元件要獨立的 sp 特別處理外, 一般元件可以都統一在 input-text 的 sp 加上一些判斷即可
Build Date : 2023/12/20
Modified : 2025/08/09 (轉換為 MariaDB 版本)
Modify History
Item Who Date Modify Docs
==== ========== ========== ================================================
1 Michael 2023/12/20 根據 v1.0 重構
2 Assistant 2025/08/09 轉換為 MariaDB 版本
*/
BEGIN
DECLARE v_gh TEXT;
DECLARE v_gf TEXT;
DECLARE v_bh TEXT;
DECLARE v_bf TEXT;
DECLARE v_blockname NVARCHAR(100);
DECLARE v_bTab SMALLINT;
DECLARE v_Tab1 VARCHAR(2);
DECLARE v_crlf VARCHAR(2);
DECLARE v_imax_block INT;
DECLARE v_code_para VARCHAR(100);
SET v_crlf = CONCAT(CHAR(13), CHAR(10));
-- 取得最大 FieldBlock 值
SELECT MAX(FieldBlock) INTO v_imax_block FROM zen_wizard_jsondata WHERE uuid = p_uuid;
-- get code_para
SET v_code_para = '';
IF p_code_id IN ('SingleEntry','SingleTabs','SinglePanels') THEN
SELECT code_para INTO v_code_para FROM zen_Wizard_template WHERE code_id = 'SingleEntry';
-- Master-detail(支援 Tab 和 Panel 2種 UX -- 配合 Single Extend)
ELSEIF p_code_id IN ('MasterDetailTabs','MasterDetailPanels') THEN
SELECT code_para INTO v_code_para FROM zen_Wizard_template WHERE code_id = 'MasterDetail';
END IF;
SET v_bh = '';
SET v_bf = '';
-- 取得 block_name
SELECT blockcname INTO v_blockname FROM zen_blockname WHERE menuid = p_FunctionTag AND blockno = p_FieldBlock;
IF IFNULL(v_blockname, '') = '' THEN
SET v_blockname = '區塊標題';
END IF;
-- MD Log 允許根據 code_para 決定是 Tabs or Panel(待測試)
IF LOCATE('Tab', p_code_id) > 0 OR LOCATE('Tab', IFNULL(v_code_para, '')) > 0 THEN
SET v_bTab = 1;
SET v_Tab1 = '//';
ELSE
SET v_bTab = 0;
SET v_Tab1 = '';
END IF;
IF p_block = 'BH' OR p_block = 'BA' THEN
IF (p_FieldBlock = 0 AND v_bTab = 1) OR (v_bTab = 0) THEN
SET v_Tab1 = '';
ELSE
SET v_Tab1 = '//';
END IF;
SET v_bh = CONCAT(
' {', v_crlf,
' "', v_Tab1, 'type": "fieldSet",', v_crlf,
' "title": "', v_blockname, '",', v_crlf,
' "collapsable": true,', v_crlf,
' "body": [', v_crlf
);
IF p_FieldBlock = 1 AND v_bTab = 1 THEN
SET v_bh = CONCAT(
' {', v_crlf,
' "type": "tabs",', v_crlf,
' "mode": "line",', v_crlf,
' "tabs": [', v_crlf,
' {', v_crlf,
' "title": "', v_blockname, '",', v_crlf,
' "body": [', v_crlf
);
END IF;
END IF;
IF p_block = 'BF' OR p_block = 'BA' THEN
SET v_bf = CONCAT(
' ]', v_crlf,
' }', v_crlf
);
IF p_FieldBlock = v_imax_block AND v_bTab = 1 THEN
SET v_bf = CONCAT(
' ]', v_crlf,
' }', v_crlf,
' ]', v_crlf,
' }', v_crlf
);
END IF;
END IF;
-- 加入簡易排版功能, type=group
SET v_gh = '';
SET v_gf = '';
IF p_group = 'GH' THEN
SET v_gh = CONCAT(
'{', v_crlf,
' "type": "group",', v_crlf,
' "body": [', v_crlf
);
END IF;
IF p_group = 'GF' THEN
SET v_gf = CONCAT(
' ]', v_crlf,
' }'
);
END IF;
-- 取得並暫存 block / group 的內容
UPDATE zen_wizard_jsondata
SET json_bh = v_bh,
json_bf = v_bf,
json_gh = v_gh,
json_gf = v_gf
WHERE uuid = p_uuid AND rowid = p_rowid;
END //
DELIMITER ;