新增功能
This commit is contained in:
@@ -0,0 +1,157 @@
|
||||
-- 快速修复医生ID=4的排班数据
|
||||
|
||||
-- 1. 检查当前排班状态
|
||||
SELECT
|
||||
'=== 当前排班状态 ===' as info;
|
||||
|
||||
SELECT
|
||||
date,
|
||||
period,
|
||||
CASE period WHEN 1 THEN '上午' WHEN 2 THEN '下午' END as period_name,
|
||||
status,
|
||||
CASE status
|
||||
WHEN 1 THEN '出诊'
|
||||
WHEN 2 THEN '停诊'
|
||||
WHEN 3 THEN '休息'
|
||||
WHEN 4 THEN '请假'
|
||||
END as status_name
|
||||
FROM zyt_doctor_roster
|
||||
WHERE doctor_id = 4
|
||||
AND date = '2026-03-04';
|
||||
|
||||
-- 2. 如果没有数据,添加排班
|
||||
SELECT
|
||||
'=== 添加排班数据 ===' as info;
|
||||
|
||||
INSERT INTO zyt_doctor_roster (
|
||||
doctor_id,
|
||||
date,
|
||||
period,
|
||||
status,
|
||||
quota,
|
||||
max_patients,
|
||||
booked_count,
|
||||
remark,
|
||||
create_time,
|
||||
update_time
|
||||
)
|
||||
SELECT 4, '2026-03-04', 1, 1, 20, 20, 0, '上午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM zyt_doctor_roster
|
||||
WHERE doctor_id = 4 AND date = '2026-03-04' AND period = 1
|
||||
);
|
||||
|
||||
INSERT INTO zyt_doctor_roster (
|
||||
doctor_id,
|
||||
date,
|
||||
period,
|
||||
status,
|
||||
quota,
|
||||
max_patients,
|
||||
booked_count,
|
||||
remark,
|
||||
create_time,
|
||||
update_time
|
||||
)
|
||||
SELECT 4, '2026-03-04', 2, 1, 20, 20, 0, '下午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM zyt_doctor_roster
|
||||
WHERE doctor_id = 4 AND date = '2026-03-04' AND period = 2
|
||||
);
|
||||
|
||||
-- 3. 如果有数据但状态不对,修改状态
|
||||
SELECT
|
||||
'=== 修改排班状态为出诊 ===' as info;
|
||||
|
||||
UPDATE zyt_doctor_roster
|
||||
SET status = 1,
|
||||
quota = 20,
|
||||
max_patients = 20,
|
||||
remark = '修改为出诊',
|
||||
update_time = UNIX_TIMESTAMP()
|
||||
WHERE doctor_id = 4
|
||||
AND date = '2026-03-04'
|
||||
AND status != 1;
|
||||
|
||||
-- 4. 验证修复结果
|
||||
SELECT
|
||||
'=== 修复后的排班状态 ===' as info;
|
||||
|
||||
SELECT
|
||||
date,
|
||||
period,
|
||||
CASE period WHEN 1 THEN '上午' WHEN 2 THEN '下午' END as period_name,
|
||||
status,
|
||||
CASE status
|
||||
WHEN 1 THEN '出诊'
|
||||
WHEN 2 THEN '停诊'
|
||||
WHEN 3 THEN '休息'
|
||||
WHEN 4 THEN '请假'
|
||||
END as status_name,
|
||||
quota,
|
||||
max_patients,
|
||||
remark
|
||||
FROM zyt_doctor_roster
|
||||
WHERE doctor_id = 4
|
||||
AND date = '2026-03-04';
|
||||
|
||||
-- 5. 添加更多日期的排班(可选)
|
||||
SELECT
|
||||
'=== 添加一周的排班数据(可选)===' as info;
|
||||
|
||||
-- 取消下面的注释来添加一周的排班
|
||||
|
||||
/*
|
||||
-- 清空旧数据
|
||||
DELETE FROM zyt_doctor_roster
|
||||
WHERE doctor_id = 4
|
||||
AND date BETWEEN '2026-03-02' AND '2026-03-08';
|
||||
|
||||
-- 添加一周的排班
|
||||
INSERT INTO zyt_doctor_roster (
|
||||
doctor_id,
|
||||
date,
|
||||
period,
|
||||
status,
|
||||
quota,
|
||||
max_patients,
|
||||
booked_count,
|
||||
remark,
|
||||
create_time,
|
||||
update_time
|
||||
) VALUES
|
||||
-- 周一全天出诊
|
||||
(4, '2026-03-02', 1, 1, 20, 20, 0, '上午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-02', 2, 1, 20, 20, 0, '下午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周二上午出诊下午休息
|
||||
(4, '2026-03-03', 1, 1, 20, 20, 0, '上午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-03', 2, 3, 0, 0, 0, '下午休息', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周三全天出诊
|
||||
(4, '2026-03-04', 1, 1, 20, 20, 0, '上午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-04', 2, 1, 20, 20, 0, '下午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周四上午停诊下午出诊
|
||||
(4, '2026-03-05', 1, 2, 0, 0, 0, '上午停诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-05', 2, 1, 20, 20, 0, '下午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周五全天休息
|
||||
(4, '2026-03-06', 1, 3, 0, 0, 0, '上午休息', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-06', 2, 3, 0, 0, 0, '下午休息', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周六全天出诊
|
||||
(4, '2026-03-07', 1, 1, 20, 20, 0, '上午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-07', 2, 1, 20, 20, 0, '下午出诊', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
-- 周日全天休息
|
||||
(4, '2026-03-08', 1, 3, 0, 0, 0, '上午休息', UNIX_TIMESTAMP(), UNIX_TIMESTAMP()),
|
||||
(4, '2026-03-08', 2, 3, 0, 0, 0, '下午休息', UNIX_TIMESTAMP(), UNIX_TIMESTAMP());
|
||||
*/
|
||||
|
||||
-- 6. 最终验证
|
||||
SELECT
|
||||
'=== 最终验证 ===' as info;
|
||||
|
||||
SELECT
|
||||
'应该看到2条记录,status都是1(出诊)' as expected;
|
||||
|
||||
SELECT COUNT(*) as total_count,
|
||||
SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) as status_1_count
|
||||
FROM zyt_doctor_roster
|
||||
WHERE doctor_id = 4
|
||||
AND date = '2026-03-04';
|
||||
Reference in New Issue
Block a user