feat(tools): 新增电能质量数据补录工具模块
- 添加 add-data 子模块提供批量补数能力 - 实现任务预估、创建、状态查询和模板规则查询接口 - 集成异步执行、批量写入和内存态任务状态管理功能 - 更新 tools 模块聚合配置包含新子模块 - 添加详细模块说明文档和架构设计文档 - 修改调试文件路径配置指向实际测试文件位置
This commit is contained in:
@@ -26,6 +26,7 @@ CN_Tool 是一个基于 Spring Boot 的多模块后端聚合工程,当前仓
|
|||||||
其中 `tools` 当前包含:
|
其中 `tools` 当前包含:
|
||||||
|
|
||||||
- `activate-tool`
|
- `activate-tool`
|
||||||
|
- `add-data`
|
||||||
- `mms-mapping`
|
- `mms-mapping`
|
||||||
- `wave-tool`
|
- `wave-tool`
|
||||||
|
|
||||||
@@ -35,7 +36,7 @@ CN_Tool 是一个基于 Spring Boot 的多模块后端聚合工程,当前仓
|
|||||||
|
|
||||||
- `entrance/src/main/java/com/njcn/gather/EntranceApplication.java`
|
- `entrance/src/main/java/com/njcn/gather/EntranceApplication.java`
|
||||||
|
|
||||||
`entrance` 模块聚合了 `system`、`disk-monitor`、`user`、`detection`、`activate-tool`、`wave-tool`、`mms-mapping`,是当前运行时主入口。
|
`entrance` 模块聚合了 `system`、`disk-monitor`、`user`、`detection`、`activate-tool`、`add-data`、`wave-tool`、`mms-mapping`,是当前运行时主入口。
|
||||||
|
|
||||||
## 技术基线
|
## 技术基线
|
||||||
|
|
||||||
@@ -82,6 +83,8 @@ P0 已补齐基线文档,建议按以下顺序阅读:
|
|||||||
- 当前以通信基础设施为主,包含 WebSocket / Netty 相关组件
|
- 当前以通信基础设施为主,包含 WebSocket / Netty 相关组件
|
||||||
- `tools/activate-tool`
|
- `tools/activate-tool`
|
||||||
- 负责激活码生成、激活码验证、许可证读取等能力
|
- 负责激活码生成、激活码验证、许可证读取等能力
|
||||||
|
- `tools/add-data`
|
||||||
|
- 当前提供电能质量 13 张表批量补数、任务状态查询和模板规则查询能力
|
||||||
- `tools/mms-mapping`
|
- `tools/mms-mapping`
|
||||||
- 负责 ICD 文件解析与 MMS 映射数据生成能力
|
- 负责 ICD 文件解析与 MMS 映射数据生成能力
|
||||||
- `tools/wave-tool`
|
- `tools/wave-tool`
|
||||||
|
|||||||
@@ -7,22 +7,36 @@
|
|||||||
当前真实保留的子模块有:
|
当前真实保留的子模块有:
|
||||||
|
|
||||||
- `activate-tool`
|
- `activate-tool`
|
||||||
|
- `add-data`
|
||||||
- `mms-mapping`
|
- `mms-mapping`
|
||||||
- `wave-tool`
|
- `wave-tool`
|
||||||
|
|
||||||
因此,`tools` 现阶段仍然是聚合模块,但当前已实际承载激活工具、ICD/MMS 映射工具和波形查看工具三个子模块。
|
因此,`tools` 现阶段仍然是聚合模块,但当前已实际承载激活工具、电能质量数据补录工具、ICD/MMS 映射工具和波形查看工具四个子模块。
|
||||||
|
|
||||||
## 当前结构
|
## 当前结构
|
||||||
|
|
||||||
```text
|
```text
|
||||||
tools/
|
tools/
|
||||||
├── activate-tool/
|
├── activate-tool/
|
||||||
|
├── add-data/
|
||||||
├── mms-mapping/
|
├── mms-mapping/
|
||||||
└── wave-tool/
|
└── wave-tool/
|
||||||
```
|
```
|
||||||
|
|
||||||
其中 `tools/mms-mapping` 当前 Maven `artifactId` 为 `mms-mapping`。
|
其中 `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 的职责
|
||||||
|
|
||||||
`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:njcn-common`
|
||||||
- `com.njcn:spingboot2.3.12`
|
- `com.njcn:spingboot2.3.12`
|
||||||
|
|||||||
55
tools/add-data/README.md
Normal file
55
tools/add-data/README.md
Normal 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` 四类数据类型生成和预估补数。
|
||||||
|
|
||||||
|
后续如果补齐逐表真实相别映射、任务持久化或更细粒度模板规则,应优先沿现有职责边界扩展,不回退为单一大类承载全部逻辑。
|
||||||
@@ -34,7 +34,7 @@ import java.util.List;
|
|||||||
public class GetIcdMmsJsonDebugRunner {
|
public class GetIcdMmsJsonDebugRunner {
|
||||||
|
|
||||||
/** 本地 ICD/SCD 文件路径,运行前请改成真实文件。 */
|
/** 本地 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";
|
private static final String VERSION = "20260421";
|
||||||
|
|||||||
Reference in New Issue
Block a user