first commit
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
DELIMITER //
|
||||
|
||||
CREATE OR REPLACE PROCEDURE response_issue_status(
|
||||
IN p_token VARCHAR(100),
|
||||
IN p_functiontag VARCHAR(100),
|
||||
IN p_id INT,
|
||||
IN p_assign_user VARCHAR(10),
|
||||
IN p_new_status VARCHAR(100),
|
||||
IN p_ok_rate SMALLINT,
|
||||
IN p_release_readme TEXT
|
||||
)
|
||||
/*
|
||||
Function : 處理問題狀態變更和指派
|
||||
Description: 根據不同的功能標籤處理不同類型的問題狀態更新
|
||||
Build Date : 2023/07/19 (MariaDB 版本)
|
||||
*/
|
||||
BEGIN
|
||||
DECLARE v_userid VARCHAR(10);
|
||||
DECLARE v_org_userid VARCHAR(10);
|
||||
DECLARE v_err_code SMALLINT;
|
||||
DECLARE v_seq INT;
|
||||
DECLARE v_err_msg VARCHAR(100);
|
||||
|
||||
SET v_err_code = 0;
|
||||
SET v_err_msg = '操作成功';
|
||||
|
||||
-- 根據token獲取userid
|
||||
SELECT userid INTO v_userid FROM sys_users WHERE token = p_token LIMIT 1;
|
||||
|
||||
IF v_userid IS NULL OR v_userid = '' THEN
|
||||
SET v_err_code = 4;
|
||||
SET v_err_msg = '認證失敗,請重新登錄';
|
||||
ELSE
|
||||
-- 根據功能標籤處理不同類型的問題
|
||||
IF p_functiontag = 'pmsm11' THEN -- Product Backlog Item
|
||||
-- 獲取原始負責人和當前最大序號
|
||||
SELECT controller INTO v_org_userid FROM pms_pbi WHERE pbiid = p_id;
|
||||
SELECT IFNULL(MAX(seqno), 0) INTO v_seq FROM pms_pbi_log WHERE pbiid = p_id;
|
||||
|
||||
-- 寫入日誌
|
||||
INSERT INTO pms_pbi_log (pbiid, response_date, response_by, assign_user, response, pbi_status, pbi_rate, seqno)
|
||||
VALUES (p_id, NOW(), v_userid, p_assign_user, p_release_readme, p_new_status, p_ok_rate, v_seq+1);
|
||||
|
||||
-- 更新主表狀態
|
||||
UPDATE pms_pbi
|
||||
SET pbi_status = IFNULL(p_new_status, pbi_status),
|
||||
controller = IFNULL(v_userid, controller),
|
||||
pbi_rate = IFNULL(p_ok_rate, pbi_rate)
|
||||
WHERE pbiid = p_id;
|
||||
|
||||
ELSEIF p_functiontag = 'pmsm12' THEN -- Issue Log 維護作業
|
||||
-- 獲取當前最大序號
|
||||
SELECT IFNULL(MAX(seqno), 0) INTO v_seq FROM pms_issuelog_d WHERE issueid = p_id;
|
||||
|
||||
-- 寫入日誌
|
||||
INSERT INTO pms_issuelog_d (issueid, raised_date, raised_by, assign_user, response, issue_status, seqno)
|
||||
VALUES (p_id, NOW(), v_userid, p_assign_user, p_release_readme, p_new_status, v_seq+1);
|
||||
|
||||
-- 更新主表狀態
|
||||
UPDATE pms_issuelog
|
||||
SET issue_status = IFNULL(p_new_status, issue_status),
|
||||
responsible = IFNULL(p_assign_user, responsible)
|
||||
WHERE issueid = p_id;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
SELECT v_err_code AS code, v_err_msg AS msg;
|
||||
END //
|
||||
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user