Files
CN_Tool/tools/README.md
yexb fd6e5097d7 feat(mms-mapping): 添加ICD一致性校验功能并重构设备类型管理
- 在MappingController中新增ICD一致性校验接口checkIcdJsonConsistency
- 添加IcdConsistencyCheckService服务实现ICD映射JSON一致性校验逻辑
- 添加IcdConsistencyCheckRequest和IcdConsistencyCheckResponse相关数据传输对象
- 在CsIcdPathPO中新增icdContent字段存储ICD内容字节数组
- 在CsIcdPathMapper中新增selectIcdPathList方法支持关键词搜索
- 移除设备类型相关的控制器、服务接口及实现类(MmsDeviceTypeController等)
- 更新.gitignore文件排除特定jar包路径
- 在pom.xml中添加device-types模块依赖和JNA库依赖
- 更新README.md文档添加device-types模块说明
- 重命名steady-DataView为steady-dataView模块名统一格式
2026-06-15 08:38:19 +08:00

142 lines
4.5 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.

# Tools 模块说明
## 当前状态
`tools` 当前是工具能力聚合模块,但在本仓库内已经完成一次收口。
当前真实保留的子模块有:
- `activate-tool`
- `add-data`
- `add-ledger`
- `device-types`
- `mms-mapping`
- `parse-pqdif`
- `wave-tool`
因此,`tools` 现阶段仍然是聚合模块但当前已实际承载激活工具、电能质量数据补录工具、数据台账工具空模块、ICD/MMS 映射工具、PQDIF 解析预留工具和波形查看工具六个子模块。
## 当前结构
```text
tools/
├── activate-tool/
├── add-data/
├── add-ledger/
├── device-types/
├── mms-mapping/
├── parse-pqdif/
└── wave-tool/
```
其中 `tools/device-types` 当前 Maven `artifactId``device-types``tools/mms-mapping` 当前 Maven `artifactId``mms-mapping`
## add-data 的职责
`add-data` 当前已提供电能质量数据批量补录能力,包含:
- 任务预估接口
- 任务创建接口
- 任务状态查询接口
- 模板规则查询接口
- 异步执行、批量写入和内存态任务状态管理
模块内部已按职责拆分 `controller``service``service/impl``component``pojo``config``util`,并通过 `JdbcTemplate + INSERT IGNORE` 执行批量补数。
## add-ledger 的职责
`add-ledger` 当前仅完成 Maven 空模块接入,后续用于承载数据台账相关能力。
当前未提供业务接口、Java 分层骨架、配置项或持久化逻辑。目录中的 `ledger.sql` 仅作为原始脚本保留,暂未接入运行时资源解析。
## activate-tool 的职责
`activate-tool` 当前提供的能力主要围绕设备授权与许可证:
- 生成设备申请码
- 生成激活码
- 校验激活码
- 读取本地许可证信息
从接口层看,当前主要围绕 `/activate/*` 路径提供能力。
## wave-tool 的职责
`wave-tool` 当前提供的能力主要围绕波形解析、查看数据组装与图片生成:
- 解析单列/双列文本波形
- 解析 COMTRADE `cfg/dat` 波形文件
- 计算 RMS 与特征值
- 组装前端查看明细
- 生成瞬时、RMS、治理场景波形图片
从接口层看,当前主要围绕 `/wave/*` 路径提供能力。
## mms-mapping 的职责
`mms-mapping` 当前提供的能力主要围绕 ICD 文件解析与 MMS 映射数据生成:
- 解析 ICD / SCL 文件结构
- 校验索引选择与绑定关系
- 生成映射任务结果与文档数据
从接口层看,当前主要围绕 `/api/mms-mapping` 路径提供能力。
## device-types 的职责
`device-types` 当前提供设备类型维护与校验入口:
- 查询设备类型列表
- 新增、编辑、删除设备类型
- 保存设备类型 ICD 唯一性校验结果
- 预留设备类型 PQDIF 校验入口
从接口层看,当前主要围绕 `/api/device-types` 路径提供能力。
## parse-pqdif 的职责
`parse-pqdif` 当前仅作为 PQDIF 文件解析工具的预留骨架,参照 `mms-mapping` 的 Controller、Service、ServiceImpl 和 VO 分层组织。
- 预留 PQDIF 文件上传解析入口
- 预留解析服务接口与实现
- 当前不包含真实 PQDIF 解析、持久化或数据转换逻辑
从接口层看,当前预留路径为 `/api/parse-pqdif/parse`
## mms-mapping 配置
`mms-mapping` 当前支持以下配置项:
- `icd.mapping.default-template-path`:默认模板资源路径,默认值为 `template/DefaultCfg.txt`
- `icd.mapping.default-author`:请求未传作者时使用的默认作者,默认值为 `system`
- `icd.mapping.default-output-dir`:请求开启落盘但未指定目录时使用的默认输出目录,默认值为空字符串(即当前工作目录)
## 模块定位
当前 `activate-tool` 更适合作为平台级基础能力模块,而不是业务检测模块的一部分。
它的职责边界建议理解为:
- 负责授权相关的编码、解码和许可证文件处理
- 不负责检测业务本身
- 不负责系统级注册资源管理的全部逻辑
## 依赖关系
`tools/activate-tool``tools/add-data``tools/add-ledger``tools/device-types``tools/mms-mapping``tools/parse-pqdif``tools/wave-tool` 当前主要依赖:
- `com.njcn:njcn-common`
- `com.njcn:spingboot2.3.12`
并由 `entrance` 模块直接聚合使用。
## 文档说明
在本次 `P0` 收口前,`tools/README.md` 曾描述多个不存在于当前仓库中的工具子模块。
该描述已不再作为当前项目结构依据。
如果后续重新引入新的工具子模块,应:
- 同步更新 `tools/pom.xml`
- 同步更新本说明文档
-`docs` 下补充模块边界与职责说明