Merge branch 'master' of http://47.99.164.66:3000/hzdyjs-xg/all-project
This commit is contained in:
commit
b7122b6b67
112 files changed
+16924
-39
No files matched your search
@@ -0,0 +1,312 @@
|
||||
# 班主任考核方案管理API文档
|
||||
|
||||
## 📋 基本信息
|
||||
|
||||
- **模块名称**: 班主任考核方案管理
|
||||
- **模块编码**: bzrkh-assessment-scheme
|
||||
- **API前缀**: `/bzrkh/assessmentScheme`
|
||||
- **创建时间**: 2025-01-08
|
||||
- **文档版本**: V1.0.0
|
||||
|
||||
## 🔐 权限配置
|
||||
|
||||
### 权限字符列表
|
||||
| 权限字符 | 权限名称 | 说明 |
|
||||
|---------|---------|------|
|
||||
| `bzrkh:assessmentScheme:list` | 考核方案列表查询权限 | 查看考核方案列表 |
|
||||
| `bzrkh:assessmentScheme:query` | 考核方案详情查询权限 | 查看考核方案详情 |
|
||||
| `bzrkh:assessmentScheme:add` | 考核方案新增权限 | 创建新的考核方案 |
|
||||
| `bzrkh:assessmentScheme:edit` | 考核方案修改权限 | 编辑考核方案信息 |
|
||||
| `bzrkh:assessmentScheme:remove` | 考核方案删除权限 | 删除考核方案 |
|
||||
| `bzrkh:assessmentScheme:export` | 考核方案导出权限 | 导出考核方案数据 |
|
||||
|
||||
### 菜单配置
|
||||
- **父级菜单**: 班主任考核管理
|
||||
- **菜单路径**: `/bzrkh/assessmentScheme`
|
||||
- **组件路径**: `bzrkh/assessmentScheme/index`
|
||||
- **菜单图标**: `clipboard`
|
||||
|
||||
## 📊 数据字典
|
||||
|
||||
### 学期字典
|
||||
| 字典值 | 字典标签 | 说明 |
|
||||
|-------|---------|------|
|
||||
| `1` | 上学期 | 学年上学期 |
|
||||
| `2` | 下学期 | 学年下学期 |
|
||||
|
||||
### 是否字典 (sys_yes_no)
|
||||
| 字典值 | 字典标签 | 说明 |
|
||||
|-------|---------|------|
|
||||
| `0` | 否 | 不需要 |
|
||||
| `1` | 是 | 需要 |
|
||||
|
||||
### 状态字典 (sys_normal_disable)
|
||||
| 字典值 | 字典标签 | 说明 |
|
||||
|-------|---------|------|
|
||||
| `0` | 正常 | 启用状态 |
|
||||
| `1` | 停用 | 禁用状态 |
|
||||
|
||||
## 🗄️ 数据模型
|
||||
|
||||
### 考核方案实体 (BmzrAssessmentScheme)
|
||||
|
||||
| 字段名 | 类型 | 长度 | 必填 | 说明 |
|
||||
|-------|------|------|------|------|
|
||||
| id | bigint | 20 | ✅ | 主键ID |
|
||||
| tenant_id | varchar | 20 | ✅ | 租户编号 |
|
||||
| scheme_name | varchar | 100 | ✅ | 方案名称 |
|
||||
| scheme_code | varchar | 50 | ✅ | 方案编码 |
|
||||
| academic_year | varchar | 10 | ✅ | 学年 |
|
||||
| semester | char | 1 | ✅ | 学期(1=上学期 2=下学期) |
|
||||
| scheme_description | text | - | ❌ | 方案描述 |
|
||||
| self_evaluation_required | char | 1 | ✅ | 是否需要自评(0=否 1=是) |
|
||||
| superior_evaluation_required | char | 1 | ✅ | 是否需要上级评(0=否 1=是) |
|
||||
| status | char | 1 | ✅ | 状态(0正常 1停用) |
|
||||
| remark | varchar | 500 | ❌ | 备注 |
|
||||
| create_dept | bigint | 20 | ❌ | 创建部门 |
|
||||
| create_by | bigint | 20 | ❌ | 创建者 |
|
||||
| create_time | datetime | - | ❌ | 创建时间 |
|
||||
| update_by | bigint | 20 | ❌ | 更新者 |
|
||||
| update_time | datetime | - | ❌ | 更新时间 |
|
||||
| deleted | int | 1 | ✅ | 删除标志(0代表存在 1代表删除) |
|
||||
|
||||
## 🔌 API接口列表
|
||||
|
||||
### 1. 查询考核方案列表
|
||||
|
||||
**接口地址**: `GET /bzrkh/assessmentScheme/list`
|
||||
|
||||
**权限要求**: `bzrkh:assessmentScheme:list`
|
||||
|
||||
**请求参数**:
|
||||
```typescript
|
||||
interface BmzrAssessmentSchemeQuery extends PageQuery {
|
||||
schemeName?: string; // 方案名称(模糊查询)
|
||||
schemeCode?: string; // 方案编码(精确查询)
|
||||
academicYear?: string; // 学年(精确查询)
|
||||
semester?: string; // 学期(精确查询)
|
||||
status?: string; // 状态(精确查询)
|
||||
selfEvaluationRequired?: string; // 是否需要自评
|
||||
superiorEvaluationRequired?: string; // 是否需要上级评
|
||||
}
|
||||
```
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"rows": [
|
||||
{
|
||||
"id": 1744234567890123456,
|
||||
"tenantId": "000000",
|
||||
"schemeName": "2024-2025学年上学期班主任考核方案",
|
||||
"schemeCode": "BMZR_2024_1",
|
||||
"academicYear": "2024-2025",
|
||||
"semester": "1",
|
||||
"schemeDescription": "2024-2025学年上学期班主任考核方案",
|
||||
"selfEvaluationRequired": "1",
|
||||
"superiorEvaluationRequired": "1",
|
||||
"status": "0",
|
||||
"remark": "",
|
||||
"createTime": "2025-01-08 10:00:00",
|
||||
"updateTime": "2025-01-08 10:00:00"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 查询考核方案详情
|
||||
|
||||
**接口地址**: `GET /bzrkh/assessmentScheme/{id}`
|
||||
|
||||
**权限要求**: `bzrkh:assessmentScheme:query`
|
||||
|
||||
**路径参数**:
|
||||
- `id`: 考核方案ID (必填)
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": {
|
||||
"id": 1744234567890123456,
|
||||
"tenantId": "000000",
|
||||
"schemeName": "2024-2025学年上学期班主任考核方案",
|
||||
"schemeCode": "BMZR_2024_1",
|
||||
"academicYear": "2024-2025",
|
||||
"semester": "1",
|
||||
"schemeDescription": "2024-2025学年上学期班主任考核方案",
|
||||
"selfEvaluationRequired": "1",
|
||||
"superiorEvaluationRequired": "1",
|
||||
"status": "0",
|
||||
"remark": "",
|
||||
"createTime": "2025-01-08 10:00:00",
|
||||
"updateTime": "2025-01-08 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3. 新增考核方案
|
||||
|
||||
**接口地址**: `POST /bzrkh/assessmentScheme`
|
||||
|
||||
**权限要求**: `bzrkh:assessmentScheme:add`
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"schemeName": "2024-2025学年上学期班主任考核方案",
|
||||
"schemeCode": "BMZR_2024_1",
|
||||
"academicYear": "2024-2025",
|
||||
"semester": "1",
|
||||
"schemeDescription": "2024-2025学年上学期班主任考核方案详细描述",
|
||||
"selfEvaluationRequired": "1",
|
||||
"superiorEvaluationRequired": "1",
|
||||
"status": "0",
|
||||
"remark": "备注信息"
|
||||
}
|
||||
```
|
||||
|
||||
**校验规则**:
|
||||
- `schemeName`: 必填,方案名称不能为空
|
||||
- `schemeCode`: 必填,方案编码不能为空,且在同租户下唯一
|
||||
- `academicYear`: 必填,学年不能为空
|
||||
- `semester`: 必填,学期不能为空,值为 1 或 2
|
||||
- `selfEvaluationRequired`: 必填,是否需要自评,值为 0 或 1
|
||||
- `superiorEvaluationRequired`: 必填,是否需要上级评,值为 0 或 1
|
||||
- `status`: 必填,状态不能为空,值为 0 或 1
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 4. 修改考核方案
|
||||
|
||||
**接口地址**: `PUT /bzrkh/assessmentScheme`
|
||||
|
||||
**权限要求**: `bzrkh:assessmentScheme:edit`
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"id": 1744234567890123456,
|
||||
"schemeName": "2024-2025学年上学期班主任考核方案(修改)",
|
||||
"schemeCode": "BMZR_2024_1",
|
||||
"academicYear": "2024-2025",
|
||||
"semester": "1",
|
||||
"schemeDescription": "修改后的方案描述",
|
||||
"selfEvaluationRequired": "1",
|
||||
"superiorEvaluationRequired": "1",
|
||||
"status": "0",
|
||||
"remark": "修改备注"
|
||||
}
|
||||
```
|
||||
|
||||
**校验规则**: 与新增接口相同,额外需要 `id` 字段
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 5. 删除考核方案
|
||||
|
||||
**接口地址**: `DELETE /bzrkh/assessmentScheme/{ids}`
|
||||
|
||||
**权限要求**: `bzrkh:assessmentScheme:remove`
|
||||
|
||||
**路径参数**:
|
||||
- `ids`: 考核方案ID数组,多个ID用逗号分隔
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 6. 导出考核方案
|
||||
|
||||
**接口地址**: `POST /bzrkh/assessmentScheme/export`
|
||||
|
||||
**权限要求**: `bzrkh:assessmentScheme:export`
|
||||
|
||||
**请求体**: 与查询列表接口参数相同
|
||||
|
||||
**响应**: Excel文件下载
|
||||
|
||||
## 🎯 业务规则
|
||||
|
||||
### 数据唯一性约束
|
||||
1. 同一租户下,`schemeCode`(方案编码)必须唯一
|
||||
2. 建议同一租户、学年、学期下只有一个启用的考核方案
|
||||
|
||||
### 状态管理
|
||||
1. 新建方案默认状态为"正常"(0)
|
||||
2. 停用的方案不影响已关联的考核计划
|
||||
3. 删除方案时需要检查是否被考核计划引用
|
||||
|
||||
### 权限控制
|
||||
1. 普通用户只能查看考核方案
|
||||
2. 管理员可以进行增删改操作
|
||||
3. 超级管理员拥有所有权限
|
||||
|
||||
## 🔧 技术实现
|
||||
|
||||
### 后端技术栈
|
||||
- **框架**: Spring Boot 3.4.6
|
||||
- **数据库**: MySQL 8.0+
|
||||
- **ORM**: MyBatis-Plus
|
||||
- **权限**: Sa-Token
|
||||
|
||||
### 前端技术栈
|
||||
- **框架**: Vue 3.5.13 + TypeScript 5.8.3
|
||||
- **UI组件**: Element Plus
|
||||
- **HTTP客户端**: Axios
|
||||
|
||||
### 数据库表
|
||||
- **主表**: `bmzr_assessment_scheme` (班主任考核方案表)
|
||||
|
||||
## 🧪 测试用例
|
||||
|
||||
### 功能测试
|
||||
1. ✅ 考核方案列表查询(支持分页、筛选)
|
||||
2. ✅ 考核方案详情查询
|
||||
3. ✅ 考核方案新增(包含表单验证)
|
||||
4. ✅ 考核方案修改(包含表单验证)
|
||||
5. ✅ 考核方案删除(支持批量删除)
|
||||
6. ✅ 考核方案导出(Excel格式)
|
||||
|
||||
### 权限测试
|
||||
1. ✅ 无权限用户访问受限
|
||||
2. ✅ 不同角色权限差异化控制
|
||||
|
||||
### 数据验证测试
|
||||
1. ✅ 必填字段验证
|
||||
2. ✅ 数据格式验证
|
||||
3. ✅ 唯一性约束验证
|
||||
|
||||
## 📝 更新日志
|
||||
|
||||
### V1.0.0 (2025-01-08)
|
||||
- ✅ 基础CRUD功能实现
|
||||
- ✅ 权限配置完成
|
||||
- ✅ 前后端代码生成
|
||||
- ✅ API文档编写
|
||||
|
||||
## 🔗 相关文档
|
||||
|
||||
- **数据库设计**: `docs/设计文档/database/班主任考核管理/bmzr_assessment_tables.sql`
|
||||
- **字典配置**: `docs/设计文档/database/班主任考核管理/bmzr_dict_data_mysql.sql`
|
||||
- **权限配置**: `backend/ruoyi-modules/ruoyi-bzrkh/班主任考核方案权限配置.sql`
|
||||
@@ -0,0 +1,380 @@
|
||||
# 班主任考核计划管理API文档
|
||||
|
||||
## 概述
|
||||
|
||||
班主任考核计划管理模块用于管理班主任考核的各类计划,包括计划的创建、修改、删除、查询以及状态管理等功能。
|
||||
|
||||
## 基本信息
|
||||
|
||||
- **模块名称**: 班主任考核计划管理
|
||||
- **模块编码**: bzrkh
|
||||
- **API前缀**: `/bzrkh/assessmentPlan`
|
||||
- **创建时间**: 2025-01-08
|
||||
- **版本**: v1.0.0
|
||||
|
||||
## 权限配置
|
||||
|
||||
### 菜单权限配置
|
||||
|
||||
以下是班主任考核计划管理模块所需的权限配置SQL:
|
||||
|
||||
```sql
|
||||
-- ==========================================
|
||||
-- 班主任考核计划管理权限配置
|
||||
-- ==========================================
|
||||
|
||||
-- 删除已存在的菜单
|
||||
DELETE FROM sys_menu WHERE menu_name = '班主任考核计划管理' AND parent_id IN (
|
||||
SELECT id FROM (SELECT * FROM sys_menu) t WHERE t.menu_name = '班主任考核管理'
|
||||
);
|
||||
|
||||
-- 插入班主任考核计划管理菜单
|
||||
INSERT INTO sys_menu (tenant_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, remark)
|
||||
VALUES ('000000', '班主任考核计划管理',
|
||||
(SELECT id FROM (SELECT * FROM sys_menu) t WHERE t.menu_name = '班主任考核管理' LIMIT 1),
|
||||
3, 'assessmentPlan', 'bzrkh/assessmentPlan/index', '', 1, 0, 'C', '0', '0', 'bzrkh:assessmentPlan:list', 'fa fa-calendar-check-o', 103, 1, NOW(), '班主任考核计划管理菜单');
|
||||
|
||||
-- 获取刚插入的菜单ID
|
||||
SET @menu_id = LAST_INSERT_ID();
|
||||
|
||||
-- 插入按钮权限
|
||||
INSERT INTO sys_menu (tenant_id, menu_name, parent_id, order_num, path, component, query_param, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, remark) VALUES
|
||||
('000000', '班主任考核计划查询', @menu_id, 1, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentPlan:query', '#', 103, 1, NOW(), ''),
|
||||
('000000', '班主任考核计划新增', @menu_id, 2, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentPlan:add', '#', 103, 1, NOW(), ''),
|
||||
('000000', '班主任考核计划修改', @menu_id, 3, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentPlan:edit', '#', 103, 1, NOW(), ''),
|
||||
('000000', '班主任考核计划删除', @menu_id, 4, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentPlan:remove', '#', 103, 1, NOW(), ''),
|
||||
('000000', '班主任考核计划导出', @menu_id, 5, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentPlan:export', '#', 103, 1, NOW(), '');
|
||||
```
|
||||
|
||||
### 权限字符说明
|
||||
|
||||
| 权限字符 | 权限名称 | 说明 |
|
||||
|---------|---------|------|
|
||||
| `bzrkh:assessmentPlan:list` | 考核计划列表 | 查询考核计划列表的权限 |
|
||||
| `bzrkh:assessmentPlan:query` | 考核计划查询 | 查询单个考核计划详情的权限 |
|
||||
| `bzrkh:assessmentPlan:add` | 考核计划新增 | 新增考核计划的权限 |
|
||||
| `bzrkh:assessmentPlan:edit` | 考核计划修改 | 修改考核计划信息的权限 |
|
||||
| `bzrkh:assessmentPlan:remove` | 考核计划删除 | 删除考核计划的权限 |
|
||||
| `bzrkh:assessmentPlan:export` | 考核计划导出 | 导出考核计划数据的权限 |
|
||||
|
||||
## API接口列表
|
||||
|
||||
### 1. 查询考核计划列表
|
||||
|
||||
**接口地址**: `GET /bzrkh/assessmentPlan/list`
|
||||
|
||||
**接口描述**: 分页查询班主任考核计划列表
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:list`
|
||||
|
||||
**请求参数**:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| pageNum | integer | 否 | 页码,默认1 |
|
||||
| pageSize | integer | 否 | 每页数量,默认10 |
|
||||
| planName | string | 否 | 计划名称(模糊查询) |
|
||||
| planCode | string | 否 | 计划编码(精确查询) |
|
||||
| schemeId | integer | 否 | 考核方案ID |
|
||||
| academicYear | string | 否 | 学年(模糊查询) |
|
||||
| semester | string | 否 | 学期(1=上学期 2=下学期) |
|
||||
| planStatus | string | 否 | 计划状态(0=禁用 1=启用) |
|
||||
| beginCreateTime | string | 否 | 创建开始时间 |
|
||||
| endCreateTime | string | 否 | 创建结束时间 |
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"rows": [
|
||||
{
|
||||
"id": 1,
|
||||
"tenantId": "000000",
|
||||
"planName": "2024年上学期班主任考核计划",
|
||||
"planCode": "PLAN202401",
|
||||
"schemeId": 1,
|
||||
"schemeName": "标准考核方案",
|
||||
"academicYear": "2023-2024",
|
||||
"semester": "1",
|
||||
"planStartTime": "2024-01-01 00:00:00",
|
||||
"planEndTime": "2024-06-30 23:59:59",
|
||||
"dataExtractStartTime": "2024-01-01 00:00:00",
|
||||
"dataExtractEndTime": "2024-06-30 23:59:59",
|
||||
"planStatus": "1",
|
||||
"description": "2024年上学期班主任考核计划",
|
||||
"remark": "测试计划",
|
||||
"createTime": "2025-01-08 10:00:00"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 获取考核计划详情
|
||||
|
||||
**接口地址**: `GET /bzrkh/assessmentPlan/{id}`
|
||||
|
||||
**接口描述**: 根据ID获取班主任考核计划详细信息
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:query`
|
||||
|
||||
**路径参数**:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | integer | 是 | 考核计划ID |
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"tenantId": "000000",
|
||||
"planName": "2024年上学期班主任考核计划",
|
||||
"planCode": "PLAN202401",
|
||||
"schemeId": 1,
|
||||
"academicYear": "2023-2024",
|
||||
"semester": "1",
|
||||
"planStartTime": "2024-01-01 00:00:00",
|
||||
"planEndTime": "2024-06-30 23:59:59",
|
||||
"dataExtractStartTime": "2024-01-01 00:00:00",
|
||||
"dataExtractEndTime": "2024-06-30 23:59:59",
|
||||
"planStatus": "1",
|
||||
"description": "2024年上学期班主任考核计划",
|
||||
"remark": "测试计划",
|
||||
"createTime": "2025-01-08 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 3. 新增考核计划
|
||||
|
||||
**接口地址**: `POST /bzrkh/assessmentPlan`
|
||||
|
||||
**接口描述**: 新增班主任考核计划
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:add`
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"planName": "2024年下学期班主任考核计划",
|
||||
"planCode": "PLAN202402",
|
||||
"schemeId": 1,
|
||||
"academicYear": "2023-2024",
|
||||
"semester": "2",
|
||||
"planStartTime": "2024-07-01 00:00:00",
|
||||
"planEndTime": "2024-12-31 23:59:59",
|
||||
"dataExtractStartTime": "2024-07-01 00:00:00",
|
||||
"dataExtractEndTime": "2024-12-31 23:59:59",
|
||||
"planStatus": "1",
|
||||
"description": "2024年下学期班主任考核计划",
|
||||
"remark": "新学期计划"
|
||||
}
|
||||
```
|
||||
|
||||
**字段验证规则**:
|
||||
|
||||
| 字段名 | 验证规则 | 说明 |
|
||||
|--------|----------|------|
|
||||
| planName | 必填,长度不超过100 | 计划名称 |
|
||||
| planCode | 必填,长度不超过50 | 计划编码,系统内唯一 |
|
||||
| schemeId | 必填 | 考核方案ID |
|
||||
| academicYear | 必填,长度不超过10 | 学年 |
|
||||
| semester | 必填,只能是1或2 | 学期 |
|
||||
| planStartTime | 必填 | 计划开始时间 |
|
||||
| planEndTime | 必填 | 计划结束时间 |
|
||||
| planStatus | 只能是0或1 | 计划状态 |
|
||||
| description | 长度不超过500 | 计划描述 |
|
||||
| remark | 长度不超过500 | 备注 |
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 4. 修改考核计划
|
||||
|
||||
**接口地址**: `PUT /bzrkh/assessmentPlan`
|
||||
|
||||
**接口描述**: 修改班主任考核计划
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:edit`
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"planName": "2024年上学期班主任考核计划(修改)",
|
||||
"planCode": "PLAN202401",
|
||||
"schemeId": 1,
|
||||
"academicYear": "2023-2024",
|
||||
"semester": "1",
|
||||
"planStartTime": "2024-01-01 00:00:00",
|
||||
"planEndTime": "2024-06-30 23:59:59",
|
||||
"dataExtractStartTime": "2024-01-01 00:00:00",
|
||||
"dataExtractEndTime": "2024-06-30 23:59:59",
|
||||
"planStatus": "1",
|
||||
"description": "修改后的计划描述",
|
||||
"remark": "修改后的备注"
|
||||
}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 5. 删除考核计划
|
||||
|
||||
**接口地址**: `DELETE /bzrkh/assessmentPlan/{ids}`
|
||||
|
||||
**接口描述**: 批量删除班主任考核计划
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:remove`
|
||||
|
||||
**路径参数**:
|
||||
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| ids | string | 是 | 考核计划ID数组,多个用逗号分隔 |
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 6. 修改考核计划状态
|
||||
|
||||
**接口地址**: `PUT /bzrkh/assessmentPlan/changeStatus`
|
||||
|
||||
**接口描述**: 修改班主任考核计划的启用/禁用状态
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:edit`
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"planStatus": "0"
|
||||
}
|
||||
```
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 7. 导出考核计划
|
||||
|
||||
**接口地址**: `POST /bzrkh/assessmentPlan/export`
|
||||
|
||||
**接口描述**: 导出班主任考核计划数据
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:export`
|
||||
|
||||
**请求体**: 与查询列表接口相同的查询条件
|
||||
|
||||
**响应**: Excel文件下载
|
||||
|
||||
### 8. 获取可用考核方案选项
|
||||
|
||||
**接口地址**: `GET /bzrkh/assessmentPlan/schemes/options`
|
||||
|
||||
**接口描述**: 获取可用的考核方案选项列表
|
||||
|
||||
**权限要求**: `bzrkh:assessmentPlan:list`
|
||||
|
||||
**响应示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"schemeName": "标准考核方案",
|
||||
"schemeCode": "SCHEME001",
|
||||
"academicYear": "2023-2024",
|
||||
"semester": "1",
|
||||
"status": "0"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 错误码说明
|
||||
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
|--------|----------|------|
|
||||
| 400 | 计划编码已存在 | 计划编码在系统中已存在 |
|
||||
| 400 | 计划名称不能为空 | 必填字段校验失败 |
|
||||
| 400 | 学期只能是1或2 | 学期字段值不合法 |
|
||||
| 403 | 无访问权限 | 用户没有对应的操作权限 |
|
||||
| 404 | 数据不存在 | 指定的考核计划不存在 |
|
||||
|
||||
## 数据字典
|
||||
|
||||
### 学期字典 (sys_semester)
|
||||
|
||||
| 字典值 | 字典标签 | 说明 |
|
||||
|--------|----------|------|
|
||||
| 1 | 上学期 | 第一学期 |
|
||||
| 2 | 下学期 | 第二学期 |
|
||||
|
||||
### 计划状态字典 (plan_status)
|
||||
|
||||
| 字典值 | 字典标签 | 说明 |
|
||||
|--------|----------|------|
|
||||
| 0 | 禁用 | 禁用状态 |
|
||||
| 1 | 启用 | 启用状态 |
|
||||
|
||||
**注意**: 此模块使用自定义状态字典,与系统默认的 `sys_normal_disable` 字典定义相反,严格按照数据库字段设计:`plan_status` char(1) NOT NULL DEFAULT '1' COMMENT '计划状态(0=禁用 1=启用 )'
|
||||
|
||||
## 测试用例
|
||||
|
||||
### 1. 正常流程测试
|
||||
|
||||
1. 新增考核计划
|
||||
2. 查询考核计划列表
|
||||
3. 查看考核计划详情
|
||||
4. 修改考核计划信息
|
||||
5. 修改考核计划状态
|
||||
6. 导出考核计划数据
|
||||
7. 删除考核计划
|
||||
|
||||
### 2. 异常场景测试
|
||||
|
||||
1. 使用重复的计划编码新增计划
|
||||
2. 使用无效的学期值
|
||||
3. 删除不存在的计划
|
||||
4. 无权限用户访问接口
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 计划编码在租户内必须唯一
|
||||
2. 计划的开始时间不能大于结束时间
|
||||
3. 数据提取时间不能超出计划时间范围
|
||||
4. 删除计划前需要检查是否有关联的考核数据
|
||||
5. 状态为禁用的计划不能执行考核操作
|
||||
|
||||
## 版本更新记录
|
||||
|
||||
| 版本 | 更新时间 | 更新内容 |
|
||||
|------|----------|----------|
|
||||
| v1.0.0 | 2025-01-08 | 初始版本,实现基本的CRUD功能 |
|
||||
@@ -0,0 +1,288 @@
|
||||
# 班主任考核管理数据库设计说明
|
||||
|
||||
## 📋 文档说明
|
||||
|
||||
**版本**: 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. 数据库初始化
|
||||
```sql
|
||||
-- 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
|
||||
@@ -0,0 +1,206 @@
|
||||
-- ==========================================
|
||||
-- 班主任考核管理系统表结构(MySQL版)
|
||||
-- 版本:V1.0.0
|
||||
-- 功能:班主任考核管理相关表结构
|
||||
-- 作者:系统设计
|
||||
-- 时间:2025-01-08
|
||||
-- 模块:学工管理-班主任考核管理表结构
|
||||
-- ==========================================
|
||||
-- 创建指标类型表
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_indicator_type`;
|
||||
CREATE TABLE `bmzr_assessment_indicator_type` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`indicator_type_name` varchar(100) NOT NULL COMMENT '指标类型名称',
|
||||
`indicator_type_code` varchar(50) NOT NULL COMMENT '指标类型编码',
|
||||
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_indicator_type_code` (`tenant_id`, `indicator_type_code`),
|
||||
KEY `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标类型表';
|
||||
|
||||
-- ==========================================
|
||||
-- 2. 班主任考核指标体系表
|
||||
-- ==========================================
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_indicator`;
|
||||
CREATE TABLE `bmzr_assessment_indicator` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`indicator_name` varchar(100) NOT NULL COMMENT '指标名称',
|
||||
`indicator_code` varchar(50) NOT NULL COMMENT '指标编码',
|
||||
`indicator_type` varchar(20) NOT NULL COMMENT '指标类型',
|
||||
`parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '父级指标ID',
|
||||
`sort_order` int(4) NOT NULL DEFAULT 1 COMMENT '排序',
|
||||
`weight_ratio` decimal(5,4) NOT NULL DEFAULT 0.0000 COMMENT '权重比例(0-1之间)',
|
||||
`max_score` decimal(5,2) NOT NULL DEFAULT 100.00 COMMENT '最高分值',
|
||||
`score` decimal(5,2) NOT NULL DEFAULT 0.00 COMMENT '分值',
|
||||
`allow_self_evaluation` char(1) NOT NULL DEFAULT '1' COMMENT '允许自评(0=否 1=是)',
|
||||
`allow_superior_evaluation` char(1) NOT NULL DEFAULT '1' COMMENT '允许上级评(0=否 1=是)',
|
||||
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_indicator_code` (`tenant_id`, `indicator_code`),
|
||||
KEY `idx_parent_id` (`parent_id`),
|
||||
KEY `idx_indicator_type` (`indicator_type`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标体系表';
|
||||
-- ==========================================
|
||||
-- 1. 班主任考核方案表
|
||||
-- ==========================================
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_scheme`;
|
||||
CREATE TABLE `bmzr_assessment_scheme` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`scheme_name` varchar(100) NOT NULL COMMENT '方案名称',
|
||||
`scheme_code` varchar(50) NOT NULL COMMENT '方案编码',
|
||||
`academic_year` varchar(10) NOT NULL COMMENT '学年',
|
||||
`semester` char(1) NOT NULL COMMENT '学期(1=上学期 2=下学期)',
|
||||
`scheme_description` text COMMENT '方案描述',
|
||||
`self_evaluation_required` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要自评(0=否 1=是)',
|
||||
`superior_evaluation_required` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要上级评(0=否 1=是)',
|
||||
`status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_scheme_code` (`tenant_id`, `scheme_code`),
|
||||
KEY `idx_academic_year_semester` (`academic_year`, `semester`),
|
||||
KEY `idx_create_time` (`create_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核方案表';
|
||||
|
||||
|
||||
-- ==========================================
|
||||
-- 3. 班主任考核方案指标关联表
|
||||
-- ==========================================
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_scheme_indicator`;
|
||||
CREATE TABLE `bmzr_assessment_scheme_indicator` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID',
|
||||
`indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID',
|
||||
`weight_ratio` decimal(5,4) NOT NULL DEFAULT 0.0000 COMMENT '在方案中的权重比例',
|
||||
`custom_max_score` decimal(5,2) COMMENT '自定义最高分值',
|
||||
`sort_order` int(4) NOT NULL DEFAULT 1 COMMENT '排序',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uk_scheme_indicator` (`scheme_id`, `indicator_id`),
|
||||
KEY `idx_scheme_id` (`scheme_id`),
|
||||
KEY `idx_indicator_id` (`indicator_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核方案指标关联表';
|
||||
|
||||
-- ==========================================
|
||||
-- 4. 班主任考核计划表
|
||||
-- ==========================================
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_plan`;
|
||||
CREATE TABLE `bmzr_assessment_plan` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`plan_name` varchar(100) NOT NULL COMMENT '计划名称',
|
||||
`plan_code` varchar(50) NOT NULL COMMENT '计划编码',
|
||||
`scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID',
|
||||
`academic_year` varchar(10) NOT NULL COMMENT '学年',
|
||||
`semester` char(1) NOT NULL COMMENT '学期(1=上学期 2=下学期)',
|
||||
`plan_start_time` datetime NOT NULL COMMENT '计划开始时间',
|
||||
`plan_end_time` datetime NOT NULL COMMENT '计划结束时间',
|
||||
`data_extract_start_time` datetime COMMENT '数据提取开始时间',
|
||||
`data_extract_end_time` datetime COMMENT '数据提取结束时间',
|
||||
`plan_status` char(1) NOT NULL DEFAULT '1' COMMENT '计划状态(0=禁用 1=启用 )',
|
||||
`description` text COMMENT '计划描述',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_tenant_plan_code` (`tenant_id`, `plan_code`),
|
||||
KEY `idx_scheme_id` (`scheme_id`),
|
||||
KEY `idx_academic_year_semester` (`academic_year`, `semester`),
|
||||
KEY `idx_plan_status` (`plan_status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核计划表';
|
||||
|
||||
-- ==========================================
|
||||
-- 5. 班主任考核得分表
|
||||
-- ==========================================
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_score`;
|
||||
CREATE TABLE `bmzr_assessment_score` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`plan_id` bigint(20) NOT NULL COMMENT '考核计划ID',
|
||||
`scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID',
|
||||
`indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID',
|
||||
`evaluated_user_id` bigint(20) NOT NULL COMMENT '被评价用户ID',
|
||||
`evaluated_user_name` varchar(50) NOT NULL COMMENT '被评价用户姓名',
|
||||
`evaluated_dept_id` bigint(20) COMMENT '被评价用户部门ID',
|
||||
`class_id` bigint(20) COMMENT '班级ID',
|
||||
`self_score` decimal(5,2) COMMENT '自评分数',
|
||||
`self_comment` text COMMENT '自评意见',
|
||||
`self_overall_comment` text COMMENT '自我总体评价',
|
||||
`self_submit_time` datetime COMMENT '自评提交时间',
|
||||
`superior_score` decimal(5,2) COMMENT '上级评分数',
|
||||
`superior_comment` text COMMENT '上级评意见',
|
||||
`superior_overall_comment` text COMMENT '上级总体评价',
|
||||
`superior_evaluator_id` bigint(20) COMMENT '上级评价人ID',
|
||||
`superior_submit_time` datetime COMMENT '上级评提交时间',
|
||||
`evaluation_level` varchar(20) COMMENT '评价等级 dict_type = bmzr_evaluation_level',
|
||||
`audit_status` char(1) NOT NULL DEFAULT '0' COMMENT '审核状态(0=待审核 1=审核通过 2=审核不通过)',
|
||||
`final_score` decimal(5,2) COMMENT '最终得分',
|
||||
`submit_time` datetime COMMENT '提交时间',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uk_plan_indicator_user` (`plan_id`, `indicator_id`, `evaluated_user_id`),
|
||||
KEY `idx_plan_id` (`plan_id`),
|
||||
KEY `idx_scheme_id` (`scheme_id`),
|
||||
KEY `idx_indicator_id` (`indicator_id`),
|
||||
KEY `idx_evaluated_user_id` (`evaluated_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核得分表';
|
||||
|
||||
-- ==========================================
|
||||
-- 6. 班主任考核指标与违纪处分奖励关联关系表
|
||||
-- ==========================================
|
||||
DROP TABLE IF EXISTS `bmzr_assessment_indicator_discipline_reward`;
|
||||
CREATE TABLE `bmzr_assessment_indicator_discipline_reward` (
|
||||
`id` bigint(20) NOT NULL COMMENT '主键ID',
|
||||
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
|
||||
`indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID',
|
||||
`discipline_type_ids` varchar(500) NOT NULL COMMENT '违纪处分类型ID,逗号分隔',
|
||||
`reward_type_ids` varchar(500) NOT NULL COMMENT '奖励类型ID,逗号分隔',
|
||||
`remark` varchar(500) COMMENT '备注',
|
||||
`create_dept` bigint(20) COMMENT '创建部门',
|
||||
`create_by` bigint(20) COMMENT '创建者',
|
||||
`create_time` datetime COMMENT '创建时间',
|
||||
`update_by` bigint(20) COMMENT '更新者',
|
||||
`update_time` datetime COMMENT '更新时间',
|
||||
`deleted` int(1) NOT NULL DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_indicator_id` (`indicator_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标与违纪处分奖励关联关系表';
|
||||
@@ -0,0 +1,54 @@
|
||||
-- ==========================================
|
||||
-- 班主任考核管理系统字典数据(MySQL版)
|
||||
-- 版本:V1.0.0
|
||||
-- 功能:班主任考核管理相关字典数据
|
||||
-- 作者:系统设计
|
||||
-- 时间:2025-01-08
|
||||
-- 模块:学工管理-班主任考核管理字典数据
|
||||
-- ==========================================
|
||||
|
||||
-- ==========================================
|
||||
-- ==========================================
|
||||
-- 2. 指标类型字典
|
||||
-- ==========================================
|
||||
-- 删除已存在的字典类型
|
||||
DELETE FROM sys_dict_type WHERE dict_type = 'bmzr_indicator_type';
|
||||
-- 插入字典类型
|
||||
INSERT INTO sys_dict_type (tenant_id, dict_name, dict_type, status, create_dept, create_by, create_time, remark)
|
||||
VALUES ('000000', '考核指标类型', 'bmzr_indicator_type', '0', 103, 1, NOW(), '班主任考核-指标类型');
|
||||
|
||||
-- 删除已存在的字典数据
|
||||
DELETE FROM sys_dict_data WHERE dict_type = 'bmzr_indicator_type';
|
||||
-- 插入字典数据
|
||||
INSERT INTO sys_dict_data (tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_dept, create_by, create_time, remark) VALUES
|
||||
('000000', 1, '班级管理', '班级管理', 'bmzr_indicator_type', '', 'primary', 'Y', '0', 103, 1, NOW(), '班级日常管理工作'),
|
||||
('000000', 2, '学生教育', '学生教育', 'bmzr_indicator_type', '', 'success', 'N', '0', 103, 1, NOW(), '学生思想教育工作'),
|
||||
('000000', 3, '学业指导', '学业指导', 'bmzr_indicator_type', '', 'info', 'N', '0', 103, 1, NOW(), '学生学业指导工作'),
|
||||
('000000', 4, '心理健康', '心理健康', 'bmzr_indicator_type', '', 'warning', 'N', '0', 103, 1, NOW(), '学生心理健康工作'),
|
||||
('000000', 5, '安全管理', '安全管理', 'bmzr_indicator_type', '', 'danger', 'N', '0', 103, 1, NOW(), '班级安全管理工作'),
|
||||
('000000', 6, '家校沟通', '家校沟通', 'bmzr_indicator_type', '', 'primary', 'N', '0', 103, 1, NOW(), '家校联系沟通工作'),
|
||||
('000000', 7, '活动组织', '活动组织', 'bmzr_indicator_type', '', 'info', 'N', '0', 103, 1, NOW(), '班级活动组织工作'),
|
||||
('000000', 8, '班级建设', '班级建设', 'bmzr_indicator_type', '', 'success', 'N', '0', 103, 1, NOW(), '班级文化建设工作');
|
||||
|
||||
|
||||
-- ==========================================
|
||||
-- 7. 评价等级字典
|
||||
-- ==========================================
|
||||
-- 删除已存在的字典类型
|
||||
DELETE FROM sys_dict_type WHERE dict_type = 'bmzr_evaluation_level';
|
||||
-- 插入字典类型
|
||||
INSERT INTO sys_dict_type (tenant_id, dict_name, dict_type, status, create_dept, create_by, create_time, remark)
|
||||
VALUES ('000000', '评价等级', 'bmzr_evaluation_level', '0', 103, 1, NOW(), '班主任考核-评价等级');
|
||||
|
||||
-- 删除已存在的字典数据
|
||||
DELETE FROM sys_dict_data WHERE dict_type = 'bmzr_evaluation_level';
|
||||
-- 插入字典数据
|
||||
INSERT INTO sys_dict_data (tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_dept, create_by, create_time, remark) VALUES
|
||||
('000000', 1, '优秀', 'excellent', 'bmzr_evaluation_level', '', 'success', 'Y', '0', 103, 1, NOW(), '优秀等级(90-100分)'),
|
||||
('000000', 2, '良好', 'good', 'bmzr_evaluation_level', '', 'primary', 'N', '0', 103, 1, NOW(), '良好等级(80-89分)'),
|
||||
('000000', 3, '合格', 'qualified', 'bmzr_evaluation_level', '', 'info', 'N', '0', 103, 1, NOW(), '合格等级(70-79分)'),
|
||||
('000000', 4, '基本合格', 'basic', 'bmzr_evaluation_level', '', 'warning', 'N', '0', 103, 1, NOW(), '基本合格等级(60-69分)'),
|
||||
('000000', 5, '不合格', 'unqualified', 'bmzr_evaluation_level', '', 'danger', 'N', '0', 103, 1, NOW(), '不合格等级(60分以下)');
|
||||
|
||||
|
||||
-- ==========================================
|
||||
Reference in new issue
Block a user