This commit is contained in:
zlwu committed 2025-12-25 09:51:10 +08:00
1 parent a514c26f83
commit fb6d0aa63c
15 files changed
-1536

No files matched your search

@@ -1,64 +0,0 @@
-- ==========================================
-- 班主任考核审核权限配置SQL
-- 版本:V1.0.0
-- 功能:班主任考核审核相关权限配置
-- 作者:系统设计
-- 时间:2025-01-28
-- 模块:学工管理-班主任考核审核权限配置
-- ==========================================
-- 1. 菜单配置
-- 班主任考核审核菜单
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query_param, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES
('班主任考核审核', (SELECT menu_id FROM sys_menu WHERE menu_name = '班主任考核系统' LIMIT 1), 6, 'assessmentApproval', 'bzrkh/assessmentApproval/index', '', '', 1, 0, 'C', '0', '0', 'bzrkh:assessmentApproval:list', 'edit', 103, 1, now(), 1, now(), '班主任考核审核菜单');
-- 2. 按钮权限配置
-- 获取刚插入的菜单ID
SET @assessment_approval_menu_id = LAST_INSERT_ID();
-- 班主任考核审核按钮权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query_param, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES
('考核审核查询', @assessment_approval_menu_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentApproval:list', '#', 103, 1, now(), 1, now(), ''),
('考核审核详情', @assessment_approval_menu_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentApproval:query', '#', 103, 1, now(), 1, now(), ''),
('考核审核操作', @assessment_approval_menu_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentApproval:approve', '#', 103, 1, now(), 1, now(), ''),
('考核审核导出', @assessment_approval_menu_id, 4, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentApproval:export', '#', 103, 1, now(), 1, now(), '');
-- 3. 字典配置
-- 审核状态字典
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_dept, create_by, create_time, update_by, update_time, remark) VALUES
('班主任考核审核状态', 'bmzr_audit_status', '0', 103, 1, now(), 1, now(), '班主任考核审核状态字典');
-- 获取字典类型ID
SET @dict_type_id = LAST_INSERT_ID();
-- 审核状态字典数据
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_dept, create_by, create_time, update_by, update_time, remark) VALUES
(0, '草稿', '9', 'bmzr_audit_status', '', 'info', 'N', '0', 103, 1, now(), 1, now(), '草稿状态'),
(1, '待审核', '0', 'bmzr_audit_status', '', 'warning', 'Y', '0', 103, 1, now(), 1, now(), '待审核状态'),
(2, '审核通过', '1', 'bmzr_audit_status', '', 'success', 'N', '0', 103, 1, now(), 1, now(), '审核通过状态'),
(3, '审核不通过', '2', 'bmzr_audit_status', '', 'danger', 'N', '0', 103, 1, now(), 1, now(), '审核不通过状态');
-- ==========================================
-- 权限字符说明
-- ==========================================
/*
权限字符列表:
1. bzrkh:assessmentApproval:list - 班主任考核审核查询权限(查看审核列表)
2. bzrkh:assessmentApproval:query - 班主任考核审核详情权限(查看审核详情)
3. bzrkh:assessmentApproval:approve - 班主任考核审核操作权限(审批、批量审批、批量拒绝)
4. bzrkh:assessmentApproval:export - 班主任考核审核导出权限(导出审核数据)
API接口与权限字符对应关系:
- GET /bzrkh/assessmentApproval/list → bzrkh:assessmentApproval:list
- GET /bzrkh/assessmentApproval/detail → bzrkh:assessmentApproval:query
- POST /bzrkh/assessmentApproval/submit → bzrkh:assessmentApproval:approve
- POST /bzrkh/assessmentApproval/batchApprove → bzrkh:assessmentApproval:approve
- POST /bzrkh/assessmentApproval/batchReject → bzrkh:assessmentApproval:approve
- GET /bzrkh/assessmentApproval/schemeOptions → bzrkh:assessmentApproval:list
- POST /bzrkh/assessmentApproval/export → bzrkh:assessmentApproval:export
用户角色分配建议:
1. 学工处管理员:拥有所有权限(list、query、approve、export)
2. 学院管理员:拥有查询和审核权限(list、query、approve)
3. 普通审核员:拥有查询权限(list、query)
*/
@@ -1,226 +0,0 @@
# 班主任考核指标体系管理模块开发文档
## 📋 模块概述
**功能名称**: 班主任考核指标体系管理
**模块路径**: `/bzrkh/assessmentIndicator`
**开发时间**: 2025-01-08
**技术架构**: 前后端分离 (Vue 3 + Spring Boot 3.4.6)
## 🎯 功能说明
该模块用于管理班主任考核的指标体系,支持树形结构的指标管理,包括指标类型、权重配置、评价设置等功能。
### 主要功能
- ✅ 指标体系列表查询(支持分页)
- ✅ 指标体系新增/修改/删除
- ✅ 指标类型关联(下拉选择)
- ✅ 父级指标选择(树形选择器)
- ✅ 权重比例配置(0-1之间)
- ✅ 评价权限设置(自评/上级评)
- ✅ 数据导出功能
- ✅ 树形结构展示
## 📂 文件结构
### 前端文件 (web/)
```
web/src/
├── api/bzrkh/assessmentIndicator/
│ ├── index.ts # API接口定义
│ └── types.ts # TypeScript类型定义
└── views/bzrkh/assessmentIndicator/
└── index.vue # 主界面组件
```
### 后端文件 (backend/ruoyi-modules/ruoyi-bzrkh/)
```
src/main/java/org/dromara/bzrkh/
├── controller/
│ └── BmzrAssessmentIndicatorController.java # 控制器
├── service/
│ ├── IBmzrAssessmentIndicatorService.java # 服务接口
│ └── impl/
│ └── BmzrAssessmentIndicatorServiceImpl.java # 服务实现
├── mapper/
│ └── BmzrAssessmentIndicatorMapper.java # 数据访问层
├── domain/
│ ├── BmzrAssessmentIndicator.java # 实体类
│ ├── bo/
│ │ └── BmzrAssessmentIndicatorBo.java # 业务对象
│ └── vo/
│ └── BmzrAssessmentIndicatorVo.java # 视图对象
└── resources/mapper/bzrkh/
└── BmzrAssessmentIndicatorMapper.xml # MyBatis映射文件
```
### 配置文件
```
backend/ruoyi-modules/ruoyi-bzrkh/
├── 班主任考核指标体系管理权限配置.sql # 权限配置SQL
└── 班主任考核指标体系开发文档.md # 本文档
```
## 🔐 权限配置
### API权限字符
| 功能 | 权限字符 | 说明 |
|------|----------|------|
| 列表查询 | `bzrkh:assessmentIndicator:list` | 查询指标体系列表权限 |
| 详情查询 | `bzrkh:assessmentIndicator:query` | 查询指标体系详情权限 |
| 新增 | `bzrkh:assessmentIndicator:add` | 新增指标体系权限 |
| 修改 | `bzrkh:assessmentIndicator:edit` | 修改指标体系权限 |
| 删除 | `bzrkh:assessmentIndicator:remove` | 删除指标体系权限 |
| 导出 | `bzrkh:assessmentIndicator:export` | 导出指标体系权限 |
### 菜单配置
- **主菜单**: 班主任考核指标体系
- **路由路径**: `assessmentIndicator`
- **组件路径**: `bzrkh/assessmentIndicator/index`
- **图标**: `tree`
## 🌐 API接口
### 前端API方法
| 方法名 | 请求方式 | 路径 | 说明 |
|--------|----------|------|------|
| `listAssessmentIndicator` | GET | `/bzrkh/assessmentIndicator/list` | 查询列表 |
| `getAssessmentIndicator` | GET | `/bzrkh/assessmentIndicator/{id}` | 查询详情 |
| `addAssessmentIndicator` | POST | `/bzrkh/assessmentIndicator` | 新增 |
| `updateAssessmentIndicator` | PUT | `/bzrkh/assessmentIndicator` | 修改 |
| `delAssessmentIndicator` | DELETE | `/bzrkh/assessmentIndicator/{id}` | 删除 |
| `getIndicatorTypeOptions` | GET | `/bzrkh/assessmentIndicatorType/listAllIncludeDeleted` | 指标类型选项 |
| `getParentIndicatorOptions` | GET | `/bzrkh/assessmentIndicator/treeselect` | 父级指标选项 |
### 后端Controller方法
| 方法名 | 注解 | 说明 |
|--------|------|------|
| `list` | `@GetMapping("/list")` | 分页查询列表 |
| `treeselect` | `@GetMapping("/treeselect")` | 树形结构查询 |
| `getInfo` | `@GetMapping("/{id}")` | 详情查询 |
| `add` | `@PostMapping()` | 新增 |
| `edit` | `@PutMapping()` | 修改 |
| `remove` | `@DeleteMapping("/{ids}")` | 删除 |
| `export` | `@PostMapping("/export")` | 导出 |
## 📊 数据模型
### 核心字段
| 字段名 | 类型 | 说明 | 验证规则 |
|--------|------|------|----------|
| `indicatorName` | String | 指标名称 | 必填 |
| `indicatorCode` | String | 指标编码 | 必填,唯一 |
| `indicatorType` | String | 指标类型 | 必填,关联指标类型表 |
| `parentId` | Long | 父级指标ID | 可选,支持树形结构 |
| `weightRatio` | BigDecimal | 权重比例 | 必填,0-1之间 |
| `maxScore` | BigDecimal | 最高分值 | 必填,>=0 |
| `score` | BigDecimal | 分值 | 必填,>=0 |
| `allowSelfEvaluation` | String | 允许自评 | 必填,0=否 1=是 |
| `allowSuperiorEvaluation` | String | 允许上级评 | 必填,0=否 1=是 |
| `sortOrder` | Integer | 排序 | 必填,>=1 |
| `status` | String | 状态 | 必填,0=正常 1=停用 |
## 🎨 界面特性
### 查询条件
- 指标名称(模糊查询)
- 指标编码(精确查询)
- 指标类型(下拉选择)
- 允许自评(是/否)
- 允许上级评(是/否)
- 状态(正常/停用)
### 表格展示
- 指标编码
- 指标名称
- 指标类型(显示类型名称)
- 权重比例(百分比格式)
- 最高分值
- 分值
- 排序
- 允许自评(字典显示)
- 允许上级评(字典显示)
- 状态(字典显示)
- 备注
### 表单字段
- 基本信息:指标编码、指标名称
- 分类信息:指标类型、父级指标
- 分值配置:权重比例、最高分值、分值、排序
- 权限设置:允许自评、允许上级评、状态
- 备注信息
## 🔧 技术要点
### 前端技术
- **Vue 3 + TypeScript**: 组件开发
- **Element Plus**: UI组件库
- **树形选择器**: 父级指标选择
- **数字输入框**: 精确的数值输入
- **字典转换**: 状态和评价权限显示
### 后端技术
- **Spring Boot 3.4.6**: 框架
- **MyBatis-Plus**: ORM框架
- **Sa-Token**: 权限控制
- **Bean Validation**: 参数校验
- **树形结构**: 递归查询和构建
### 数据特性
- **多租户支持**: TenantEntity继承
- **逻辑删除**: 软删除机制
- **审计字段**: 创建时间、更新时间等
- **树形结构**: 支持层级关系
## 📋 部署说明
### 1. 数据库
执行以下SQL文件:
- `docs/设计文档/database/班主任考核管理/bmzr_assessment_tables.sql`
- `docs/设计文档/database/班主任考核管理/bmzr_dict_data_mysql.sql`
- `backend/ruoyi-modules/ruoyi-bzrkh/班主任考核指标体系管理权限配置.sql`
### 2. 后端
- 确保 `ruoyi-bzrkh` 模块已添加到主项目依赖
- 重启后端服务
### 3. 前端
- 前端文件已放置在正确位置
- 重新编译前端项目
### 4. 权限分配
- 管理员登录系统
- 进入权限管理,为相关角色分配权限
- 菜单路径:系统管理 → 权限管理 → 角色管理
## ✅ 测试要点
### 功能测试
- [ ] 指标体系列表查询
- [ ] 指标体系新增(各种场景)
- [ ] 指标体系修改
- [ ] 指标体系删除(单个/批量)
- [ ] 指标类型下拉加载
- [ ] 父级指标树形选择
- [ ] 数据导出
- [ ] 权限控制
### 数据验证
- [ ] 权重比例范围验证(0-1)
- [ ] 分值非负验证
- [ ] 必填字段验证
- [ ] 唯一性验证(指标编码)
## 📝 注意事项
1. **指标类型依赖**: 需要先配置指标类型数据
2. **权重配置**: 权重比例为0-1之间的小数
3. **树形结构**: 支持多级父子关系
4. **逻辑删除**: 删除操作为逻辑删除,可恢复
5. **权限控制**: 严格按照权限字符控制功能访问
---
**开发完成时间**: 2025-01-08
**版本**: V1.0.0
**状态**: ✅ 开发完成
@@ -1,49 +0,0 @@
-- ==========================================
-- 班主任考核指标体系管理权限配置
-- 版本:V1.0.0
-- 功能:班主任考核指标体系管理相关权限
-- 作者:系统设计
-- 时间:2025-01-08
-- 模块:学工管理-班主任考核指标体系管理权限
-- ==========================================
-- 删除已存在的权限数据
DELETE FROM sys_menu WHERE menu_name = '班主任考核指标体系' OR parent_id IN (SELECT id FROM (SELECT id FROM sys_menu WHERE menu_name = '班主任考核指标体系') temp);
-- 1. 班主任考核指标体系管理主菜单
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标体系', 2000, 3, 'assessmentIndicator', 'bzrkh/assessmentIndicator/index', '', 1, 0, 'C', '0', '0', 'bzrkh:assessmentIndicator:list', 'tree', 103, 1, NOW(), 1, NOW(), '班主任考核指标体系管理菜单', '000000');
-- 获取刚插入的主菜单ID
SET @menu_id = LAST_INSERT_ID();
-- 2. 班主任考核指标体系查询按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标体系查询', @menu_id, 1, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicator:query', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 3. 班主任考核指标体系新增按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标体系新增', @menu_id, 2, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicator:add', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 4. 班主任考核指标体系修改按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标体系修改', @menu_id, 3, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicator:edit', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 5. 班主任考核指标体系删除按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标体系删除', @menu_id, 4, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicator:remove', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 6. 班主任考核指标体系导出按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标体系导出', @menu_id, 5, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicator:export', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- ==========================================
-- 权限字符说明
-- ==========================================
-- bzrkh:assessmentIndicator:list - 班主任考核指标体系查询权限
-- bzrkh:assessmentIndicator:query - 班主任考核指标体系详情查询权限
-- bzrkh:assessmentIndicator:add - 班主任考核指标体系新增权限
-- bzrkh:assessmentIndicator:edit - 班主任考核指标体系修改权限
-- bzrkh:assessmentIndicator:remove - 班主任考核指标体系删除权限
-- bzrkh:assessmentIndicator:export - 班主任考核指标体系导出权限
-- ==========================================
@@ -1,62 +0,0 @@
# 班主任考核指标类型管理权限配置
## API权限字符配置
以下是班主任考核指标类型管理模块需要配置的权限字符:
### 权限字符列表
1. **查询权限**
- 权限字符:`bzrkh:assessmentIndicatorType:list`
- 权限说明:查询班主任考核指标类型列表权限
2. **详情权限**
- 权限字符:`bzrkh:assessmentIndicatorType:query`
- 权限说明:查询班主任考核指标类型详细信息权限
3. **新增权限**
- 权限字符:`bzrkh:assessmentIndicatorType:add`
- 权限说明:新增班主任考核指标类型权限
4. **修改权限**
- 权限字符:`bzrkh:assessmentIndicatorType:edit`
- 权限说明:修改班主任考核指标类型权限
5. **删除权限**
- 权限字符:`bzrkh:assessmentIndicatorType:remove`
- 权限说明:删除班主任考核指标类型权限
6. **导出权限**
- 权限字符:`bzrkh:assessmentIndicatorType:export`
- 权限说明:导出班主任考核指标类型权限
## 菜单配置SQL
```sql
-- 班主任考核指标类型管理菜单
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, update_by, update_time, remark) VALUES
('000000', '指标类型管理', [班主任考核管理父菜单ID], 1, 'assessmentIndicatorType', 'bzrkh/assessmentIndicatorType/index', '', 1, 0, 'C', '0', '0', 'bzrkh:assessmentIndicatorType:list', 'list', 103, 1, NOW(), 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, update_by, update_time, remark) VALUES
('000000', '班主任考核指标类型查询', @menu_id, 1, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:query', '#', 103, 1, NOW(), 1, NOW(), ''),
('000000', '班主任考核指标类型新增', @menu_id, 2, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:add', '#', 103, 1, NOW(), 1, NOW(), ''),
('000000', '班主任考核指标类型修改', @menu_id, 3, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:edit', '#', 103, 1, NOW(), 1, NOW(), ''),
('000000', '班主任考核指标类型删除', @menu_id, 4, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:remove', '#', 103, 1, NOW(), 1, NOW(), ''),
('000000', '班主任考核指标类型导出', @menu_id, 5, '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:export', '#', 103, 1, NOW(), 1, NOW(), '');
```
## 使用说明
1. **权限配置位置**:在若依管理系统的菜单管理中配置上述权限
2. **角色分配**:将相应权限分配给需要使用该功能的角色
3. **用户权限**:用户通过角色获得相应的功能权限
## 注意事项
1. 请根据实际的父菜单ID替换SQL中的`[班主任考核管理父菜单ID]`
2. 权限字符必须与Controller中的`@SaCheckPermission`注解中的值保持一致
3. 建议按照业务需求控制权限的精细度
@@ -1,49 +0,0 @@
-- ==========================================
-- 班主任考核指标类型管理权限配置
-- 版本:V1.0.0
-- 功能:班主任考核指标类型管理相关权限
-- 作者:系统设计
-- 时间:2025-01-08
-- 模块:学工管理-班主任考核指标类型管理权限
-- ==========================================
-- 删除已存在的权限数据
DELETE FROM sys_menu WHERE menu_name = '指标类型管理' OR parent_id IN (SELECT id FROM (SELECT id FROM sys_menu WHERE menu_name = '指标类型管理') temp);
-- 1. 班主任考核指标类型管理主菜单
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('指标类型管理', 2000, 4, 'assessmentIndicatorType', 'bzrkh/assessmentIndicatorType/index', '', 1, 0, 'C', '0', '0', 'bzrkh:assessmentIndicatorType:list', 'list', 103, 1, NOW(), 1, NOW(), '班主任考核指标类型管理菜单', '000000');
-- 获取刚插入的主菜单ID
SET @menu_id = LAST_INSERT_ID();
-- 2. 班主任考核指标类型查询按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标类型查询', @menu_id, 1, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:query', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 3. 班主任考核指标类型新增按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标类型新增', @menu_id, 2, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:add', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 4. 班主任考核指标类型修改按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标类型修改', @menu_id, 3, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:edit', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 5. 班主任考核指标类型删除按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标类型删除', @menu_id, 4, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:remove', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- 6. 班主任考核指标类型导出按钮
INSERT INTO sys_menu (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, update_by, update_time, remark, tenant_id)
VALUES ('班主任考核指标类型导出', @menu_id, 5, '#', '', '', 1, 0, 'F', '0', '0', 'bzrkh:assessmentIndicatorType:export', '#', 103, 1, NOW(), 1, NOW(), '', '000000');
-- ==========================================
-- 权限字符说明
-- ==========================================
-- bzrkh:assessmentIndicatorType:list - 班主任考核指标类型查询权限
-- bzrkh:assessmentIndicatorType:query - 班主任考核指标类型详情查询权限
-- bzrkh:assessmentIndicatorType:add - 班主任考核指标类型新增权限
-- bzrkh:assessmentIndicatorType:edit - 班主任考核指标类型修改权限
-- bzrkh:assessmentIndicatorType:remove - 班主任考核指标类型删除权限
-- bzrkh:assessmentIndicatorType:export - 班主任考核指标类型导出权限
-- ==========================================
@@ -1,259 +0,0 @@
# 班主任考核提交功能开发说明
## 功能概述
完善了班主任考核管理界面中的"提交考核"按钮功能,实现了完整的考核评分提交流程。
## 开发内容
### 前端部分(Vue 3 + TypeScript + Element Plus)
#### 1. API类型定义扩展
**文件位置**: `web/src/api/bzrkh/teacherAssessment/types.ts`
**新增类型定义**:
- `ClassDetailVO` - 班级详细信息
- `CoefficientVO` - 系数信息
- `AssessmentIndicatorVO` - 考核指标信息
- `SpecialWorkIndicatorVO` - 特色工作指标
- `AssessmentSubmitVO` - 考核提交数据
- `AssessmentDetailVO` - 考核详情数据
#### 2. API接口扩展
**文件位置**: `web/src/api/bzrkh/teacherAssessment/index.ts`
**新增接口**:
- `getAssessmentSubmitDetail()` - 获取考核提交详情数据
- `submitAssessmentScore()` - 提交考核评分数据
#### 3. 提交弹窗组件
**文件位置**: `web/src/views/bzrkh/teacherAssessment/submitDialog.vue`
**功能特性**:
- 9张卡片式布局:班级信息、人数系数、住校生系数、层次系数、总系数、班主任常规工作、班级管理实效、特色工作、月考核得分
- 自动系数计算:根据班级人数、住校生人数、班级层次自动计算各项系数
- 动态评分:支持自评分数输入和自评意见填写
- 实时计算:月考核得分根据公式自动计算
- 数据验证:表单验证确保数据完整性
#### 4. 主界面集成
**文件位置**: `web/src/views/bzrkh/teacherAssessment/index.vue`
**集成内容**:
- 引入提交弹窗组件
- 修改提交考核按钮逻辑
- 添加成功回调处理
### 后端部分(Spring Boot 3.4.6 + MyBatis-Plus)
#### 1. VO类创建
**文件位置**: `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/vo/`
**新增VO类**:
- `ClassDetailVo.java` - 班级详细信息视图对象
- `CoefficientVo.java` - 系数信息视图对象
- `AssessmentIndicatorScoreVo.java` - 考核指标评分视图对象
- `SpecialWorkIndicatorVo.java` - 特色工作指标视图对象
- `AssessmentDetailVo.java` - 考核详情视图对象
#### 2. BO类创建
**文件位置**: `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/bo/`
**新增BO类**:
- `AssessmentSubmitBo.java` - 考核提交业务对象
#### 3. Controller扩展
**文件位置**: `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/controller/TeacherAssessmentController.java`
**新增接口**:
- `getAssessmentSubmitDetail()` - 获取考核提交详情数据
- `submitAssessmentScore()` - 提交考核评分数据
#### 4. Service接口和实现扩展
**文件位置**:
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/service/ITeacherAssessmentService.java`
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/service/impl/TeacherAssessmentServiceImpl.java`
**新增方法**:
- `getAssessmentSubmitDetail()` - 获取考核提交详情数据
- `submitAssessmentScore()` - 提交考核评分数据
- `calculateCoefficient()` - 计算系数信息(私有方法)
- `calculateStudentCountCoefficient()` - 计算人数系数(私有方法)
- `calculateBoardingCoefficient()` - 计算住校生系数(私有方法)
- `calculateLevelCoefficient()` - 计算层次系数(私有方法)
- `mergeAssessmentScores()` - 合并已保存的评分数据(私有方法)
#### 5. Mapper接口和XML扩展
**文件位置**:
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/mapper/TeacherAssessmentMapper.java`
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/resources/mapper/bzrkh/TeacherAssessmentMapper.xml`
**新增方法**:
- `selectClassDetail()` - 查询班级详细信息
- `selectRoutineWorkIndicators()` - 查询班主任常规工作指标列表
- `selectClassDeductionIndicator()` - 查询班级扣分指标
- `selectSpecialWorkIndicators()` - 查询特色工作指标列表
- `selectSavedAssessmentScores()` - 查询已保存的评分数据
- `selectSchemeIdByPlanId()` - 根据计划ID查询方案ID
- `selectIndicatorIdByCode()` - 根据指标编码查询指标ID
- `deleteAssessmentScoresByPlanAndTeacher()` - 逻辑删除评分数据
- `insertAssessmentScore()` - 插入评分数据
- `updateAssessmentScoreRemark()` - 更新评分数据备注
## 核心业务逻辑
### 1. 系数计算规则
#### 人数系数(K2)
- 班级人数36~40人(含36人),系数为1
- 超过40人,每增加1名学生,系数增加0.02
- 少于36人,每减少1名学生,系数减少0.02
- 本项系数最低0.7
#### 住校生系数(K3)
- 根据住校生人数,按人均0.005计算
#### 层次系数(K1)
- 技师班(K1=0.95)
- 高级工班(K1=1)
- 中级工班(K1=1.05)
- 预备技师班(K1=0.95)
- 中高职一体(K1=1)
#### 总系数(K)
- 计算公式:K = K1 * (K2 + K3)
### 2. 月考核得分计算
#### 自评模式(修正后公式)
- 计算公式:总系数(K)* ((班主任常规工作自评分之和 + 班级扣分项满分值) - 按班级扣分50%计的分值 + 特色工作总分值)
- 班级扣分项满分值:固定50分(来自指标设置)
- 修正原因:确保基础分值不受扣分影响,提高计算结果的合理性
#### 审核模式(保持不变)
- 计算公式:总系数(K)* (班主任常规工作上级评分之和 + 班级管理实效上级评分 + 特色工作上级评分之和)
#### 公式变化对比
- **修正前**:K × (常规工作自评分 - 班级扣分50% + 特色工作总分)
- **修正后**:K × ((常规工作自评分 + 50) - 班级扣分50% + 特色工作总分)
- **关键变化**:新增班级扣分项满分值(50分)确保基础分值
### 3. 数据存储逻辑
1. 先逻辑删除该计划下该教师的历史评分数据
2. 插入班主任常规工作指标评分
3. 插入班级扣分指标评分
4. 插入特色工作指标评分(4个固定指标)
5. 将总体评价存储到备注字段
## 权限配置
### API接口权限
- `bzrkh:teacherAssessment:list` - 查看班级和考核计划列表
- `bzrkh:teacherAssessment:detail` - 查看考核详情
- `bzrkh:teacherAssessment:submit` - 提交考核
详细权限配置请参考:`班主任考核提交功能权限配置.md`
## 数据准备
### 必要的指标数据
系统需要以下5个考核指标才能正常运行:
1. `bzrwjkf001` - 班级扣分
2. `bzrtsgz001` - 及时并妥善处理好学生违纪事件
3. `bzrtsgz002` - 班级活动获奖情况
4. `bzrtsgz003` - 班级宣传工作有特色
5. `bzrtsgz004` - 其他
数据插入脚本:`班主任考核提交功能必要数据.sql`
## 部署说明
### 1. 数据库脚本执行
```sql
-- 执行必要数据插入脚本
source 班主任考核提交功能必要数据.sql;
```
### 2. 后端编译重启
```bash
# 编译ruoyi-bzrkh模块
mvn clean compile -pl ruoyi-modules/ruoyi-bzrkh
# 重启应用服务
# (请根据实际部署方式重启服务)
```
### 3. 前端构建
```bash
# 前端无需重新构建,代码已支持热更新
# 如需构建:
npm run build:prod
```
### 4. 权限配置
1. 登录系统管理后台
2. 进入系统管理-菜单管理
3. 为班主任考核相关菜单配置权限
4. 为相关角色分配权限
## 测试验证
### 1. 基础功能测试
- [ ] 班主任登录系统
- [ ] 查看考核计划列表
- [ ] 点击"提交考核"按钮
- [ ] 弹窗正常显示9张卡片
- [ ] 系数自动计算正确
### 2. 评分功能测试
- [ ] 班主任常规工作指标可正常输入评分
- [ ] 班级扣分可正常输入,50%计算正确
- [ ] 特色工作4个指标可正常输入评分
- [ ] 月考核得分自动计算正确
### 3. 数据保存测试
- [ ] 提交评分数据成功
- [ ] 数据正确保存到数据库
- [ ] 再次打开弹窗数据正确回显
## 技术亮点
1. **响应式系数计算**:前端实时计算各项系数,提供直观的数据展示
2. **组件化设计**:弹窗组件独立封装,便于维护和复用
3. **数据一致性**:采用逻辑删除+重新插入的方式确保数据一致性
4. **权限控制**:完整的权限控制体系,确保数据安全
5. **用户体验**:直观的卡片式布局,清晰的数据展示
6. **实时人数统计**:班级总人数从xg_student_msg表实时统计,确保数据准确性
## 班级人数统计规则(2025-01-27更新)
### 班级总人数统计
- **数据来源**: `xg_student_msg`表
- **统计条件**:
- `class_id` = 班级ID
- `student_status` = '1'(正常状态)
- `deleted` = 0(未逻辑删除)
- **统计方式**: COUNT(1)
### 住校生人数统计
- **数据来源**: `xg_student_msg`表
- **统计条件**:
- `class_id` = 班级ID
- `student_status` = '1'(正常状态)
- `dormitory_room` IS NOT NULL AND `dormitory_room` != ''(有宿舍信息)
- `deleted` = 0(未逻辑删除)
- **统计方式**: COUNT(1)
## 待扩展功能
1. 学生违规处分信息查看功能
2. 考核结果审核功能
3. 考核数据统计分析功能
4. 考核历史记录查询功能
---
**开发完成时间**: 2025-01-27
**开发版本**: V1.0.0
**测试状态**: 待测试验证
@@ -1,87 +0,0 @@
-- ==========================================
-- 班主任考核提交功能必要数据
-- 功能:插入班主任考核提交功能所需的考核指标数据
-- 作者:系统开发
-- 时间:2025-01-27
-- ==========================================
-- 插入必要的考核指标数据
-- 注意:这些指标是班主任考核提交功能必需的,请确保在数据库中存在
-- 1. 班级扣分指标
INSERT INTO `bmzr_assessment_indicator` (
`id`, `tenant_id`, `indicator_name`, `indicator_code`, `indicator_type`,
`parent_id`, `sort_order`, `weight_ratio`, `max_score`, `score`,
`allow_self_evaluation`, `allow_superior_evaluation`, `status`, `remark`,
`create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `deleted`
) VALUES (
1882452817132150786, '000000', '班级扣分', 'bzrwjkf001', 'routine',
0, 1, 1.0000, 50.00, 50.00,
'1', '1', '0', '班级管理实效评分指标',
103, 1, NOW(), 1, NOW(), 0
) ON DUPLICATE KEY UPDATE
indicator_name = VALUES(indicator_name),
update_time = NOW();
-- 2. 及时并妥善处理好学生违纪事件
INSERT INTO `bmzr_assessment_indicator` (
`id`, `tenant_id`, `indicator_name`, `indicator_code`, `indicator_type`,
`parent_id`, `sort_order`, `weight_ratio`, `max_score`, `score`,
`allow_self_evaluation`, `allow_superior_evaluation`, `status`, `remark`,
`create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `deleted`
) VALUES (
1882452817132150787, '000000', '及时并妥善处理好学生违纪事件', 'bzrtsgz001', 'special',
0, 1, 1.0000, 20.00, 20.00,
'1', '1', '0', '特色工作评分指标',
103, 1, NOW(), 1, NOW(), 0
) ON DUPLICATE KEY UPDATE
indicator_name = VALUES(indicator_name),
update_time = NOW();
-- 3. 班级活动获奖情况
INSERT INTO `bmzr_assessment_indicator` (
`id`, `tenant_id`, `indicator_name`, `indicator_code`, `indicator_type`,
`parent_id`, `sort_order`, `weight_ratio`, `max_score`, `score`,
`allow_self_evaluation`, `allow_superior_evaluation`, `status`, `remark`,
`create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `deleted`
) VALUES (
1882452817132150788, '000000', '班级活动获奖情况', 'bzrtsgz002', 'special',
0, 2, 1.0000, 20.00, 20.00,
'1', '1', '0', '特色工作评分指标',
103, 1, NOW(), 1, NOW(), 0
) ON DUPLICATE KEY UPDATE
indicator_name = VALUES(indicator_name),
update_time = NOW();
-- 4. 班级宣传工作有特色
INSERT INTO `bmzr_assessment_indicator` (
`id`, `tenant_id`, `indicator_name`, `indicator_code`, `indicator_type`,
`parent_id`, `sort_order`, `weight_ratio`, `max_score`, `score`,
`allow_self_evaluation`, `allow_superior_evaluation`, `status`, `remark`,
`create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `deleted`
) VALUES (
1882452817132150789, '000000', '班级宣传工作有特色', 'bzrtsgz003', 'special',
0, 3, 1.0000, 20.00, 20.00,
'1', '1', '0', '特色工作评分指标',
103, 1, NOW(), 1, NOW(), 0
) ON DUPLICATE KEY UPDATE
indicator_name = VALUES(indicator_name),
update_time = NOW();
-- 5. 其他特色工作
INSERT INTO `bmzr_assessment_indicator` (
`id`, `tenant_id`, `indicator_name`, `indicator_code`, `indicator_type`,
`parent_id`, `sort_order`, `weight_ratio`, `max_score`, `score`,
`allow_self_evaluation`, `allow_superior_evaluation`, `status`, `remark`,
`create_dept`, `create_by`, `create_time`, `update_by`, `update_time`, `deleted`
) VALUES (
1882452817132150790, '000000', '其他', 'bzrtsgz004', 'special',
0, 4, 1.0000, 20.00, 20.00,
'1', '1', '0', '特色工作评分指标',
103, 1, NOW(), 1, NOW(), 0
) ON DUPLICATE KEY UPDATE
indicator_name = VALUES(indicator_name),
update_time = NOW();
-- 创建完成提示
SELECT '班主任考核提交功能必要数据插入完成!' AS result;
@@ -1,86 +0,0 @@
# 班主任考核提交功能权限配置
## API接口权限字符
### 新增的API接口权限
以下是新增的班主任考核提交功能相关的API接口权限字符,需要在系统菜单权限中进行配置:
1. **获取考核提交详情数据**
- 权限字符:`bzrkh:teacherAssessment:detail`
- 接口路径:`GET /bzrkh/teacherAssessment/submitDetail`
- 功能描述:获取考核提交弹窗的详情数据
2. **提交考核评分数据**
- 权限字符:`bzrkh:teacherAssessment:submit`
- 接口路径:`POST /bzrkh/teacherAssessment/submitScore`
- 功能描述:提交班主任考核评分数据
### 现有的API接口权限
以下是现有的相关API接口权限:
1. **查询班主任管理的班级列表**
- 权限字符:`bzrkh:teacherAssessment:list`
- 接口路径:`GET /bzrkh/teacherAssessment/classes`
2. **查询班主任考核计划列表**
- 权限字符:`bzrkh:teacherAssessment:list`
- 接口路径:`GET /bzrkh/teacherAssessment/plans`
3. **提交考核(原有)**
- 权限字符:`bzrkh:teacherAssessment:submit`
- 接口路径:`POST /bzrkh/teacherAssessment/submit`
4. **查看考核详情(原有)**
- 权限字符:`bzrkh:teacherAssessment:detail`
- 接口路径:`GET /bzrkh/teacherAssessment/detail`
## 菜单权限配置建议
### 菜单配置
建议在系统管理-菜单管理中配置以下菜单项:
```
父菜单:班主任考核管理
├── 考核计划管理(已有)
└── 班主任考核提交(新增)
├── 权限字符:bzrkh:teacherAssessment:list
├── 权限字符:bzrkh:teacherAssessment:detail
└── 权限字符:bzrkh:teacherAssessment:submit
```
### 角色权限分配
建议为以下角色分配相应权限:
1. **班主任角色**
- `bzrkh:teacherAssessment:list` - 查看班级和考核计划列表
- `bzrkh:teacherAssessment:detail` - 查看考核详情
- `bzrkh:teacherAssessment:submit` - 提交考核
2. **学工管理员角色**
- 全部权限(包括考核计划管理权限)
3. **系统管理员角色**
- 全部权限
## 数据库表说明
### 涉及的主要表
1. `bmzr_assessment_score` - 班主任考核得分表(核心业务表)
2. `bmzr_assessment_plan` - 考核计划表
3. `bmzr_assessment_scheme` - 考核方案表
4. `bmzr_assessment_indicator` - 考核指标表
5. `xg_class_msg` - 班级信息表
6. `xg_student_msg` - 学生信息表
### 关键业务逻辑
1. **系数计算**:根据班级人数、住校生人数、班级层次自动计算系数
2. **指标管理**:支持常规工作指标、班级扣分指标、特色工作指标
3. **数据存储**:评分数据统一存储在`bmzr_assessment_score`表中
4. **数据更新**:采用逻辑删除+重新插入的方式确保数据一致性
## 注意事项
1. 权限配置完成后需要重新登录系统生效
2. 确保相关角色用户已分配对应的菜单权限
3. 建议先在测试环境验证权限配置正确性
4. 需要确保数据库中存在相关的考核指标数据(特别是5个特定编码的指标)
@@ -1,47 +0,0 @@
-- ==========================================
-- 班主任考核撤销功能权限配置
-- 功能说明:为班主任考核管理新增撤销提交功能的权限配置
-- 创建时间:2025-01-28
-- ==========================================
-- 1. 插入撤销考核权限
INSERT INTO sys_menu (
menu_name, parent_id, order_num, path, component, query_param, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark
) VALUES (
'撤销考核提交',
(SELECT menu_id FROM sys_menu WHERE perms = 'bzrkh:teacherAssessment:list' LIMIT 1),
4,
'',
'',
'',
'',
1,
0,
'F',
'0',
'0',
'bzrkh:teacherAssessment:withdraw',
'#',
103,
1,
NOW(),
1,
NOW(),
'班主任考核撤销提交权限'
);
-- ==========================================
-- 权限字符说明
-- ==========================================
/*
新增权限字符:
- bzrkh:teacherAssessment:withdraw - 班主任考核撤销权限
使用的API接口及对应权限:
- POST /bzrkh/teacherAssessment/withdraw - bzrkh:teacherAssessment:withdraw
说明:
- 撤销功能只对待审核状态(audit_status='0')的考核有效
- 撤销后会逻辑删除评分数据,允许重新提交
- 已审核通过或驳回的考核无法撤销
*/
@@ -1,43 +0,0 @@
-- ==========================================
-- 班主任考核方案管理权限配置
-- 版本:V1.0.0
-- 功能:班主任考核方案管理菜单及权限配置
-- 作者:系统设计
-- 时间:2025-01-08
-- 模块:学工管理-班主任考核方案管理
-- ==========================================
-- 父菜单:班主任考核管理(如果不存在则创建)
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, update_by, update_time, remark)
SELECT '000000', '班主任考核管理', 0, 4, 'bzrkh', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'user-tie', 103, 1, NOW(), NULL, NULL, '班主任考核管理目录'
WHERE NOT EXISTS (SELECT 1 FROM sys_menu WHERE tenant_id = '000000' AND menu_name = '班主任考核管理' AND parent_id = 0);
-- 获取班主任考核管理菜单ID
SET @parent_menu_id = (SELECT menu_id FROM sys_menu WHERE tenant_id = '000000' AND menu_name = '班主任考核管理' AND parent_id = 0 LIMIT 1);
-- 班主任考核方案管理菜单
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, update_by, update_time, remark) VALUES
('000000', '考核方案管理', @parent_menu_id, 1, 'assessmentScheme', 'bzrkh/assessmentScheme/index', NULL, 1, 0, 'C', '0', '0', 'bzrkh:assessmentScheme:list', 'clipboard', 103, 1, NOW(), NULL, NULL, '班主任考核方案管理菜单');
-- 获取考核方案管理菜单ID
SET @scheme_menu_id = (SELECT menu_id FROM sys_menu WHERE tenant_id = '000000' AND menu_name = '考核方案管理' AND parent_id = @parent_menu_id LIMIT 1);
-- 班主任考核方案管理按钮权限
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, update_by, update_time, remark) VALUES
('000000', '考核方案查询', @scheme_menu_id, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'bzrkh:assessmentScheme:query', '#', 103, 1, NOW(), NULL, NULL, ''),
('000000', '考核方案新增', @scheme_menu_id, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'bzrkh:assessmentScheme:add', '#', 103, 1, NOW(), NULL, NULL, ''),
('000000', '考核方案修改', @scheme_menu_id, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'bzrkh:assessmentScheme:edit', '#', 103, 1, NOW(), NULL, NULL, ''),
('000000', '考核方案删除', @scheme_menu_id, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'bzrkh:assessmentScheme:remove', '#', 103, 1, NOW(), NULL, NULL, ''),
('000000', '考核方案导出', @scheme_menu_id, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'bzrkh:assessmentScheme:export', '#', 103, 1, NOW(), NULL, NULL, '');
-- ==========================================
-- 权限字符说明
-- ==========================================
-- 主要权限字符:
-- 1. bzrkh:assessmentScheme:list - 考核方案列表查询权限
-- 2. bzrkh:assessmentScheme:query - 考核方案详情查询权限
-- 3. bzrkh:assessmentScheme:add - 考核方案新增权限
-- 4. bzrkh:assessmentScheme:edit - 考核方案修改权限
-- 5. bzrkh:assessmentScheme:remove - 考核方案删除权限
-- 6. bzrkh:assessmentScheme:export - 考核方案导出权限
-- ==========================================
@@ -1,45 +0,0 @@
-- ==========================================
-- 班主任考核管理权限配置SQL
-- 版本:V1.0.0
-- 功能:班主任考核管理相关权限配置
-- 作者:系统设计
-- 时间:2025-01-27
-- 模块:学工管理-班主任考核管理权限配置
-- ==========================================
-- 1. 菜单配置
-- 班主任考核管理菜单
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query_param, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES
('班主任考核管理', (SELECT menu_id FROM sys_menu WHERE menu_name = '班主任考核系统' LIMIT 1), 5, 'teacherAssessment', 'bzrkh/teacherAssessment/index', '', '', 1, 0, 'C', '0', '0', 'bzrkh:teacherAssessment:list', 'user', 103, 1, now(), 1, now(), '班主任考核管理菜单');
-- 2. 按钮权限配置
-- 获取刚插入的菜单ID
SET @teacher_assessment_menu_id = LAST_INSERT_ID();
-- 班主任考核管理按钮权限
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, query_param, route_name, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES
('班主任考核查询', @teacher_assessment_menu_id, 1, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:teacherAssessment:list', '#', 103, 1, now(), 1, now(), ''),
('班主任考核详情', @teacher_assessment_menu_id, 2, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:teacherAssessment:detail', '#', 103, 1, now(), 1, now(), ''),
('班主任考核提交', @teacher_assessment_menu_id, 3, '', '', '', '', 1, 0, 'F', '0', '0', 'bzrkh:teacherAssessment:submit', '#', 103, 1, now(), 1, now(), '');
-- ==========================================
-- 权限字符说明
-- ==========================================
/*
权限字符列表:
1. bzrkh:teacherAssessment:list - 班主任考核查询权限(查看班级列表、考核计划列表)
2. bzrkh:teacherAssessment:detail - 班主任考核详情权限(查看考核详情)
3. bzrkh:teacherAssessment:submit - 班主任考核提交权限(提交考核)
使用的API接口及对应权限:
- GET /bzrkh/teacherAssessment/classes - bzrkh:teacherAssessment:list
- GET /bzrkh/teacherAssessment/plans - bzrkh:teacherAssessment:list
- GET /bzrkh/teacherAssessment/detail - bzrkh:teacherAssessment:detail
- POST /bzrkh/teacherAssessment/submit - bzrkh:teacherAssessment:submit
说明:
- 班主任只能查看和管理自己担任班主任的班级的考核计划
- 系统会自动根据当前登录用户ID获取其担任班主任的班级
- 只展示计划状态为启用(0)的考核计划
- 只展示班级状态为正常(1)的班级
*/
@@ -1,157 +0,0 @@
# 班主任考核管理部署说明
## 📋 功能概述
班主任考核管理功能允许班主任查看和管理自己担任班主任的班级的考核指标得分。该功能包含以下特性:
- 根据当前登录班主任自动显示其管理的班级标签页
- 每个班级标签页独立显示该班级的考核计划列表
- 只显示计划状态为启用的考核计划
- 提供考核提交和查看功能(功能框架已实现,业务逻辑待完善)
## 🚀 部署步骤
### 1. 后端部署
#### 1.1 新增文件清单
**Controller层**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/controller/TeacherAssessmentController.java`
**Service层**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/service/ITeacherAssessmentService.java`
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/service/impl/TeacherAssessmentServiceImpl.java`
**Mapper层**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/mapper/TeacherAssessmentMapper.java`
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/resources/mapper/bzrkh/TeacherAssessmentMapper.xml`
**Domain层**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/vo/TeacherClassVo.java`
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/bo/TeacherAssessmentQueryBo.java`
#### 1.2 权限配置
执行权限配置SQL文件:
```sql
-- 执行以下SQL文件
backend/ruoyi-modules/ruoyi-bzrkh/班主任考核管理权限配置.sql
```
#### 1.3 重新编译启动
```bash
# 编译项目(在后端根目录执行)
mvn clean compile
# 重启应用服务
# 根据实际部署方式重启
```
### 2. 前端部署
#### 2.1 新增文件清单
**API层**
- `web/src/api/bzrkh/teacherAssessment/types.ts`
- `web/src/api/bzrkh/teacherAssessment/index.ts`
**视图层**
- `web/src/views/bzrkh/teacherAssessment/index.vue`
#### 2.2 重新编译部署
```bash
# 安装依赖(如果需要)
npm install
# 编译前端项目
npm run build:prod
# 部署到nginx
# 根据实际部署方式进行部署
```
## 🔐 权限配置
### 权限字符列表
| 权限字符 | 权限说明 | 对应功能 |
|---------|----------|----------|
| `bzrkh:teacherAssessment:list` | 班主任考核查询权限 | 查看班级列表、考核计划列表 |
| `bzrkh:teacherAssessment:detail` | 班主任考核详情权限 | 查看考核详情 |
| `bzrkh:teacherAssessment:submit` | 班主任考核提交权限 | 提交考核 |
### API接口权限映射
| HTTP方法 | 接口路径 | 权限字符 | 功能说明 |
|---------|----------|----------|----------|
| GET | `/bzrkh/teacherAssessment/classes` | `bzrkh:teacherAssessment:list` | 获取班主任管理的班级列表 |
| GET | `/bzrkh/teacherAssessment/plans` | `bzrkh:teacherAssessment:list` | 获取班主任考核计划列表 |
| GET | `/bzrkh/teacherAssessment/detail` | `bzrkh:teacherAssessment:detail` | 查看考核详情 |
| POST | `/bzrkh/teacherAssessment/submit` | `bzrkh:teacherAssessment:submit` | 提交考核 |
## 📊 数据依赖
### 数据表依赖
- **主要数据表**:
- `bmzr_assessment_plan` - 班主任考核计划表
- `bmzr_assessment_scheme` - 班主任考核方案表
- `xg_class_msg` - 班级信息表
- **查询条件**:
- 班级状态必须为 '1'(正常)
- 考核计划状态必须为 '0'(启用)
- 班主任ID通过当前登录用户自动获取
### 业务规则
1. **权限控制**:班主任只能查看和管理自己担任班主任的班级
2. **数据过滤**:只展示状态正常的班级和启用的考核计划
3. **自动关联**:系统根据登录用户ID自动获取其担任班主任的班级
## 🔄 后续开发
### 待完善功能
1. **提交考核逻辑**(`TeacherAssessmentServiceImpl.submitAssessment`)
- 验证班主任权限
- 验证考核计划有效性
- 创建或更新考核记录
- 更新考核状态
2. **查看考核详情**(`TeacherAssessmentServiceImpl.getAssessmentDetail`)
- 获取考核计划详情
- 获取考核指标详情
- 获取考核记录和评分
- 返回完整的考核详情数据
### 扩展建议
1. **考核评分页面**:为提交考核和查看考核功能创建专门的页面
2. **考核统计**:添加班级考核统计和对比功能
3. **考核报告**:生成班级考核报告导出功能
4. **消息通知**:考核提交后的消息通知机制
## ⚠️ 注意事项
1. **数据库依赖**:确保 `xg_class_msg` 表存在且包含班主任相关字段
2. **权限验证**:所有接口都有权限验证,请确保用户具有相应权限
3. **登录状态**:功能依赖当前登录用户信息,确保用户已正常登录
4. **前端兼容**:使用了 Element Plus 和 Vue 3 相关特性,确保前端环境兼容
## 📞 技术支持
如有部署问题,请检查:
1. **后端日志**:查看应用启动日志和接口调用日志
2. **数据库连接**:确保数据库连接正常且表结构正确
3. **权限配置**:确保菜单和按钮权限配置正确
4. **前端控制台**:查看浏览器控制台错误信息
---
**文档版本**: V1.0.0
**创建时间**: 2025-01-27
**最后更新**: 2025-01-27
@@ -1,37 +0,0 @@
-- ==========================================
-- 班主任考核计划管理权限配置
-- 创建时间:2025-01-08
-- 功能描述:为班主任考核计划管理模块配置菜单和权限
-- ==========================================
-- 删除已存在的菜单
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 - 考核计划导出权限
-- ==========================================
@@ -1,184 +0,0 @@
# 班主任考核计划管理模块部署说明
## 模块概述
班主任考核计划管理模块是班主任考核管理系统的重要组成部分,用于管理考核计划的生命周期,包括计划的创建、修改、删除、查询以及状态管理等功能。
## 技术架构
### 后端技术栈
- **框架**: Spring Boot 3.4.6
- **ORM**: MyBatis-Plus
- **数据库**: MySQL 8.0+
- **权限管理**: Sa-Token
- **数据验证**: Bean Validation
### 前端技术栈
- **框架**: Vue 3.5.13
- **UI组件**: Element Plus
- **类型检查**: TypeScript 5.8.3
- **构建工具**: Vite
## 文件结构
### 后端文件
```
backend/ruoyi-modules/ruoyi-bzrkh/
├── src/main/java/org/dromara/bzrkh/
│ ├── domain/
│ │ ├── BmzrAssessmentPlan.java # 实体类
│ │ ├── bo/BmzrAssessmentPlanBo.java # 业务对象
│ │ └── vo/BmzrAssessmentPlanVo.java # 视图对象
│ ├── mapper/
│ │ └── BmzrAssessmentPlanMapper.java # 数据访问层
│ ├── service/
│ │ ├── IBmzrAssessmentPlanService.java # 服务接口
│ │ └── impl/BmzrAssessmentPlanServiceImpl.java # 服务实现
│ └── controller/
│ └── BmzrAssessmentPlanController.java # 控制器
├── 班主任考核计划管理权限配置.sql # 权限配置SQL
└── 班主任考核计划管理部署说明.md # 部署说明
```
### 前端文件
```
web/src/
├── api/bzrkh/assessmentPlan/
│ ├── types.ts # 类型定义
│ └── index.ts # API接口
└── views/bzrkh/assessmentPlan/
└── index.vue # Vue组件
```
### 文档文件
```
docs/开发文档/API/
└── 班主任考核计划管理API.md # API文档
```
## 部署步骤
### 1. 数据库初始化
**创建数据表**:
执行 `docs/设计文档/database/班主任考核管理/bmzr_assessment_tables.sql` 中的 `bmzr_assessment_plan` 表创建语句。
**配置字典数据**:
执行 `docs/设计文档/database/班主任考核管理/bmzr_dict_data_mysql.sql` 中的相关字典配置。
### 2. 权限配置
执行 `backend/ruoyi-modules/ruoyi-bzrkh/班主任考核计划管理权限配置.sql` 文件,创建菜单和权限配置。
### 3. 后端代码部署
1. 确保 `ruoyi-bzrkh` 模块已在主工程的 `pom.xml` 中引入
2. 确保所有Java文件已正确放置在对应目录
3. 重启后端服务
### 4. 前端代码部署
1. 将前端Vue组件文件放置在正确目录
2. 确保API类型定义和接口文件正确配置
3. 重新构建前端项目
### 5. 功能验证
1. 登录系统,验证菜单显示正常
2. 测试各项功能:新增、修改、删除、查询、导出
3. 验证权限控制正常工作
## 权限配置详情
### 菜单权限
- **主菜单**: 班主任考核计划管理
- **路径**: `/bzrkh/assessmentPlan`
- **组件**: `bzrkh/assessmentPlan/index`
- **图标**: `fa fa-calendar-check-o`
### 功能权限
| 权限字符 | 权限名称 | 说明 |
|---------|---------|------|
| `bzrkh:assessmentPlan:list` | 考核计划列表 | 查询考核计划列表的权限 |
| `bzrkh:assessmentPlan:query` | 考核计划查询 | 查询单个考核计划详情的权限 |
| `bzrkh:assessmentPlan:add` | 考核计划新增 | 新增考核计划的权限 |
| `bzrkh:assessmentPlan:edit` | 考核计划修改 | 修改考核计划信息的权限 |
| `bzrkh:assessmentPlan:remove` | 考核计划删除 | 删除考核计划的权限 |
| `bzrkh:assessmentPlan:export` | 考核计划导出 | 导出考核计划数据的权限 |
## API接口列表
### RESTful接口
| 方法 | 路径 | 说明 | 权限 |
|------|------|------|------|
| GET | `/bzrkh/assessmentPlan/list` | 查询计划列表 | `bzrkh:assessmentPlan:list` |
| GET | `/bzrkh/assessmentPlan/{id}` | 获取计划详情 | `bzrkh:assessmentPlan:query` |
| POST | `/bzrkh/assessmentPlan` | 新增计划 | `bzrkh:assessmentPlan:add` |
| PUT | `/bzrkh/assessmentPlan` | 修改计划 | `bzrkh:assessmentPlan:edit` |
| DELETE | `/bzrkh/assessmentPlan/{ids}` | 删除计划 | `bzrkh:assessmentPlan:remove` |
| POST | `/bzrkh/assessmentPlan/export` | 导出计划 | `bzrkh:assessmentPlan:export` |
| PUT | `/bzrkh/assessmentPlan/changeStatus` | 修改状态 | `bzrkh:assessmentPlan:edit` |
| GET | `/bzrkh/assessmentPlan/schemes/options` | 获取方案选项 | `bzrkh:assessmentPlan:list` |
## 核心功能特性
### 1. 计划管理
- 支持考核计划的完整生命周期管理
- 计划编码唯一性校验
- 时间范围合理性验证
### 2. 状态控制
- 支持计划启用/禁用状态切换
- 状态变更权限控制
### 3. 数据导出
- 支持Excel格式数据导出
- 可根据查询条件导出指定数据
### 4. 权限控制
- 完整的菜单和功能权限控制
- 基于Sa-Token的细粒度权限管理
## 注意事项
### 开发要求
1. 所有API接口必须包含权限注解
2. 参数验证使用Bean Validation
3. 错误处理要规范统一
4. 代码注释要完整清晰
### 业务规则
1. 计划编码在租户内必须唯一
2. 计划的开始时间不能大于结束时间
3. 数据提取时间不能超出计划时间范围
4. 删除计划前需要检查关联数据
### 性能优化
1. 查询接口支持分页
2. 列表查询支持多条件组合查询
3. 大数据量导出采用流式处理
## 故障排查
### 常见问题
1. **权限问题**: 检查菜单权限配置是否正确
2. **接口404**: 检查后端路由配置
3. **前端报错**: 检查API接口定义是否匹配
4. **数据库错误**: 检查表结构和字段是否正确
### 日志查看
- 后端日志位置: `logs/ruoyi-admin.log`
- 前端控制台: 浏览器开发者工具
## 联系方式
如有问题,请联系开发团队或查看相关文档:
- API文档: `docs/开发文档/API/班主任考核计划管理API.md`
- 数据库文档: `docs/设计文档/database/班主任考核管理/`
## 版本信息
- **版本**: v1.0.0
- **创建时间**: 2025-01-08
- **最后更新**: 2025-01-08
- **开发者**: 系统开发团队
@@ -1,141 +0,0 @@
# 班主任考核指标类型管理模块部署说明
## 1. 数据库准备
### 1.1 执行表结构创建脚本
```sql
-- 执行表结构创建脚本
source docs/设计文档/database/班主任考核管理/bmzr_assessment_tables.sql
```
### 1.2 执行字典数据脚本
```sql
-- 执行字典数据脚本
source docs/设计文档/database/班主任考核管理/bmzr_dict_data_mysql.sql
```
## 2. 后端代码部署
### 2.1 已创建的后端文件列表
1. **Domain实体类**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/BmzrAssessmentIndicatorType.java`
2. **VO类**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/vo/BmzrAssessmentIndicatorTypeVo.java`
3. **BO类**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/domain/bo/BmzrAssessmentIndicatorTypeBo.java`
4. **Mapper接口**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/mapper/BmzrAssessmentIndicatorTypeMapper.java`
5. **Service接口**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/service/IBmzrAssessmentIndicatorTypeService.java`
6. **Service实现类**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/service/impl/BmzrAssessmentIndicatorTypeServiceImpl.java`
7. **Controller**
- `backend/ruoyi-modules/ruoyi-bzrkh/src/main/java/org/dromara/bzrkh/controller/BmzrAssessmentIndicatorTypeController.java`
### 2.2 后端配置说明
确保 `ruoyi-bzrkh` 模块已正确配置并加载:
1. 检查 `backend/ruoyi-modules/pom.xml` 中是否包含 `ruoyi-bzrkh` 模块
2. 确保 Spring Boot 能够扫描到 `org.dromara.bzrkh` 包下的组件
## 3. 前端代码部署
### 3.1 已创建的前端文件列表
1. **API类型定义**
- `web/src/api/bzrkh/assessmentIndicatorType/types.ts`
2. **API调用文件**
- `web/src/api/bzrkh/assessmentIndicatorType/index.ts`
3. **Vue页面**
- `web/src/views/bzrkh/assessmentIndicatorType/index.vue`
### 3.2 前端配置说明
1. 确保路由配置正确,能够访问到创建的Vue页面
2. 检查API请求路径是否正确配置
## 4. 权限配置
### 4.1 权限字符列表
- `bzrkh:assessmentIndicatorType:list` - 查询权限
- `bzrkh:assessmentIndicatorType:query` - 详情权限
- `bzrkh:assessmentIndicatorType:add` - 新增权限
- `bzrkh:assessmentIndicatorType:edit` - 修改权限
- `bzrkh:assessmentIndicatorType:remove` - 删除权限
- `bzrkh:assessmentIndicatorType:export` - 导出权限
### 4.2 菜单配置
请参考 `班主任考核指标类型管理权限配置.md` 文件中的SQL脚本进行菜单和权限配置。
## 5. 字典配置说明
该模块使用以下字典:
1. **sys_item_enable** - 状态字典(启用/停用)
2. **bmzr_indicator_type** - 指标类型字典(已通过脚本创建)
## 6. 功能特性
### 6.1 实现的功能
- ✅ 指标类型列表查询(支持分页、条件筛选)
- ✅ 指标类型详情查看
- ✅ 新增指标类型
- ✅ 修改指标类型
- ✅ 删除指标类型(逻辑删除)
- ✅ 批量删除
- ✅ 数据导出
- ✅ 权限控制
### 6.2 数据校验
- 指标类型编码唯一性校验
- 必填字段验证
- 字段长度限制
### 6.3 界面特性
- 响应式设计
- 搜索条件折叠/展开
- 友好的删除确认提示
- 完整的CRUD操作界面
## 7. 注意事项
1. **权限配置**:请确保在系统菜单管理中正确配置权限
2. **字典数据**:确保相关字典数据已正确导入
3. **表结构**:确保数据库表结构与代码实体类保持一致
4. **多租户**:该模块支持多租户,请注意租户隔离
5. **逻辑删除**:删除操作为逻辑删除,数据不会物理删除
## 8. 测试建议
1. 测试CRUD基本功能
2. 测试权限控制是否生效
3. 测试数据校验规则
4. 测试批量操作
5. 测试搜索和分页功能
6. 测试导出功能
## 9. 扩展说明
该模块为班主任考核管理系统的基础模块,后续可基于此模块扩展:
- 考核指标管理
- 考核方案管理
- 考核计划管理
- 考核评分管理
所有扩展模块都可以引用指标类型进行关联设计。