first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
DELIMITER //
|
||||
|
||||
CREATE OR REPLACE PROCEDURE sys_dashboard(
|
||||
IN p_token VARCHAR(100)
|
||||
)
|
||||
/*
|
||||
Description: 取得首頁的幾個統計用數字
|
||||
今日行事曆:
|
||||
待簽核表單:
|
||||
待辦事項: -- 協同工作單
|
||||
執行中專案: -- 本 Sprint 未完成的 PBI
|
||||
未結案留言單:
|
||||
Build Date : 2023/02/14
|
||||
|
||||
Modify History
|
||||
Item Who Date Modify Docs
|
||||
==== ========== ========== ================================================
|
||||
1 Michael 2023/02/14 Init
|
||||
2 Michael 2025/07/20 改寫為 MariaDB 並最佳化(ChatGPT+DeepSeek)
|
||||
*/
|
||||
BEGIN
|
||||
DECLARE v_userid VARCHAR(100);
|
||||
DECLARE v_cnt1 INT DEFAULT 0;
|
||||
DECLARE v_cnt2 INT DEFAULT 0;
|
||||
DECLARE v_cnt3 INT DEFAULT 0;
|
||||
DECLARE v_cnt4 INT DEFAULT 0;
|
||||
DECLARE v_cnt5 INT DEFAULT 0;
|
||||
|
||||
-- 將 token 換成 userid
|
||||
SELECT userid INTO v_userid FROM sys_users WHERE token = p_token LIMIT 1;
|
||||
|
||||
-- 今日行事曆(參考 sp=eip_getCalendar)
|
||||
SELECT COUNT(*) INTO v_cnt1
|
||||
FROM eip_core_calendar
|
||||
WHERE DATE(start_time) = CURDATE() AND personid = v_userid;
|
||||
|
||||
-- 待簽核表單(參考 sp=bpm_sign_todo)
|
||||
SELECT COUNT(*) INTO v_cnt2
|
||||
FROM bpm_flow_sign a
|
||||
JOIN bpm_list b ON a.flow_id = b.flow_id
|
||||
JOIN basperson p ON a.signerid = p.personid
|
||||
WHERE a.sign_status = 'P'
|
||||
AND IFNULL(a.assign_to,'') = 'Y'
|
||||
AND a.signerid = v_userid;
|
||||
|
||||
-- 待辦事項(建議是前後3天)
|
||||
SELECT COUNT(*) INTO v_cnt3
|
||||
FROM crmassign_m m
|
||||
WHERE DATE(m.predictdate) BETWEEN DATE_SUB(CURDATE(), INTERVAL 3 DAY) AND DATE_ADD(CURDATE(), INTERVAL 3 DAY)
|
||||
AND (m.personid2 = v_userid OR m.personid3 = v_userid);
|
||||
|
||||
-- 執行中 PBI(本 sprint 尚未完成, )
|
||||
SELECT COUNT(*) INTO v_cnt4
|
||||
FROM pms_pbi p
|
||||
JOIN pms_sprint s ON p.sprintid = s.sprintid
|
||||
WHERE DATE(p.startdate) BETWEEN DATE_SUB(CURDATE(), INTERVAL 3 DAY) AND DATE_ADD(CURDATE(), INTERVAL 3 DAY)
|
||||
AND CURDATE() BETWEEN DATE(s.sprint_startdate) AND DATE(s.sprint_enddate)
|
||||
AND (p.controller = v_userid OR p.tester = v_userid);
|
||||
|
||||
-- 未結案留言單(規格要調整, 先暫緩)
|
||||
|
||||
-- 回傳 dataset
|
||||
SELECT 0 AS code, 'ok' AS msg;
|
||||
SELECT v_cnt1 AS dashboard1, v_cnt2 AS dashboard2,
|
||||
v_cnt3 AS dashboard3, v_cnt4 AS dashboard4,
|
||||
v_cnt5 AS dashboard5;
|
||||
END //
|
||||
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user