170 lines
3.5 KiB
SQL
170 lines
3.5 KiB
SQL
-- 检查医生排班数据的SQL脚本
|
||
|
||
-- 1. 检查医生ID=3的所有排班
|
||
SELECT
|
||
id,
|
||
doctor_id,
|
||
date,
|
||
period,
|
||
CASE period
|
||
WHEN 1 THEN '上午'
|
||
WHEN 2 THEN '下午'
|
||
ELSE '未知'
|
||
END as period_name,
|
||
status,
|
||
CASE status
|
||
WHEN 1 THEN '出诊'
|
||
WHEN 2 THEN '停诊'
|
||
WHEN 3 THEN '休息'
|
||
WHEN 4 THEN '请假'
|
||
ELSE '未知'
|
||
END as status_name,
|
||
quota,
|
||
max_patients,
|
||
booked_count,
|
||
create_time,
|
||
update_time
|
||
FROM zyt_doctor_roster
|
||
WHERE doctor_id = 3
|
||
ORDER BY date ASC, period ASC;
|
||
|
||
-- 2. 检查医生ID=3在2026-03-06的排班
|
||
SELECT
|
||
id,
|
||
doctor_id,
|
||
date,
|
||
period,
|
||
CASE period
|
||
WHEN 1 THEN '上午'
|
||
WHEN 2 THEN '下午'
|
||
ELSE '未知'
|
||
END as period_name,
|
||
status,
|
||
CASE status
|
||
WHEN 1 THEN '出诊'
|
||
WHEN 2 THEN '停诊'
|
||
WHEN 3 THEN '休息'
|
||
WHEN 4 THEN '请假'
|
||
ELSE '未知'
|
||
END as status_name,
|
||
quota,
|
||
max_patients,
|
||
booked_count
|
||
FROM zyt_doctor_roster
|
||
WHERE doctor_id = 3
|
||
AND date = '2026-03-06';
|
||
|
||
-- 3. 检查医生ID=3在2026-03-06的出诊排班(status=1)
|
||
SELECT
|
||
id,
|
||
doctor_id,
|
||
date,
|
||
period,
|
||
CASE period
|
||
WHEN 1 THEN '上午'
|
||
WHEN 2 THEN '下午'
|
||
ELSE '未知'
|
||
END as period_name,
|
||
status,
|
||
quota,
|
||
max_patients,
|
||
booked_count
|
||
FROM zyt_doctor_roster
|
||
WHERE doctor_id = 3
|
||
AND date = '2026-03-06'
|
||
AND status = 1;
|
||
|
||
-- 4. 检查医生ID=3在2026-03-04到2026-03-06的所有排班
|
||
SELECT
|
||
date,
|
||
period,
|
||
CASE period
|
||
WHEN 1 THEN '上午'
|
||
WHEN 2 THEN '下午'
|
||
ELSE '未知'
|
||
END as period_name,
|
||
status,
|
||
CASE status
|
||
WHEN 1 THEN '出诊'
|
||
WHEN 2 THEN '停诊'
|
||
WHEN 3 THEN '休息'
|
||
WHEN 4 THEN '请假'
|
||
ELSE '未知'
|
||
END as status_name,
|
||
quota,
|
||
max_patients,
|
||
booked_count
|
||
FROM zyt_doctor_roster
|
||
WHERE doctor_id = 3
|
||
AND date BETWEEN '2026-03-04' AND '2026-03-06'
|
||
ORDER BY date ASC, period ASC;
|
||
|
||
-- 5. 如果没有数据,添加测试数据
|
||
-- 取消下面的注释来添加测试排班
|
||
|
||
/*
|
||
-- 添加医生ID=3在2026-03-06的排班
|
||
INSERT INTO zyt_doctor_roster (
|
||
doctor_id,
|
||
date,
|
||
period,
|
||
status,
|
||
quota,
|
||
max_patients,
|
||
booked_count,
|
||
create_time,
|
||
update_time
|
||
) VALUES
|
||
-- 上午出诊
|
||
(3, '2026-03-06', 1, 1, 20, 20, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||
-- 下午出诊
|
||
(3, '2026-03-06', 2, 1, 20, 20, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
|
||
*/
|
||
|
||
-- 6. 检查医生ID=3在2026-03-06的预约情况
|
||
SELECT
|
||
id,
|
||
doctor_id,
|
||
patient_id,
|
||
appointment_date,
|
||
appointment_time,
|
||
status,
|
||
CASE status
|
||
WHEN 1 THEN '已预约'
|
||
WHEN 2 THEN '已取消'
|
||
WHEN 3 THEN '已完成'
|
||
ELSE '未知'
|
||
END as status_name,
|
||
create_time
|
||
FROM zyt_doctor_appointment
|
||
WHERE doctor_id = 3
|
||
AND appointment_date = '2026-03-06'
|
||
ORDER BY appointment_time ASC;
|
||
|
||
-- 7. 统计医生ID=3的排班情况
|
||
SELECT
|
||
status,
|
||
CASE status
|
||
WHEN 1 THEN '出诊'
|
||
WHEN 2 THEN '停诊'
|
||
WHEN 3 THEN '休息'
|
||
WHEN 4 THEN '请假'
|
||
ELSE '未知'
|
||
END as status_name,
|
||
COUNT(*) as count
|
||
FROM zyt_doctor_roster
|
||
WHERE doctor_id = 3
|
||
GROUP BY status;
|
||
|
||
-- 8. 检查所有医生的基本信息
|
||
SELECT
|
||
a.id,
|
||
a.name,
|
||
a.account,
|
||
ar.role_id,
|
||
a.disable
|
||
FROM zyt_admin a
|
||
INNER JOIN zyt_admin_role ar ON a.id = ar.admin_id
|
||
WHERE ar.role_id = 1
|
||
ORDER BY a.id ASC;
|