Files
Omni_wizard.db/tools/zen_get_picker.txt
T
2026-02-06 14:44:08 +08:00

52 lines
1.4 KiB
Plaintext

DELIMITER //
CREATE PROCEDURE zen_get_picker (
IN functiontag VARCHAR(100), -- pickerId, basm501=product, basm610=customer
IN fieldname VARCHAR(100), -- return correct field name
IN formsize VARCHAR(10) -- form size 可以由此控制
)
/*
因為 picker 是統一的需求, 為了統一控管, 改為 service + schemaApi, 同時也可以大幅縮端程式碼
目前測試時有一個 issue 尚待處理, 原定義在 picker 內的 label 會因改為 service + schemaApi 而不顯示, 影響排版
這樣的寫法可以執行, 但無法 update picker.name 傳參數會有問題
{
"type": "service",
"schemaApi": "get:/pages/zen_picker_basm601.json"
},
以下的寫法測試仍有問題(不會報錯, 但 picker 未顯示)
{
"type": "service",
"schemaApi": {
"method": "post",
"url": "http://127.0.0.1:5050/xapi/v2/zenWizard/zen_get_picker/3/",
"data": {
"para01": "basm61",
"para02": "para05",
"para03": "lg"
},
"dataType": "form"
}
},
CALL zen_get_picker('basm601', 'para05');
*/
BEGIN
DECLARE picker TEXT;
DECLARE version VARCHAR(20);
SET version = 'picker';
-- get and replace data
SELECT jsoncode INTO picker FROM zen_jsoncode WHERE functiontag = functiontag AND version = version;
SET picker = REPLACE(picker, '@fieldname@', fieldname);
SET picker = REPLACE(picker, '@formsize@', formsize);
-- return ds
SELECT 0 AS code, 'OK' AS msg;
SELECT picker AS jsoncode;
END //
DELIMITER ;