Files
2025-12-25 18:01:27 +08:00

67 lines
2.0 KiB
Markdown

# 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批量处理脚本
```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**: 根据用户需求简化其他业务处理,删除心理健康、学生活动、实习等非核心业务
- **后续更新**: 如需要其他业务处理,可根据实际业务需求重新添加