提交
This commit is contained in:
1 parent
78921476c3
commit
33d75d6d1b
35 files changed
+21240
No files matched your search
@@ -0,0 +1,60 @@
|
||||
-- 用途:
|
||||
-- 1) 清空所有学生的住宿信息
|
||||
-- 2) 将学籍状态为“在读(student_status=1)”的学生统一标记为“申请床位(is_boarder=1)”
|
||||
--
|
||||
-- 依据代码:
|
||||
-- - 批量申请床位逻辑:xg_student_msg.is_boarder = 1
|
||||
-- - 学籍状态在读:xg_student_msg.student_status = '1'
|
||||
--
|
||||
-- 执行前建议:
|
||||
-- - 先在测试环境验证
|
||||
-- - 如需限制租户,可在每条SQL追加: AND tenant_id = 0
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
-- =========================
|
||||
-- Step 1: 删除/清空住宿信息
|
||||
-- =========================
|
||||
|
||||
-- 1.1 清空学生表中的住宿字段,同时重置是否住校
|
||||
UPDATE xg_student_msg
|
||||
SET
|
||||
dormitory_building = NULL,
|
||||
dormitory_room = NULL,
|
||||
ext_field1 = NULL, -- 床位ID
|
||||
is_boarder = 0,
|
||||
update_time = NOW()
|
||||
WHERE deleted = 0;
|
||||
|
||||
-- 1.2 逻辑删除床位-学生分配关系(相当于删除住宿分配记录)
|
||||
UPDATE xg_dorm_bed_student
|
||||
SET
|
||||
deleted = '1',
|
||||
update_time = NOW()
|
||||
WHERE deleted = '0';
|
||||
|
||||
-- 1.3 重置床位状态为空闲
|
||||
UPDATE xg_dorm_bed
|
||||
SET
|
||||
bed_status = '0',
|
||||
update_time = NOW()
|
||||
WHERE deleted = '0';
|
||||
|
||||
-- =========================
|
||||
-- Step 2: 在读学生统一申请床位
|
||||
-- =========================
|
||||
|
||||
-- 系统“批量申请床位”对应逻辑:仅更新 is_boarder = 1
|
||||
UPDATE xg_student_msg
|
||||
SET
|
||||
is_boarder = 1,
|
||||
update_time = NOW()
|
||||
WHERE deleted = 0
|
||||
AND student_status = '1';
|
||||
|
||||
COMMIT;
|
||||
|
||||
-- 可选核对SQL(执行后可单独运行)
|
||||
-- SELECT COUNT(1) AS boarding_apply_count FROM xg_student_msg WHERE deleted = 0 AND student_status = '1' AND is_boarder = 1;
|
||||
-- SELECT COUNT(1) AS active_bed_rel_count FROM xg_dorm_bed_student WHERE deleted = '0';
|
||||
-- SELECT COUNT(1) AS occupied_bed_count FROM xg_dorm_bed WHERE deleted = '0' AND bed_status = '1';
|
||||
Reference in new issue
Block a user