Files
CN_Tool/tools
caizhouyu 98b3f0dbe8 feat(mms-mapping): 添加ICD转XML映射功能
- 新增DefaultCfgToXml.txt模板文件,定义报告列表、逻辑节点分类、相别、倍数器、单位等配置项
- 添加IcdToXmlGenerateCommand类,封装ICD文件转换命令参数,包括文件名、字节流、版本号等属性
- 创建IcdToXmlGenerateRequest类,定义ICD转XML生成请求参数,包含版本号、作者、保存选项等字段
- 实现IcdToXmlGenerateResult类,封装转换结果,包含状态、消息、IED名称、LD实例等信息
- 开发IcdToXmlMappingService组件,提供索引映射配置和统计数据分析功能
- 添加IcdToXmlRequestConverter组件,实现请求参数到命令对象的转换逻辑
- 创建IcdToXmlResponse类,定义ICD转XML响应结构,包含状态、消息、映射文档等属性
- 实现IcdToXmlResponseConverter组件,将结果对象转换为响应对象
- 添加IcdToXmlTaskAppService服务,协调各个组件完成ICD到XML的完整转换流程
- 集成ICD解析、模板加载、索引分析、验证、映射生成等核心功能模块
2026-04-29 15:16:44 +08:00
..
2026-04-13 11:50:14 +08:00
2026-04-17 16:31:38 +08:00
2026-04-17 16:31:38 +08:00
2026-04-17 16:31:38 +08:00

Tools 模块说明

当前状态

tools 当前是工具能力聚合模块,但在本仓库内已经完成一次收口。

当前真实保留的子模块有:

  • activate-tool
  • mms-mapping
  • wave-tool

因此,tools 现阶段仍然是聚合模块但当前已实际承载激活工具、ICD/MMS 映射工具和波形查看工具三个子模块。

当前结构

tools/
├── activate-tool/
├── mms-mapping/
└── wave-tool/

其中 tools/mms-mapping 当前 Maven artifactIdmms-mapping

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 路径提供能力。

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-tooltools/mms-mappingtools/wave-tool 当前主要依赖:

  • com.njcn:njcn-common
  • com.njcn:spingboot2.3.12

并由 entrance 模块直接聚合使用。

文档说明

在本次 P0 收口前,tools/README.md 曾描述多个不存在于当前仓库中的工具子模块。 该描述已不再作为当前项目结构依据。

如果后续重新引入新的工具子模块,应:

  • 同步更新 tools/pom.xml
  • 同步更新本说明文档
  • docs 下补充模块边界与职责说明