-- 检查医生排班数据的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;