first commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
DELIMITER //
|
||||
|
||||
CREATE OR REPLACE PROCEDURE get_div_issue_data(
|
||||
IN p_div_type VARCHAR(1), -- a->e
|
||||
IN p_token VARCHAR(100)
|
||||
)
|
||||
/*
|
||||
Function : 獲取問題分配資料
|
||||
Description: 根據使用者token和問題類型返回不同分類的問題資料
|
||||
取得指定 div 的資料, 目前分為
|
||||
A*分配給我的(尚未解決)
|
||||
B*尚未分配
|
||||
C*我回報尚未解決
|
||||
D*我回報且已解決
|
||||
E*被我解決的(30日內)
|
||||
Build Date : 2023/07/19 (MariaDB 版本)
|
||||
*/
|
||||
BEGIN
|
||||
DECLARE v_userid VARCHAR(100);
|
||||
DECLARE v_err_code SMALLINT;
|
||||
DECLARE v_err_msg VARCHAR(100);
|
||||
|
||||
-- 初始化變數
|
||||
SET v_err_code = 0;
|
||||
SET v_err_msg = 'ok';
|
||||
|
||||
-- 根據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 = '原密碼輸入錯誤, 請重新輸入';
|
||||
|
||||
SELECT v_err_code AS code, v_err_msg AS msg;
|
||||
ELSE
|
||||
SELECT v_err_code AS code, v_err_msg AS msg;
|
||||
|
||||
-- 根據不同類型返回不同資料
|
||||
CASE UPPER(p_div_type)
|
||||
WHEN 'A' THEN
|
||||
-- 分配給我的(未解決)
|
||||
SELECT * FROM v_div_issue l
|
||||
WHERE l.responsible = v_userid
|
||||
AND (l.issue_status <> '2' AND l.issue_status <> '8');
|
||||
|
||||
WHEN 'B' THEN
|
||||
-- 尚未分配
|
||||
SELECT * FROM v_div_issue l
|
||||
WHERE IFNULL(l.responsible, '') = '';
|
||||
|
||||
WHEN 'C' THEN
|
||||
-- 由我回報的(未解決)
|
||||
SELECT * FROM v_div_issue l
|
||||
WHERE l.raised_by = v_userid
|
||||
AND (l.issue_status <> '2' AND l.issue_status <> '8');
|
||||
|
||||
WHEN 'D' THEN
|
||||
-- 我回報且已解決
|
||||
SELECT * FROM v_div_issue l
|
||||
WHERE l.raised_by = v_userid
|
||||
AND (l.issue_status = '2' OR l.issue_status = '8');
|
||||
|
||||
ELSE
|
||||
-- 被我解決的(30日內)
|
||||
SELECT * FROM v_div_issue l
|
||||
WHERE l.responsible = v_userid
|
||||
AND (l.issue_status = '2' OR l.issue_status = '8')
|
||||
AND DATEDIFF(CURDATE(), finish_date) <= 30;
|
||||
END CASE;
|
||||
END IF;
|
||||
END //
|
||||
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user