学生退学休学毕业处理清单.md 6.0 KB

学生退学、休学、毕业处理总览

📋 概述

本文档基于校园管理系统(hzdyjs_xg)的数据库表结构和业务逻辑分析,总结了学生退学、休学、毕业时需要处理的业务模块和数据变更。

本文档采用模块化组织方式,将详细的处理内容拆分到各个分文档中,便于查阅和维护。

📚 文档结构

📋 核心指导文档

🛠️ 实施文档

🔍 业务逻辑分析

通过分析数据库表结构、外键关系、字段定义和索引设计,可以推断出以下业务规则:

核心业务特征

  1. 工作流驱动: 大部分业务模块都涉及审批流程(奖学金、勤工俭学、宿舍等)
  2. 批次管理: 奖学金等业务按批次进行管理
  3. 状态流转: 各业务模块有明确的生命周期状态
  4. 关联处理: 学生状态变更需要联动处理多个相关业务
  5. 数据完整性: 通过外键约束确保数据一致性

处理原则

  • 状态一致性: 确保学生状态变更后,各业务模块状态保持逻辑一致
  • 流程终止: 终止进行中的审批流程,避免业务悬空
  • 数据追溯: 保留历史记录,便于审计和分析
  • 业务连续性: 考虑不同状态变更类型的差异化处理

🎯 处理流程概览

学生退学、休学、毕业处理涉及多个业务模块的联动更新,具体处理内容请参考各分文档:

📋 处理步骤

  1. 确定变更类型: 休学(XIU_XUE)/退学(TUI_XUE)/复学(FU_XUE)/毕业(BI_YE)
  2. 创建状态变更记录: 插入 xg_student_status_change 表记录
  3. 备份原始数据: 将相关表数据备份到对应的his表
  4. 核心状态修改: 更新 xg_student_msg.student_status 和 sys_user.status
  5. 组织关系处理: 处理班级干部、社团成员等关系变更(仅退学、休学、毕业时)
  6. 住宿管理处理: 处理宿舍退宿(仅退学、毕业时)
  7. 更新处理状态: 将 xg_student_status_change.process_status 设为1
  8. 数据验证: 确保所有相关数据已正确处理

🔄 状态映射关系

  • 休学: student_status='2',sys_user.status='1',终止组织关系
  • 退学: student_status='4',sys_user.status='1',终止组织关系和住宿
  • 复学: student_status='3',sys_user.status='0',恢复账号
  • 毕业: student_status='5',sys_user.status='1',终止组织关系和住宿

🏗️ 技术架构

基于代码分析,主要涉及以下技术组件:

  • 核心实体:
    • XgStudentMsg: 学生基本信息实体
    • XgStudentStatusChange: 学生状态变更记录实体
    • XgClassPosMsg: 班级干部信息实体
    • ClubMember: 社团成员关系实体
    • StglMember: 志愿者成员关系实体
    • XgDormBedStudent: 宿舍床位分配实体
  • 业务服务:
    • XgStudentStatusChangeServiceImpl: 学生状态变更服务
    • XgClassPosMsgServiceImpl: 班级干部管理服务
    • XgDormBedStudentServiceImpl: 宿舍管理服务
  • 数据访问: MyBatis-Plus Mapper接口和XML配置
  • 事务管理: Spring @Transactional 声明式事务
  • 状态机: 通过状态字段值变化实现业务状态流转
  • his表备份: 所有数据修改前自动备份到历史表

🎯 业务处理策略

  • ✅ 核心状态: 必须修改(学籍状态+用户账号状态)
  • ✅ his表备份: 所有修改前备份原始数据
  • ✅ 组织关系: 退学、休学、毕业时解除干部和社团关系
  • ✅ 住宿管理: 退学、毕业时处理退宿
  • ✅ 复学处理: 仅涉及核心状态恢复

📊 数据库表统计

涉及的数据库表总数:8个核心表

模块 涉及表数量 重要程度 核心表名
核心状态管理 3 ⭐⭐⭐⭐⭐ xg_student_msg, sys_user, xg_student_status_change
组织关系 3 ⭐⭐⭐⭐⭐ xg_class_pos_msg, club_member, stgl_member
住宿管理 2 ⭐⭐⭐⭐⭐ xg_dorm_bed_student, xg_dorm_bed
his表备份 8 ⭐⭐⭐⭐⭐ 各主表对应的his表

⚠️ 重要注意事项

  1. 数据备份: 操作前务必备份相关数据
  2. 事务处理: 建议使用数据库事务确保数据一致性
  3. 权限控制: 确保操作人员具有相应权限
  4. 日志记录: 记录所有操作日志便于审计
  5. 业务沟通: 与相关部门沟通确认处理方案

🔄 系统集成考虑

  • 审批流程: 终止相关工作流
  • 权限清理: 清理角色权限
  • 数据同步: 确保各模块一致性
  • 业务连续性: 避免遗留问题

📚 快速开始

💡 使用指南

  1. 确定变更类型: 根据具体业务场景选择休学/退学/毕业
  2. 查阅分文档: 根据需要处理的业务模块查阅相应分文档
  3. 执行处理: 按分文档中的SQL脚本或业务逻辑进行处理
  4. 验证结果: 使用提供的验证脚本确认处理结果
  5. 记录日志: 确保所有操作都有完整的审计记录

📅 更新记录

  • 2025-01-XX: 初稿完成
  • 2025-01-XX: 添加完整SQL处理脚本
  • 2025-12-XX: 文档模块化拆分,将详细内容分离到分文档中
  • 后续更新: 根据实际业务需求持续完善

本文档基于hzdyjs_xg校园管理系统数据库结构分析整理,采用模块化组织方式,详细处理内容请参考各分文档。