feat(tools): 新增电能质量数据补录工具模块

- 添加 add-data 子模块提供批量补数能力
- 实现任务预估、创建、状态查询和模板规则查询接口
- 集成异步执行、批量写入和内存态任务状态管理功能
- 更新 tools 模块聚合配置包含新子模块
- 添加详细模块说明文档和架构设计文档
- 修改调试文件路径配置指向实际测试文件位置
This commit is contained in:
2026-04-30 11:32:00 +08:00
parent 76a254fef4
commit f69eed857f
4 changed files with 76 additions and 4 deletions

View File

@@ -7,22 +7,36 @@
当前真实保留的子模块有:
- `activate-tool`
- `add-data`
- `mms-mapping`
- `wave-tool`
因此,`tools` 现阶段仍然是聚合模块但当前已实际承载激活工具、ICD/MMS 映射工具和波形查看工具个子模块。
因此,`tools` 现阶段仍然是聚合模块,但当前已实际承载激活工具、电能质量数据补录工具、ICD/MMS 映射工具和波形查看工具个子模块。
## 当前结构
```text
tools/
├── activate-tool/
├── add-data/
├── mms-mapping/
└── wave-tool/
```
其中 `tools/mms-mapping` 当前 Maven `artifactId``mms-mapping`
## add-data 的职责
`add-data` 当前已提供电能质量数据批量补录能力,包含:
- 任务预估接口
- 任务创建接口
- 任务状态查询接口
- 模板规则查询接口
- 异步执行、批量写入和内存态任务状态管理
模块内部已按职责拆分 `controller``service``service/impl``component``pojo``config``util`,并通过 `JdbcTemplate + INSERT IGNORE` 执行批量补数。
## activate-tool 的职责
`activate-tool` 当前提供的能力主要围绕设备授权与许可证:
@@ -76,7 +90,7 @@ tools/
## 依赖关系
`tools/activate-tool``tools/mms-mapping``tools/wave-tool` 当前主要依赖:
`tools/activate-tool``tools/add-data``tools/mms-mapping``tools/wave-tool` 当前主要依赖:
- `com.njcn:njcn-common`
- `com.njcn:spingboot2.3.12`

55
tools/add-data/README.md Normal file
View File

@@ -0,0 +1,55 @@
# add-data 模块说明
## 模块定位
`add-data` 当前提供电能质量 13 张表批量补数能力,支持补数规模预估、后台异步执行、任务状态查询和前端模板规则查询。
## 当前范围
当前模块本次实现范围聚焦在工具型批处理,不接入以下内容:
- 覆盖更新或先删后写
- 监测点基础信息管理
- 独立任务持久化表
- 前端页面代码
目录中保留历史 SQL 脚本 `DATA_FLICKER.sql`,并同步复制到 `src/main/resources/sql/add-data` 供运行时解析表字段元数据。
## 当前结构
```text
add-data/
├── pom.xml
├── README.md
├── DATA_FLICKER.sql
└── src/main/java/com/njcn/gather/tool/adddata/
├── component/
├── config/
├── controller/
├── pojo/
├── service/
└── util/
```
## 基础骨架说明
- `controller/AddDataTaskController`
- 提供预估、创建任务、查询任务状态三个接口
- `controller/AddDataTemplateController`
- 提供前端参数模板规则查询接口
- `component/AddDataTaskExecutor`
- 负责后台异步补数任务执行
- `component/AddDataBatchWriter`
- 负责 `INSERT IGNORE` 批量写入与失败降级
- `component/AddDataValueGenerator`
- 负责按同源规则生成 13 张表数据
- `component/AddDataTableRegistry`
- 负责从 SQL 资源解析字段元数据并注册表定义
- `component/AddDataTaskStatusHolder`
- 首版以内存方式保存任务状态
## 扩展约束
当前实现按 `A/B/C/T` 四类数据类型生成和预估补数。
后续如果补齐逐表真实相别映射、任务持久化或更细粒度模板规则,应优先沿现有职责边界扩展,不回退为单一大类承载全部逻辑。

View File

@@ -34,7 +34,7 @@ import java.util.List;
public class GetIcdMmsJsonDebugRunner {
/** 本地 ICD/SCD 文件路径,运行前请改成真实文件。 */
private static final String ICD_FILE_PATH = "D:/temp/demo.icd";
private static final String ICD_FILE_PATH = "D:\\Work\\工作资料\\1灿能项目资料\\01自研\\01灿能\\09灿能C端功能\\01需求文档\\灿能工具箱开发\\icd\\PQS882_VX_BJ_1(V111).icd";
/** 调试时可固定版本号,便于对比输出。 */
private static final String VERSION = "20260421";