53 lines
2.0 KiB
SQL
53 lines
2.0 KiB
SQL
-- 测试数据:创建医生排班
|
|
-- 请根据实际情况修改 doctor_id
|
|
|
|
-- 为医生ID=1创建未来7天的排班数据
|
|
INSERT INTO `la_doctor_roster` (`doctor_id`, `date`, `period`, `status`, `quota`, `max_patients`, `create_time`, `update_time`)
|
|
VALUES
|
|
-- 今天
|
|
(1, CURDATE(), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, CURDATE(), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
|
|
-- 明天
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 1 DAY), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
|
|
-- 后天
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 2 DAY), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
|
|
-- 第4天
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 3 DAY), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 3 DAY), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
|
|
-- 第5天
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 4 DAY), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 4 DAY), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
|
|
-- 第6天
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 5 DAY), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 5 DAY), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
|
|
-- 第7天
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 6 DAY), 'morning', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
|
(1, DATE_ADD(CURDATE(), INTERVAL 6 DAY), 'afternoon', 1, 10, 15, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
|
|
|
|
-- 查询验证
|
|
SELECT
|
|
id,
|
|
doctor_id,
|
|
date,
|
|
period,
|
|
CASE
|
|
WHEN status = 1 THEN '出诊'
|
|
WHEN status = 2 THEN '停诊'
|
|
WHEN status = 3 THEN '休息'
|
|
WHEN status = 4 THEN '请假'
|
|
END as status_text,
|
|
quota,
|
|
max_patients
|
|
FROM la_doctor_roster
|
|
WHERE doctor_id = 1
|
|
AND date >= CURDATE()
|
|
ORDER BY date, period;
|