DELIMITER // CREATE OR REPLACE PROCEDURE bpm_sign_todo ( IN p_token VARCHAR(100) ) /* Function : 配合 amis 的 bpm, 取得 [待辦事項清單] Description: 所有目前正在等待 user 簽核的 flow Build Date : 2022/11/16 Modify History Item Who Date Modify Docs ==== ========== ========== ================================================ 1 Michael 2022/11/16 2 Michael 2022/11/28 新增 assign_to 的指派條件 */ BEGIN -- token 轉 userid DECLARE v_userid VARCHAR(20); -- 根據傳入的 token 取得 userid, 並會判斷 token 是否仍有效(無效傳回空白) SELECT checktoken(p_token) INTO v_userid; main_block: BEGIN IF v_userid = '' THEN LEAVE main_block; -- 結束程序 END IF; -- 回傳狀態 SELECT 0 AS code, 'ok' AS msg; SELECT b.functiontag, b.flow_name, a.sourceid, a.sourceid AS billno, a.sign_note, d.departmentcname, a.signerid, p.personcname, a.stepName, cloud_addtime(a.create_date) AS create_date, a.flow_level FROM bpm_flow_sign A LEFT JOIN bpm_list B ON A.flow_id = B.flow_id LEFT JOIN basperson P ON A.signerid = P.personid LEFT JOIN basdepartment D ON D.departmentid = P.departmentid WHERE a.sign_status = 'P' -- 目前簽核關卡 AND IFNULL(a.assign_to, '') = 'Y' -- 解決同一關多人時的指派機制 AND a.signerid = v_userid; END; END // DELIMITER ;