Files
Omni_bpm.db/bpm_sign_todo.txt
T
2026-02-06 14:35:36 +08:00

48 lines
1.4 KiB
Plaintext

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 ;