增加项目侧重构文档

This commit is contained in:
strepsiades
2026-03-12 14:54:48 +08:00
parent 758b1c4f77
commit 84b3b7652a
16 changed files with 1485 additions and 458 deletions
+62
View File
@@ -103,3 +103,65 @@
2.`personnel_type` 补正式 enum/schema 校验。
3.`task_type` 补统一白名单校验。
4. 不要把集团侧 `Personnel.code/status` 直接映射到本地 `personnel_type/is_duty`
## 5. 按本轮要求的改造落点
personnel 领域不是这轮“项目初始化 + 项目类型 field_config”第一批重点,但仍需要按统一口径写清楚 create、下拉和清理边界。
### 5.1 初始化
本地人员资质领域当前没有项目初始化批量灌数链路。
因此本轮不把它纳入 `init_project_data)` 第一批改造范围。
### 5.2 Create 校验
当前 `PersonnelQualificationService.create()` 已直接在 service 层校验:
- `personnel_type`
- `task_type`
校验来源是本地模型类常量:
- `PERSONNEL_TYPE_SAFE`
- `PERSONNEL_TYPE_SPECIAL`
- `PERSONNEL_TASK_TYPE`
这类字段当前更像固定语义本地枚举,不是按 `project_type` 变化的字段级配置候选项。
本轮目标是:
- 继续把它们视为本地固定候选项
- 统一 create / update / list 使用同一套定义源
- 不误迁到项目类型 field_config
### 5.3 下拉列表
当前已有:
- `/safety/personnel/task_type/list`
它直接返回 `PERSONNEL_TASK_TYPE`
本轮这里不要求强行改成 `project_type` 相关 config,而是要求:
- 明确它是本地固定候选项
- 前端下拉和 create 校验继续同源
### 5.4 清理项
personnel 领域本轮的清理重点不是删 enum,而是避免错误地把集团侧 `Personnel` 语义强行映射进来。
应避免:
- 把本地 `personnel_type``task_type` 误改造成和集团侧 `code/status` 一一对应
- 同一字段在 service 和下拉各自维护两套值
## 6. 测试关注点
personnel 领域 service 层集成测试至少覆盖:
1. `personnel_type` 合法值和非法值创建校验。
2. `special` 人员必须校验 `task_type`
3. `task_type/list` 返回值与 create 校验使用同源常量。