2.0 KiB
2.0 KiB
04-其他业务处理
📋 概述
本分文档详细说明学生退学、休学、毕业、复学处理中的其他业务模块处理内容,包括住宿管理和其他关联信息的变更逻辑。
🏠 住宿管理
1. 宿舍管理退宿处理
📊 数据库表结构
床位分配表 (xg_dorm_bed_student)
| 字段名 | 类型 | 说明 | 默认值 |
|---|---|---|---|
id |
bigint(20) | 主键ID | - |
student_id |
bigint(20) | 学生ID | - |
bed_id |
bigint(20) | 床位ID | - |
status |
varchar(10) | 状态(0正常 1已退宿) | - |
checkout_time |
datetime | 退宿时间 | NULL |
🔄 宿舍退宿业务流程
💾 SQL批量处理脚本
-- 参数说明:
-- @student_id: 学生ID
-- @change_type: 变更类型 (XIU_XUE-休学, TUI_XUE-退学, FU_XUE-复学, BI_YE-毕业)
-- @operator_id: 操作员ID
-- 1. 备份原始数据到his表
INSERT INTO xg_dorm_bed_student_his SELECT * FROM xg_dorm_bed_student WHERE student_id = @student_id;
-- 2. 清空学生信息表的住宿信息
UPDATE xg_student_msg SET
dormitory_building = NULL,
dormitory_room = NULL,
ext_field1 = NULL,
update_time = NOW(),
update_by = @operator_id
WHERE id = @student_id;
-- 3. 处理宿舍住宿关系(退学、毕业时退宿)
UPDATE xg_dorm_bed_student
SET status = '1',
checkout_time = NOW(),
update_time = NOW(),
update_by = @operator_id
WHERE student_id = @student_id
AND status = '0' -- 当前在住
AND deleted = '0'
AND @change_type IN ('TUI_XUE', 'BI_YE');
-- 4. 释放床位资源
UPDATE xg_dorm_bed SET bed_status = '0'
WHERE id IN (
SELECT bed_id FROM xg_dorm_bed_student
WHERE student_id = @student_id AND status = '1' AND deleted = '0'
) AND deleted = '0';
📅 更新记录
- 2025-12-XX: 根据用户需求简化其他业务处理,删除心理健康、学生活动、实习等非核心业务
- 后续更新: 如需要其他业务处理,可根据实际业务需求重新添加