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