Files
railwaysystem/docs/current/02-FUNCTION-MODULES.md
T
wangzhibiao 122a242dd0 文档维护:纠偏现行真理中心构建源与已闭环事实
1. 明确 build_ui/ 为前端唯一构建与部署真源,RuoYi-Vue/ruoyi-ui 标记为历史归档备份;
2. 标记 ACCOM-PERM-01 为 RESOLVED_2026-09-23 已彻底闭环,内部 P0 阻断项清零;
3. 对全量 104 项内部 API 端点完成源码级表追踪 (VERIFIED_FROM_SOURCE) 与 build_ui 视图引用验证;
4. 外部 Client API 矩阵全面引入最后验证时间、验证方式、证据源与实时响应四项证据字段;
5. 更新下一阶段标准化行动路线图为严格 16 步标准流。
2026-09-24 00:03:47 +08:00

73 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 02 - 系统业务功能模块全量判定 (Function Modules)
> **判定原则**:严格基于底层代码实现(Controller / Service / DDL)、自动化测试覆盖与实际浏览器交互判定。
> **代码真源**:前端视图基于 `build_ui/src/views/train/`,后端基于 `RuoYi-Vue/`。
> **分类标准**:
> - **`IMPLEMENTED`**:代码完全落地、数据库表就绪、经过真实测试验证、具备完整正向主闭环;
> - **`PARTIAL`**:部分代码或表结构就绪,但存在未闭环的交互或口径待确认项;
> - **`MOCK`**:使用本地假数据或模拟桩进行逻辑联调,未接入真实系统;
> - **`BLOCKED_EXTERNAL`**:内部逻辑具备,因外部厂商环境缺少硬件/真实资源造成客观阻塞;
> - **`NOT_IMPLEMENTED`**:一期未规划或尚未开始开发。
---
## 1. 业务功能模块状态总览表
| 序号 | 业务模块 | 最终状态判定 | 核心后端控制器 (Controller) | 关联核心物理表 | 关键能力与现状边界 |
| :---: | :--- | :---: | :--- | :--- | :--- |
| **01** | **教师档案管理** | **`IMPLEMENTED`** | `TrainTeacherController`<br>`TrainTeacherMeController` | `train_teacher`<br>`sys_user` | 档案增删改查、身份证/手机国密脱敏存储、账号自动绑定、教师个人工作台课表。 |
| **02** | **学员档案管理** | **`IMPLEMENTED`** | `TrainStudentController`<br>`TrainStudentMeController` | `train_student`<br>`sys_user` | 学员主档管理、身份证密文脱敏、批量导入、学员自服务培训中心(个人课表、考勤、住宿查询)。 |
| **03** | **课程资源库** | **`IMPLEMENTED`** | `TrainCourseController` | `train_course`<br>`train_resource` | 理论/实作课程分类管理、标准学时/学分配置、教学大纲、统一资源关联。 |
| **04** | **场地与教室** | **`IMPLEMENTED`** | `TrainClassroomInfoController`<br>`TrainTrainingSiteController` | `train_classroom_info`<br>`train_training_site` | 教室与实训场地物理档案管理、容纳人数上限控制、使用状态互斥校验。 |
| **05** | **开班计划管理** | **`IMPLEMENTED`** | `TrainPlanController` | `train_plan` | 培训班全生命周期流转(草稿 0 → 已发布 1 → 培训中 2 → 已结训 3)、多班级并行管理。 |
| **06** | **开班课程配置** | **`IMPLEMENTED`** | `TrainPlanCourseController` | `train_plan_course` | 一班多课绑定、分配各门课程任课教师、排课先后序号与学时分配。 |
| **07** | **课次日程与排课**| **`IMPLEMENTED`** | `TrainLessonController` | `train_lesson` | 课次生成、时段安排;**四维时段冲突校验(教师、教室、学员班级、起止日期范围)**。 |
| **08** | **考勤与报到管理**| **`IMPLEMENTED`** | `TrainReportActionController`<br>`TrainStudentCheckinController`<br>`AttendanceController` | `train_class_report`<br>`train_student_checkin`<br>`train_lesson` | 开班现场报到核验、课次签到/签退、教师代签补卡、人工标记缺勤、请假记录。 |
| **09** | **住宿房间管理** | **`IMPLEMENTED`** | `TrainDormitoryInfoController`<br>`TrainAccommodationController` | `train_dormitory_info`<br>`train_accommodation` | 房间/床位维护、分配住宿、床位重叠校验 (`EX-13`)、防混住约束已实现;<br>✅ **`ACCOM-PERM-01` 已正式闭环**:`train_admin` 具备入住、退宿、调房完整操作权限。 |
| **10** | **成绩管理 (C03)** | **`PARTIAL`** | `TrainScoreInfoController` | `train_score_info` | 数据库已支持动态科目与基础成绩录入;综合成绩加权计算、教师端打分交互流收敛中。 |
| **11** | **统计分析大盘** | **`IMPLEMENTED`** | `TrainAnalysisController` | 聚合多表查询 | 管理驾驶舱看板、考勤专题分析、每日打卡走势、考勤异常 Top 10,**隔离未来课次(0泄漏)**。 |
| **12** | **DMS 外部智能门锁**| **`BLOCKED_EXTERNAL`** | `TrainAccessManagementController`<br>`DmsHttpClient` 等 | `train_external_resource_mapping`<br>`train_dorm_auth`<br>`train_external_operation` | 鉴权/Token TTL/Cookie Token/只读API连通已验证;**外部环境 0 房间 0 门锁,物理硬件操作客观受阻**。 |
| **13** | **电子班牌设备** | **`PARTIAL` / `MOCK`**| `TrainElectronicBoardController` | `train_electronic_board` | 基础档案 CRUD 已实现;现场物理 IoT 设备通信协议采用模拟桩。 |
| **14** | **学员成长画像** | **`PARTIAL`** | `TrainStudentPortraitController` | `train_student`<br>`train_study_duration` | 个人基础档案卡、自主学时累计呈现可用;深度多维雷达图与业务评估模型待甲方定级确认。 |
| **15** | **自主学习时长** | **`IMPLEMENTED`** | `TrainStudyDurationController` | `train_study_duration` | 学员线上课时记录、学习时长统计与台账查询。 |
---
## 2. 核心模块详细能力边界说明
### 2.1 住宿管理模块 (`IMPLEMENTED` 状态定性说明)
- **已实现能力**:
- 宿舍楼栋、楼层、房间、床位档案维护;
- 房间性别属性与防男女混住校验;
- 学员单在用住宿约束(同一学员同一时段不可多处在住);
- 床位重叠冲突业务校验 (`EX-13`,返回标准业务错误提示);
- 管理员权限下的分配住宿操作;
- **住宿全生命周期办理闭环**:
- 入住办理(状态 0 预分配 → 1 在住);
- 退宿办理(状态 1 在住 → 2 已退宿);
- 调房办理(状态 1 在住学员迁移至新宿舍与新床位);
- 住宿履历查询。
- **历史缺陷闭环说明 (`ACCOM-PERM-01` RESOLVED)**:
- `015_dms_package_a_hardening.sql` 已完成权限加固,业务管理员角色 `train_admin` (role_id=3) 已被正式授予 `menu_id=2263` (`train:accommodation:edit`);
- 真实浏览器验证确认:`qa_train_admin` 登录后,预分配行正常渲染“入住”按钮,在住行正常渲染“调房”和“退宿”按钮,删除按钮按最小权限原则隐藏;
- 11 个权限契约测试全部通过,本模块正式判定为 **`IMPLEMENTED`**。
### 2.2 成绩管理模块 (C03 `PARTIAL` 状态说明)
- **已实现能力**:
- 物理表 `train_score_info` 包含 `score` 字段及 `>= 0` CHECK 约束;
- 后端提供基础增删改查接口;
- **待闭环项**:
- 多科目加权折算规则(如:理论 40% + 实作 60%);
- 教师工作台专属打分与批量录入界面;
- 导出最终培训成绩汇总合格单。
### 2.3 DMS 智能门锁模块 (`BLOCKED_EXTERNAL` 定性说明)
- **已打通技术链路**:
- 官方标准登录鉴权接口 `/public/rest/third-party-app/token/get` 联调成功,返回 Cookie Token;
- TokenManager 实现了 7200 秒 TTL 单例滑动续期与 Single-Flight 并发防抖;
- 建筑、楼层、房间、门锁 4 大只读接口完成 HTTP 连通与空结果结构适配;
- **客观外部阻塞事实**:
- 外部系统当前 `building/list`, `room/list`, `doorlock/list` 返回数据集均为 **空列表 (`[]`)**;
- 外部尚未挂接任何实体通电门锁设备;
- 生产安全红线严禁在无测试设备授权下调用物理写操作 (`REAL_DMS_MUTATION_COUNT = 0`)。