Files

班主任考核管理数据库设计说明

📋 文档说明

版本: v1.0.0
制定时间: 2025-01-08
模块: 学工管理-班主任考核管理 (bmzr_)
数据库: MySQL 5.7.36+


🎯 设计概述

班主任考核管理系统支持多维度、多层级的班主任工作考核评价,实现了考核方案管理、指标体系设计、多角色评价、问卷调查、审批流程等完整功能,为学校班主任管理提供数据化支撑。

核心功能

  • 考核方案管理: 支持多类型考核方案设计和版本管理
  • 指标体系管理: 多级指标体系构建,支持权重配置和授权评价
  • 多角色评价: 自评、同行评、学生评、上级评四个维度
  • 问卷调查: 学生对班主任工作满意度调查
  • 自动计算: 系统根据权重自动计算综合得分
  • 审批流程: 支持自评提交和最终结果的审批管理
  • 统计分析: 多维度数据统计和图表展示
  • 移动端支持: 全面支持移动端评价和查询

📊 表结构设计

1. 核心配置模块 (3张表)

1.1 bmzr_assessment_scheme - 班主任考核方案表

功能: 管理考核方案的基本信息和配置规则 关键字段:

  • scheme_type: 方案类型(annual=年度 semester=学期 monthly=月度 special=专项)
  • *_evaluation_required: 各类评价是否必需(自评、同行评、学生评、上级评)
  • auto_calculation: 是否自动计算得分
  • publish_results: 是否公布考核结果

1.2 bmzr_assessment_indicator - 班主任考核指标体系表

功能: 定义多级指标体系和评价标准 关键字段:

  • indicator_type: 指标类型(班级管理、学生教育、学业指导等)
  • parent_id: 父级指标ID,支持多级树形结构
  • weight_ratio: 权重比例配置
  • authorized_evaluators: 授权评价人群(JSON格式)
  • allow_*_evaluation: 各类评价权限控制
  • evaluation_criteria: 评价标准和方法

1.3 bmzr_assessment_scheme_indicator - 班主任考核方案指标关联表

功能: 关联考核方案和指标体系,支持个性化权重 关键字段:

  • scheme_id: 考核方案ID
  • indicator_id: 考核指标ID
  • weight_ratio: 在方案中的权重比例
  • custom_max_score/custom_min_score: 自定义分值范围

2. 执行管理模块 (1张表)

2.1 bmzr_assessment_plan - 班主任考核计划表

功能: 管理具体的考核计划执行和时间安排 关键字段:

  • target_scope: 考核范围(JSON格式存储年级、学院、班级等)
  • participants: 参与人员信息(JSON格式)
  • *_assess_*_time: 各阶段评价时间窗口(自评、同行评、学生评、上级评)
  • completion_rate: 完成率统计
  • plan_status: 计划状态(1=待开始 2=进行中 3=已结束 4=已暂停)
  • auto_start/auto_end: 自动开始/结束控制

3. 评价数据模块 (4张表)

3.1 bmzr_assessment_score - 班主任考核得分表

功能: 存储各维度评分数据和最终得分计算 关键字段:

  • evaluated_user_id: 被评价班主任ID
  • self_*: 自评数据(分数、意见、附件、提交时间)
  • peer_*: 同行评数据(分数、意见、评价人数、提交时间)
  • student_*: 学生评数据(分数、意见、评价人数、提交时间)
  • superior_*: 上级评数据(分数、意见、评价人ID、提交时间)
  • final_score/weight_score: 最终得分和加权得分
  • score_calculation: 得分计算过程(JSON格式)
  • score_status: 评分状态流转

3.2 bmzr_assessment_survey - 班主任考核问卷调查表

功能: 管理学生对班主任的问卷调查数据 关键字段:

  • evaluated_user_id: 被评价班主任ID
  • evaluator_user_id: 评价学生ID
  • evaluator_class_*: 评价学生班级信息
  • survey_data: 问卷数据(JSON格式存储完整答案)
  • satisfaction_level: 满意度等级
  • suggestions: 意见建议
  • anonymous: 是否匿名评价

3.3 bmzr_assessment_evaluation - 班主任考核评价记录表

功能: 记录每一次具体的评价操作和数据 关键字段:

  • evaluator_type: 评价人类型(self/peer/student/superior)
  • evaluation_score: 评价分数
  • evaluation_comment: 评价意见
  • evaluation_level: 评价等级
  • weight_ratio/weight_score: 权重比例和加权得分
  • device_type: 设备类型(支持移动端统计)

3.4 bmzr_assessment_approval - 班主任考核审批表

功能: 管理考核过程中的审批流程 关键字段:

  • approval_type: 审批类型(self_submit=自评提交 final_result=最终结果)
  • current_step/total_steps: 当前步骤和总步骤
  • approval_status: 审批状态(1=待审批 2=审批中 3=审批通过 4=审批驳回)
  • approval_flow: 审批流程(JSON格式存储完整流程)
  • timeout_hours: 超时控制
  • reminder_count: 提醒次数统计

🔑 关键特性

数据库规范遵循

  • ✅ 雪花ID主键: 所有表使用bigint(20)主键
  • ✅ 多租户支持: tenant_id字段实现数据隔离
  • ✅ 逻辑删除: deleted字段,禁止物理删除
  • ✅ 审计追踪: 完整的创建和更新信息记录
  • ✅ MySQL优化: 合理的索引设计和数据类型选择

业务特性

  • 🌳 多级指标体系: 支持无限级指标树形结构
  • 🎯 权重配置: 灵活的权重分配和自定义分值
  • 👥 多角色评价: 自评、同行评、学生评、上级评四个维度
  • 📊 自动计算: 系统根据权重自动计算综合得分
  • 🔄 状态流转: 完整的评分状态和审批状态管理
  • 📱 移动端支持: 全面支持移动端评价和查询
  • 🔍 授权控制: 指标级别的评价授权管理
  • 📈 统计分析: 支持多维度数据统计和图表展示

🔗 关联关系

主要外键关联

bmzr_assessment_scheme_indicator
├── scheme_id → bmzr_assessment_scheme.id
└── indicator_id → bmzr_assessment_indicator.id

bmzr_assessment_plan
└── scheme_id → bmzr_assessment_scheme.id

bmzr_assessment_score
├── plan_id → bmzr_assessment_plan.id
├── scheme_id → bmzr_assessment_scheme.id
└── indicator_id → bmzr_assessment_indicator.id

bmzr_assessment_survey
└── plan_id → bmzr_assessment_plan.id

bmzr_assessment_evaluation
├── plan_id → bmzr_assessment_plan.id
├── scheme_id → bmzr_assessment_scheme.id
└── indicator_id → bmzr_assessment_indicator.id

bmzr_assessment_approval
└── plan_id → bmzr_assessment_plan.id

业务关联逻辑

考核方案 → 指标体系关联 → 考核计划 → 多维度评价 → 得分汇总 → 审批确认
    ↓           ↓           ↓           ↓           ↓           ↓
方案配置   →  权重设置   →  执行计划   →  评价记录   →  自动计算   →  结果发布

🎯 业务流程

1. 考核方案设计流程

1. 创建考核方案 → 设置基本信息和适用范围
2. 设计指标体系 → 构建多级指标树形结构
3. 关联方案指标 → 设置权重比例和评价权限
4. 方案审核发布 → 生效并可创建考核计划

2. 考核计划执行流程

1. 创建考核计划 → 选择方案和参与人员
2. 设置时间安排 → 配置各阶段评价时间窗口
3. 启动考核计划 → 自动或手动开始考核
4. 多维度评价 → 按时间顺序进行各类评价
5. 自动计算得分 → 系统根据权重计算最终得分
6. 审批确认 → 审批最终结果并发布

3. 评价操作流程

班主任自评 → 同行评价 → 学生问卷调查 → 上级评价 → 系统汇总计算
    ↓           ↓           ↓               ↓           ↓
提交自评   →  互相评价   →  匿名问卷     →  领导评价   →  最终得分

📊 字典数据说明

主要字典类型

  • bmzr_scheme_type: 考核方案类型(年度/学期/月度/专项)
  • bmzr_indicator_type: 指标类型(班级管理/学生教育/学业指导等)
  • bmzr_evaluator_type: 评价人类型(自评/同行评/学生评/上级评)
  • bmzr_approval_status: 审批状态(待审批/审批中/审批通过/审批驳回)
  • bmzr_plan_status: 计划状态(待开始/进行中/已结束/已暂停)
  • bmzr_score_status: 评分状态(待自评/待同行评/待学生评/待上级评/已完成)
  • bmzr_evaluation_level: 评价等级(优秀/良好/合格/基本合格/不合格)
  • bmzr_satisfaction_level: 满意度等级(非常满意/比较满意/一般/不太满意/非常不满意)
  • bmzr_semester: 学期(上学期/下学期)
  • bmzr_device_type: 设备类型(PC/Mobile/Tablet/WeChat)

📁 文件清单

SQL文件

docs/设计文档/database/班主任考核管理/
├── bmzr_assessment_tables.sql        # 表结构定义(8张表)
├── bmzr_dict_data_mysql.sql          # 字典数据(MySQL版)
└── README.md                          # 本说明文档

执行顺序

  1. 表结构创建: 先执行bmzr_assessment_tables.sql
  2. 字典数据导入: 再执行bmzr_dict_data_mysql.sql

🚀 使用指南

1. 数据库初始化

-- 1. 创建表结构
SOURCE bmzr_assessment_tables.sql;

-- 2. 导入字典数据
SOURCE bmzr_dict_data_mysql.sql;

2. 基本数据准备

  1. 设计指标体系: 在bmzr_assessment_indicator表中创建多级指标结构
  2. 创建考核方案: 在bmzr_assessment_scheme表中定义方案基本信息
  3. 关联方案指标: 在bmzr_assessment_scheme_indicator表中建立关联并设置权重
  4. 配置评价权限: 在指标表中设置authorized_evaluators字段

3. 考核流程操作

  1. 创建考核计划: 选择方案、设置时间、确定参与人员
  2. 启动考核: 手动或自动开始考核计划
  3. 多维度评价: 按时间顺序完成各类评价
  4. 系统计算: 自动计算加权得分和等级
  5. 审批发布: 审批确认后发布最终结果

4. 移动端支持

  • 支持班主任移动端自评和查询历史结果
  • 支持学生移动端问卷调查和满意度评价
  • 支持同行和上级移动端评价操作
  • 所有操作都会记录设备类型便于统计分析

5. 数据统计分析

  • 支持按时间、部门、班级等维度进行统计
  • 支持评价结果的明细查询和汇总统计
  • 支持图形化展示和数据导出
  • 支持评价过程的进度跟踪和完成率统计

6. 注意事项

  • 指标体系支持多级结构,建议不超过4级
  • 权重设置需确保同级指标权重之和为1
  • 时间窗口设置需合理,避免时间冲突
  • 问卷数据以JSON格式存储,便于灵活扩展
  • 审批流程支持多步骤,可根据需要配置

📞 技术支持

如有问题请参考:

  • 数据库设计规范: docs/设计文档/database/mysql-database-standard.md
  • 后端开发规范: .cursor/cursorrules-backend.md
  • API开发规范: docs/开发文档/API/

最后更新: 2025-01-08