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
+67
View File
@@ -0,0 +1,67 @@
DELIMITER //
CREATE OR REPLACE FUNCTION `trans_cname` (
p_fieldname VARCHAR(100),
p_fieldcn NVARCHAR(100)
)
/*
Function : 根據 zen_fields,zen_dd_erp,zen_dd 的內容, 回傳可能的中文欄位 Title
Description: 通常是配合 sp=zen_fieldspec_best 使用
Build Date : 2021/11/25
Modify History
Item Who Date Modify Docs
==== ========== ========== ================================================
1 Michael 2021/11/25 新增
2 [改寫者] 2023-11-15 改寫為 MariaDB 版本並最佳化
*/
RETURNS NVARCHAR(100)
DETERMINISTIC
BEGIN
DECLARE v_ret NVARCHAR(100);
DECLARE v_dd_id VARCHAR(100);
DECLARE v_dd_name VARCHAR(100);
SET v_ret = p_fieldcn;
IF p_fieldcn = '' OR p_fieldname = p_fieldcn THEN
-- 先找 zen_fields
SELECT fieldcn INTO v_ret
FROM zen_fields
WHERE fieldname = p_fieldname
AND fieldname <> fieldcn
AND IFNULL(fieldcn, '') <> ''
LIMIT 1;
-- 新增 zen_dd_erp(原 erp)
IF IFNULL(v_ret, '') = '' THEN
SELECT fieldcn INTO v_ret
FROM zen_dd_erp
WHERE fieldname = p_fieldname
AND fieldname <> fieldcn
AND IFNULL(fieldcn, '') <> ''
LIMIT 1;
END IF;
-- 再找 zen_dd
IF IFNULL(v_ret, '') = '' THEN
SELECT fieldname, cname INTO v_dd_id, v_dd_name
FROM zen_dd
WHERE LOCATE(fieldname, p_fieldname) > 0
LIMIT 1;
IF IFNULL(v_dd_id, '') <> '' THEN
SET v_ret = REPLACE(p_fieldname, v_dd_id, v_dd_name);
END IF;
END IF;
END IF;
-- 實在找不到的話, 只能回傳 fieldname
/* IF IFNULL(v_ret, '') = '' THEN
SET v_ret = p_fieldname;
END IF; */
RETURN v_ret;
END //
DELIMITER ;