fix(config): 修复江苏配置模板中的相角参数和波形时间标志处理

- 实现了从JSON映射文档动态替换ComtradeFile时间标志功能
- 调整了URCB相关配置的参数序列以匹配正确的数据结构
This commit is contained in:
周宇 蔡
2026-07-08 13:43:10 +08:00
parent f5f828cd05
commit fa1a285e04
2 changed files with 30 additions and 7 deletions

View File

@@ -108,6 +108,12 @@ public class JsonToXmlConversionService {
String iedName = mappingDocument.getIed();
String ldPrefix = mappingDocument.getLd();
String waveTimeFlag = mappingDocument.getWaveTimeFlag();
if (waveTimeFlag.startsWith("U") || waveTimeFlag.startsWith("u")){
waveTimeFlag= waveTimeFlag.toUpperCase();
}else{
waveTimeFlag= waveTimeFlag.toLowerCase();
}
if (iedName != null && !iedName.isEmpty()) {
xmlContent = xmlContent.replaceAll(
@@ -123,6 +129,14 @@ public class JsonToXmlConversionService {
);
}
// 从 JSON 中读取 WaveTimeFlag 替换模板中的硬编码值
if (waveTimeFlag != null && !waveTimeFlag.isEmpty()) {
xmlContent = xmlContent.replaceAll(
"<ComtradeFile\\s+WaveTimeFlag=\"[^\"]*\"",
"<ComtradeFile WaveTimeFlag=\"" + escapeXml(waveTimeFlag) + "\""
);
}
return xmlContent;
}
@@ -246,11 +260,20 @@ public class JsonToXmlConversionService {
}else{
sb.append(",60");
}
sb.append(",1");
sb.append(",0");
sb.append(",0");
sb.append(",0");
sb.append(",0");
if(rc.getName().contains("urcb")){
sb.append(",0");
sb.append(",0");
sb.append(",0");
sb.append(",1");
sb.append(",0");
}else{
sb.append(",1");
sb.append(",0");
sb.append(",0");
sb.append(",0");
sb.append(",0");
}
sb.append(",yes");
sb.append(",1");
sb.append(",1");

View File

@@ -8,11 +8,11 @@
<!--角型接线时相角为0不再进行DO、DA路径值扩展-->
<JSConfigTemplate version="2021-12-15" author="ww" SelectStat="JiangSu" SelectReal="Kafka Producer" desc="昆明长水机场增加谐波类数据配置">
<!--注:暂态事件解析规则配置 Flag0-不分相 1-分相 如果Flag=0 ABC配置成一样如果Flag=1ABC根据实际配置-->
<WavePhasic Flag="1" A="QVVR1" B="QVVR2" C="QVVR3" />
<WavePhasic Flag="1" A="QVVR0" B="QVVR1" C="QVVR2" />
<!--暂态事件持续事件单位0-毫秒 1--->
<UnitOfTime Unit="0" />
<!--上送值的时间UTC-UTC时间 beijing-北京时间-->
<ValueOfTime Unit="utc" />
<ValueOfTime Unit="UTC" />
<!--录波文件的时间UTC-UTC时间 beijing-北京时间-->
<ComtradeFile WaveTimeFlag="beijing" />
<IED name="PQMonitor" desc="电能质量监测装置" />