diff --git a/README.md b/README.md index 08a7f53..c2f5289 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ CN_Tool 是一个基于 Spring Boot 的多模块后端聚合工程,当前仓 其中 `tools` 当前包含: - `activate-tool` +- `add-data` - `mms-mapping` - `wave-tool` @@ -35,7 +36,7 @@ CN_Tool 是一个基于 Spring Boot 的多模块后端聚合工程,当前仓 - `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 相关组件 - `tools/activate-tool` - 负责激活码生成、激活码验证、许可证读取等能力 +- `tools/add-data` + - 当前提供电能质量 13 张表批量补数、任务状态查询和模板规则查询能力 - `tools/mms-mapping` - 负责 ICD 文件解析与 MMS 映射数据生成能力 - `tools/wave-tool` diff --git a/tools/README.md b/tools/README.md index 8f877d2..1fd9766 100644 --- a/tools/README.md +++ b/tools/README.md @@ -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` diff --git a/tools/add-data/README.md b/tools/add-data/README.md new file mode 100644 index 0000000..cd3eb87 --- /dev/null +++ b/tools/add-data/README.md @@ -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` 四类数据类型生成和预估补数。 + +后续如果补齐逐表真实相别映射、任务持久化或更细粒度模板规则,应优先沿现有职责边界扩展,不回退为单一大类承载全部逻辑。 diff --git a/tools/mms-mapping/src/test/java/com/njcn/gather/icd/mapping/debug/GetIcdMmsJsonDebugRunner.java b/tools/mms-mapping/src/test/java/com/njcn/gather/icd/mapping/debug/GetIcdMmsJsonDebugRunner.java index f8b67bf..384e65e 100644 --- a/tools/mms-mapping/src/test/java/com/njcn/gather/icd/mapping/debug/GetIcdMmsJsonDebugRunner.java +++ b/tools/mms-mapping/src/test/java/com/njcn/gather/icd/mapping/debug/GetIcdMmsJsonDebugRunner.java @@ -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";