48 lines
1.4 KiB
Plaintext
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 ; |