6.5 KiB
6.5 KiB
学生退学、休学、毕业处理总览
📋 概述
本文档基于校园管理系统(hzdyjs_xg)的数据库表结构和业务逻辑分析,总结了学生退学、休学、毕业时需要处理的业务模块和数据变更。
本文档采用模块化组织方式,将详细的处理内容拆分到各个分文档中,便于查阅和维护。
📚 文档结构
📋 核心指导文档
- 01-核心状态修改.md - 学生学籍状态、用户登录状态
- 02-组织关系处理.md - 班级干部信息、社团成员关系
- 03-经济资助处理.md - 奖学金申请、获奖记录、勤工俭学、贫困生认定
- 04-其他业务处理.md - 住宿管理、心理健康、学生活动、志愿者、实习等
🛠️ 实施文档
- 06-完整SQL脚本.md - 完整的数据库处理脚本和事务管理
- 07-快速执行脚本.md - 快速执行的简化脚本和批量处理
🔍 业务逻辑分析
通过分析数据库表结构、外键关系、字段定义和索引设计,可以推断出以下业务规则:
核心业务特征
- 工作流驱动: 大部分业务模块都涉及审批流程(奖学金、勤工俭学、宿舍等)
- 批次管理: 奖学金等业务按批次进行管理
- 状态流转: 各业务模块有明确的生命周期状态
- 关联处理: 学生状态变更需要联动处理多个相关业务
- 数据完整性: 通过外键约束确保数据一致性
处理原则
- 状态一致性: 确保学生状态变更后,各业务模块状态保持逻辑一致
- 流程终止: 终止进行中的审批流程,避免业务悬空
- 数据追溯: 保留历史记录,便于审计和分析
- 业务连续性: 考虑不同状态变更类型的差异化处理
🎯 处理流程概览
学生退学、休学、毕业处理涉及多个业务模块的联动更新,具体处理内容请参考各分文档:
📋 处理步骤
- 确定变更类型: 休学(TUI_XUE)/退学(XIU_XUE)/复学(FU_XUE)/毕业(BI_YE)
- 创建状态变更记录: 插入
xg_student_status_change表记录 - 核心状态修改: 更新
xg_student_msg.student_status和sys_user.status - 组织关系处理: 处理班级干部、社团成员等关系变更
- 经济资助处理: 处理奖学金、勤工俭学、贫困生认定等业务
- 其他业务处理: 处理宿舍、心理咨询、学生活动、实习等
- 更新处理状态: 将
xg_student_status_change.process_status设为1 - 数据验证: 确保所有相关数据已正确处理
🔄 状态映射关系
- 休学:
student_status='2',sys_user.status保持不变,可恢复业务 - 退学:
student_status='4',sys_user.status='1',终止所有业务 - 毕业:
student_status='5',sys_user.status='1',归档处理
🏗️ 技术架构
基于代码分析,主要涉及以下技术组件:
- 核心实体:
XgStudentMsg: 学生基本信息实体XgStudentStatusChange: 学生状态变更记录实体XgClassPosMsg: 班级干部信息实体StglMember: 社团成员关系实体JcbtScholarshipApplication: 奖学金申请实体JcbtWorkStudyApplication: 勤工俭学申请实体JcbtPovertyApplication: 贫困生认定申请实体
- 业务服务:
XgStudentStatusChangeServiceImpl: 学生状态变更服务XgClassPosMsgServiceImpl: 班级干部管理服务XljkConsultationAppointmentServiceImpl: 心理咨询预约服务JcbtScholarshipApplicationServiceImpl: 奖学金申请服务
- 数据访问: MyBatis-Plus Mapper接口和XML配置
- 事务管理: Spring
@Transactional声明式事务 - 状态机: 通过状态字段值变化实现业务状态流转
- 工作流引擎: Warm-Flow工作流框架处理复杂审批流程
🎯 业务处理策略
- ✅ 核心状态: 必须修改
- ✅ 进行中流程: 全部终止
- ✅ 组织关系: 全部解除
- ✅ 历史记录: 保留(奖惩、考核由班主任管理)
- ✅ 关联业务: 视具体情况终止
📊 数据库表统计
涉及的数据库表总数:25个核心表
| 模块 | 涉及表数量 | 重要程度 | 核心表名 |
|---|---|---|---|
| 核心状态管理 | 3 | ⭐⭐⭐⭐⭐ | xg_student_msg, sys_user, xg_student_status_change |
| 组织关系 | 2 | ⭐⭐⭐⭐⭐ | xg_class_pos_msg, stgl_member |
| 经济资助 | 4 | ⭐⭐⭐⭐ | jcbt_scholarship_application, jcbt_scholarship_award, jcbt_work_study_application, jcbt_poverty_application |
| 住宿管理 | 3 | ⭐⭐⭐⭐⭐ | xg_dorm_bed_student, xg_dorm_application, xg_dorm_hygiene_student_score |
| 心理健康 | 4 | ⭐⭐⭐⭐ | xljk_consultation_appointment, xljk_consultation_record, xljk_consultation_no_show, xljk_evaluation_detail |
| 实践活动 | 4 | ⭐⭐⭐⭐ | stgl_activity_registration, stgl_volunteer_team, zsjy_internship_info, xg_student_leave |
| 其他信息 | 5 | ⭐⭐⭐ | xg_dorm_violation, sys_oper_log, sys_dict_data, sys_dict_type, flow_instance |
⚠️ 重要注意事项
- 数据备份: 操作前务必备份相关数据
- 事务处理: 建议使用数据库事务确保数据一致性
- 权限控制: 确保操作人员具有相应权限
- 日志记录: 记录所有操作日志便于审计
- 业务沟通: 与相关部门沟通确认处理方案
🔄 系统集成考虑
- 审批流程: 终止相关工作流
- 权限清理: 清理角色权限
- 数据同步: 确保各模块一致性
- 业务连续性: 避免遗留问题
📚 快速开始
💡 使用指南
- 确定变更类型: 根据具体业务场景选择休学/退学/毕业
- 查阅分文档: 根据需要处理的业务模块查阅相应分文档
- 执行处理: 按分文档中的SQL脚本或业务逻辑进行处理
- 验证结果: 使用提供的验证脚本确认处理结果
- 记录日志: 确保所有操作都有完整的审计记录
📅 更新记录
- 2025-01-XX: 初稿完成
- 2025-01-XX: 添加完整SQL处理脚本
- 2025-12-XX: 文档模块化拆分,将详细内容分离到分文档中
- 后续更新: 根据实际业务需求持续完善
本文档基于hzdyjs_xg校园管理系统数据库结构分析整理,采用模块化组织方式,详细处理内容请参考各分文档。