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 ;