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 ;
