- 在 AuthGlobalFilter 中添加 /event/list/transient/page 接口到白名单 - 在 AuthGlobalFilter 中添加 /event/list/transient/page/debug 接口到白名单 - 新增 DATA_FLICKER.sql 数据库脚本文件,包含电能质量相关数据表结构
4.6 KiB
4.6 KiB
wave-tool 模块说明
模块定位
wave-tool 是 tools 下的波形处理模块,当前承担以下能力:
- 文本波形解析
- COMTRADE
cfg/dat文件解析 - RMS 波形计算
- 波形明细组装
- 波形特征值计算
- 波形图片生成与上传
当前实现以 Spring Bean 方式对外提供能力,并由 entrance 模块直接聚合。
代码结构
wave-tool/
├── src/main/java/com/njcn/gather/tool/wave/
│ ├── bo
│ ├── component
│ ├── controller
│ ├── dto
│ ├── enums
│ ├── param
│ ├── service
│ ├── utils
│ └── vo
└── temp/
说明:
component/WaveFileComponent- 负责 COMTRADE 波形文件解析、RMS 计算、特征值计算
component/WavePicComponent- 负责波形图片绘制结果合成与上传
service/impl/WaveServiceImpl- 负责统一编排文本波形解析与 COMTRADE 解析链路
utils/WaveUtil- 负责前端查看明细组装
utils/BitConverter- 负责波形二进制字节转换
temp/- 保留原始参考代码,不作为正式运行入口
对外接口
1. 文本波形解析
- 路径:
POST /wave/parse - Content-Type:
application/json
请求体字段:
waveformText- 波形文本内容,必填
separator- 分隔符,支持
AUTO、TAB、SPACE或直接传入具体字符
- 分隔符,支持
containsXAxis- 是否显式包含 X 轴
xColumnIndex- X 轴列下标
yColumnIndex- Y 轴列下标
skipHeaderLines- 跳过的表头行数
samplingInterval- 单列波形采样间隔
maxPointCount- 返回最大点位数
返回字段:
containsXAxissourcePointCountdisplayPointCountignoredLineCountsampledminXmaxXminYmaxYaverageYpoints
2. COMTRADE 波形解析
- 路径:
POST /wave/parseComtrade - Content-Type:
multipart/form-data
文件字段:
cfgFile- COMTRADE 配置文件
datFile- COMTRADE 数据文件
表单字段:
parseType- 解析类型
0: 高级算法采样率 32-1281: 普通展示2: App 抽点3: 原始波形4: 简化显示,保留 x 轴时间,对暂降底部中间段幅值置空
ptType- PT 接线方式
0: 星形1: 三角2: 开口三角
pt- PT 变比,优先使用
cfg模拟量通道的一次/二次变比;cfg无有效变比时使用该参数
- PT 变比,优先使用
ct- CT 变比,优先使用
cfg模拟量通道的一次/二次变比;cfg无有效变比时使用该参数
- CT 变比,优先使用
monitorName- 测点名称
calculateRms- 是否计算 RMS
buildDetails- 是否组装前端查看明细
calculateEigenvalue- 是否计算特征值
dynamicThreshold- 特征值算法是否使用浮动门槛
generateInstantImage- 是否生成瞬时波形图
generateRmsImage- 是否生成 RMS 波形图
generateInstantZlImage- 是否生成治理场景瞬时波形图
generateRmsZlImage- 是否生成治理场景 RMS 波形图
返回字段:
waveData- 波形基础数据,包含
cfg、原始波形、RMS、标题等
- 波形基础数据,包含
waveDataDetails- 前端查看明细
eigenvalues- 特征值结果
instantImagePath- 瞬时波形图路径
rmsImagePath- RMS 波形图路径
instantZlImagePath- 治理场景瞬时波形图路径
rmsZlImagePath- 治理场景 RMS 波形图路径
使用示例
文本波形
{
"waveformText": "0,220\n1,221\n2,219",
"separator": "AUTO",
"containsXAxis": true,
"maxPointCount": 2000
}
COMTRADE 波形
curl -X POST "http://localhost:8080/wave/parseComtrade" \
-F "cfgFile=@D:/data/test.cfg" \
-F "datFile=@D:/data/test.dat" \
-F "parseType=1" \
-F "ptType=0" \
-F "pt=1" \
-F "ct=1" \
-F "monitorName=测试测点" \
-F "calculateRms=true" \
-F "buildDetails=true" \
-F "calculateEigenvalue=true" \
-F "dynamicThreshold=true" \
-F "generateInstantImage=true" \
-F "generateRmsImage=true"
依赖说明
模块自身直接声明的依赖仍然较轻,核心包括:
com.njcn:njcn-commoncom.njcn:spingboot2.3.12
但当前图片链路还依赖私有组件能力:
DrawPicUtilFileStorageUtilOssPathPicCommonData
因此,若要真实运行图片生成功能,需要确保这些依赖在实际环境中可用。
当前限制
- 当前未执行
mvn编译或测试验证 temp/中仍保留原始参考代码,后续如确认正式模块稳定,可再决定是否清理- 图片生成依赖私有绘图与文件存储组件,当前仅完成代码接入,未做运行态验证