微调
This commit is contained in:
@@ -100,10 +100,10 @@ public class SocketSourceResponseService {
|
|||||||
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
||||||
switch (dictDataEnumByCode) {
|
switch (dictDataEnumByCode) {
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
if(param.getSendWebMsg()){
|
if (param.getSendWebMsg()) {
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
}
|
}
|
||||||
System.out.println("模拟检测-源初始化成功");
|
System.out.println(param.getSendWebMsg() + "模拟检测-源初始化成功");
|
||||||
break;
|
break;
|
||||||
case UNPROCESSED_BUSINESS:
|
case UNPROCESSED_BUSINESS:
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
@@ -159,7 +159,7 @@ public class SocketSourceResponseService {
|
|||||||
switch (dictDataEnumByCode) {
|
switch (dictDataEnumByCode) {
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
System.out.println("模拟检测-源成功执行脚本"+JSON.toJSONString(socketDataMsg));
|
System.out.println("模拟检测-源成功执行脚本" + JSON.toJSONString(socketDataMsg));
|
||||||
break;
|
break;
|
||||||
case UNPROCESSED_BUSINESS:
|
case UNPROCESSED_BUSINESS:
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||||
|
|||||||
@@ -950,10 +950,10 @@ public class DetectionServiceImpl {
|
|||||||
.sorted().distinct().collect(Collectors.toList()));
|
.sorted().distinct().collect(Collectors.toList()));
|
||||||
}
|
}
|
||||||
for (DevData devData : dev) {
|
for (DevData devData : dev) {
|
||||||
List<DevData.SqlDataDTO> sqlDataDTOList = devData.getSqlData();
|
List<DevData.SqlDataDTO> sqlDataDTOS = devData.getSqlData();
|
||||||
Optional<DevData.SqlDataDTO> first = Optional.empty();
|
Optional<DevData.SqlDataDTO> first = Optional.empty();
|
||||||
if (CollUtil.isNotEmpty(sqlDataDTOList)) {
|
if (CollUtil.isNotEmpty(sqlDataDTOS)) {
|
||||||
first = sqlDataDTOList.stream().filter(x -> x.getDesc().equals(fundCode)).collect(Collectors.toList()).stream().findFirst();
|
first = sqlDataDTOS.stream().filter(x -> x.getDesc().equals(fundCode)).collect(Collectors.toList()).stream().findFirst();
|
||||||
}
|
}
|
||||||
DevData.SqlDataDTO fund = null;
|
DevData.SqlDataDTO fund = null;
|
||||||
if (first.isPresent()) {
|
if (first.isPresent()) {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import cn.hutool.core.date.DatePattern;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
|
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum;
|
||||||
import com.njcn.gather.detection.pojo.po.DevData;
|
import com.njcn.gather.detection.pojo.po.DevData;
|
||||||
import com.njcn.gather.detection.pojo.vo.SocketDataMsg;
|
import com.njcn.gather.detection.pojo.vo.SocketDataMsg;
|
||||||
import com.njcn.gather.storage.pojo.po.AdHarmonicResult;
|
import com.njcn.gather.storage.pojo.po.AdHarmonicResult;
|
||||||
@@ -76,75 +77,91 @@ public class MsgUtil {
|
|||||||
return JSON.toJSONString(socketDataMsg);
|
return JSON.toJSONString(socketDataMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<DevData> toList(List<AdNonHarmonicResult> nonHarm, List<AdHarmonicResult> harm) {
|
public static List<DevData> toList(List<AdNonHarmonicResult> nonHarm, List<AdHarmonicResult> harm, boolean containBaseHarm) {
|
||||||
List<DevData> info = new ArrayList<>();
|
List<DevData> info = new ArrayList<>();
|
||||||
// if (CollUtil.isNotEmpty(nonHarm)) {
|
// if (CollUtil.isNotEmpty(nonHarm)) {
|
||||||
if (CollUtil.isNotEmpty(nonHarm)) {
|
if (CollUtil.isNotEmpty(nonHarm)) {
|
||||||
Map<String, List<AdNonHarmonicResult>> noHarmMap = nonHarm.stream()
|
Map<String, List<AdNonHarmonicResult>> noHarmMap = nonHarm.stream()
|
||||||
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN)) + "_" + x.getSort()));
|
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN)) + "_" + x.getSort()));
|
||||||
noHarmMap.forEach((key, value) -> {
|
noHarmMap.forEach((key, value) -> {
|
||||||
String[] split = key.split("_");
|
String[] split = key.split("_");
|
||||||
DevData data = new DevData();
|
DevData data = new DevData();
|
||||||
data.setTime(split[2]);
|
data.setTime(split[2]);
|
||||||
data.setId(split[0]+"_"+split[1]);
|
data.setId(split[0] + "_" + split[1]);
|
||||||
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
||||||
DevData.SqlDataDTO sqlDataDTO;
|
DevData.SqlDataDTO sqlDataDTO;
|
||||||
for (AdNonHarmonicResult result : value) {
|
for (AdNonHarmonicResult result : value) {
|
||||||
|
sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
|
sqlDataDTO.setType(result.getDataType());
|
||||||
|
sqlDataDTO.setDesc(result.getAdType());
|
||||||
|
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||||
|
listDTO.setA(StrUtil.isNotBlank(result.getAValue()) ? Double.valueOf(result.getAValue()) : null);
|
||||||
|
listDTO.setB(StrUtil.isNotBlank(result.getBValue()) ? Double.valueOf(result.getBValue()) : null);
|
||||||
|
listDTO.setC(StrUtil.isNotBlank(result.getCValue()) ? Double.valueOf(result.getCValue()) : null);
|
||||||
|
listDTO.setT(StrUtil.isNotBlank(result.getTValue()) ? Double.valueOf(result.getTValue()) : null);
|
||||||
|
sqlDataDTO.setList(listDTO);
|
||||||
|
sqlDataDTOS.add(sqlDataDTO);
|
||||||
|
}
|
||||||
|
data.setSqlData(sqlDataDTOS);
|
||||||
|
info.add(data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(harm)) {
|
||||||
|
Map<String, List<AdHarmonicResult>> harmMap = harm.stream()
|
||||||
|
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN))));
|
||||||
|
harmMap.forEach((key, value) -> {
|
||||||
|
List<DevData> collect = info.stream().filter(x -> key.equals(x.getId() + "_" + x.getTime())).collect(Collectors.toList());
|
||||||
|
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
||||||
|
DevData.SqlDataDTO sqlDataDTO;
|
||||||
|
List<DevData.SqlDataHarmDTO> sqlDataHarmDTOS = new ArrayList<>();
|
||||||
|
DevData.SqlDataHarmDTO dataHarmDTO;
|
||||||
|
for (AdHarmonicResult harmonicResult : value) {
|
||||||
|
if (containBaseHarm) {
|
||||||
sqlDataDTO = new DevData.SqlDataDTO();
|
sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
sqlDataDTO.setType(result.getDataType());
|
sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
sqlDataDTO.setDesc(result.getAdType());
|
sqlDataDTO.setType(harmonicResult.getDataType());
|
||||||
|
sqlDataDTO.setDesc(harmonicResult.getAdType());
|
||||||
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
|
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||||
listDTO.setA(StrUtil.isNotBlank(result.getAValue()) ? Double.valueOf(result.getAValue()) : null);
|
listDTO.setA(StrUtil.isNotBlank(harmonicResult.getAValue1()) ? Double.valueOf(harmonicResult.getAValue1()) : null);
|
||||||
listDTO.setB(StrUtil.isNotBlank(result.getBValue()) ? Double.valueOf(result.getBValue()) : null);
|
listDTO.setB(StrUtil.isNotBlank(harmonicResult.getBValue1()) ? Double.valueOf(harmonicResult.getBValue1()) : null);
|
||||||
listDTO.setC(StrUtil.isNotBlank(result.getCValue()) ? Double.valueOf(result.getCValue()) : null);
|
listDTO.setC(StrUtil.isNotBlank(harmonicResult.getCValue1()) ? Double.valueOf(harmonicResult.getCValue1()) : null);
|
||||||
listDTO.setT(StrUtil.isNotBlank(result.getTValue()) ? Double.valueOf(result.getTValue()) : null);
|
|
||||||
sqlDataDTO.setList(listDTO);
|
sqlDataDTO.setList(listDTO);
|
||||||
sqlDataDTOS.add(sqlDataDTO);
|
sqlDataDTOS.add(sqlDataDTO);
|
||||||
}
|
}
|
||||||
data.setSqlData(sqlDataDTOS);
|
|
||||||
info.add(data);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
if (CollUtil.isNotEmpty(harm)) {
|
|
||||||
Map<String, List<AdHarmonicResult>> harmMap = harm.stream()
|
|
||||||
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN))));
|
|
||||||
harmMap.forEach((key, value) -> {
|
|
||||||
List<DevData> collect = info.stream().filter(x -> key.equals(x.getId() + "_" + x.getTime())).collect(Collectors.toList());
|
|
||||||
List<DevData.SqlDataHarmDTO> sqlDataDTOS = new ArrayList<>();
|
|
||||||
DevData.SqlDataHarmDTO dataDTO;
|
|
||||||
for (AdHarmonicResult harmonicResult : value) {
|
|
||||||
dataDTO = new DevData.SqlDataHarmDTO();
|
|
||||||
dataDTO.setType(harmonicResult.getDataType());
|
|
||||||
dataDTO.setDesc(harmonicResult.getAdType());
|
|
||||||
dataDTO.setNum(50);
|
|
||||||
DevData.SqlDataHarmDTO.ListDTO listDTO = new DevData.SqlDataHarmDTO.ListDTO();
|
|
||||||
listDTO.setA(reflectHarmonicValue("a", harmonicResult));
|
|
||||||
listDTO.setB(reflectHarmonicValue("b", harmonicResult));
|
|
||||||
listDTO.setC(reflectHarmonicValue("c", harmonicResult));
|
|
||||||
dataDTO.setList(listDTO);
|
|
||||||
sqlDataDTOS.add(dataDTO);
|
|
||||||
}
|
|
||||||
if (CollUtil.isNotEmpty(collect)) {
|
|
||||||
collect.get(0).setSqlDataHarm(sqlDataDTOS);
|
|
||||||
} else {
|
|
||||||
String[] split = key.split("_");
|
|
||||||
DevData data = new DevData();
|
|
||||||
data.setTime(split[2]);
|
|
||||||
data.setId(split[0]+"_"+split[1]);
|
|
||||||
data.setSqlDataHarm(sqlDataDTOS);
|
|
||||||
info.add(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
dataHarmDTO = new DevData.SqlDataHarmDTO();
|
||||||
|
dataHarmDTO.setType(harmonicResult.getDataType());
|
||||||
|
dataHarmDTO.setDesc(harmonicResult.getAdType());
|
||||||
|
dataHarmDTO.setNum(containBaseHarm ? 49 : 50);
|
||||||
|
DevData.SqlDataHarmDTO.ListDTO listHarmDTO = new DevData.SqlDataHarmDTO.ListDTO();
|
||||||
|
listHarmDTO.setA(reflectHarmonicValue("a", harmonicResult, containBaseHarm));
|
||||||
|
listHarmDTO.setB(reflectHarmonicValue("b", harmonicResult, containBaseHarm));
|
||||||
|
listHarmDTO.setC(reflectHarmonicValue("c", harmonicResult, containBaseHarm));
|
||||||
|
dataHarmDTO.setList(listHarmDTO);
|
||||||
|
sqlDataHarmDTOS.add(dataHarmDTO);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(collect)) {
|
||||||
|
collect.get(0).setSqlDataHarm(sqlDataHarmDTOS);
|
||||||
|
} else {
|
||||||
|
String[] split = key.split("_");
|
||||||
|
DevData data = new DevData();
|
||||||
|
data.setTime(split[2]);
|
||||||
|
data.setId(split[0] + "_" + split[1]);
|
||||||
|
data.setSqlData(sqlDataDTOS);
|
||||||
|
data.setSqlDataHarm(sqlDataHarmDTOS);
|
||||||
|
info.add(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
// }
|
// }
|
||||||
return info;
|
return info;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<String> reflectHarmonicValue(String phase, AdHarmonicResult adHarmonicResult) {
|
private static List<String> reflectHarmonicValue(String phase, AdHarmonicResult adHarmonicResult, boolean notContainBaseHarm) {
|
||||||
List<String> info = new ArrayList<>();
|
List<String> info = new ArrayList<>();
|
||||||
for (int i = 2; i <= 50; i++) {
|
for (int i = notContainBaseHarm ? 2 : 1; i <= 50; i++) {
|
||||||
String fieldName = phase + "Value" + i;
|
String fieldName = phase + "Value" + i;
|
||||||
try {
|
try {
|
||||||
Field idField = AdHarmonicResult.class.getDeclaredField(fieldName);
|
Field idField = AdHarmonicResult.class.getDeclaredField(fieldName);
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import cn.hutool.core.util.StrUtil;
|
|||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
|
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum;
|
||||||
import com.njcn.gather.detection.pojo.enums.SourceOperateCodeEnum;
|
import com.njcn.gather.detection.pojo.enums.SourceOperateCodeEnum;
|
||||||
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
||||||
import com.njcn.gather.detection.pojo.po.DevData;
|
import com.njcn.gather.detection.pojo.po.DevData;
|
||||||
@@ -969,23 +970,25 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
List<SourceIssue> sourceIssues = pqScriptDtlsService.listSourceIssue(issueParam);
|
List<SourceIssue> sourceIssues = pqScriptDtlsService.listSourceIssue(issueParam);
|
||||||
|
|
||||||
sourceIssues.forEach(sourceIssue -> {
|
sourceIssues.forEach(sourceIssue -> {
|
||||||
List<DevData> realDataXiList = MsgUtil.toList(nonHarmonicMap.get(sourceIssue.getIndex()), harmonicMap.get(sourceIssue.getIndex()));
|
List<AdNonHarmonicResult> nonHarmonicResults = nonHarmonicMap.get(sourceIssue.getIndex());
|
||||||
for (int i = 0; i < realDataXiList.size(); i++) {
|
List<AdHarmonicResult> harmonicResults = harmonicMap.get(sourceIssue.getIndex());
|
||||||
DevData devData = realDataXiList.get(i);
|
List<DevData> realDataXiList = new ArrayList<>();
|
||||||
List<DevData.SqlDataDTO> sqlData = devData.getSqlData();
|
if (CollUtil.isNotEmpty(nonHarmonicResults)) {
|
||||||
if (CollUtil.isNotEmpty(sqlData)) {
|
realDataXiList.addAll(MsgUtil.toList(nonHarmonicResults, null, true));
|
||||||
for (int j = 0; j < sqlData.size(); j++) {
|
}
|
||||||
DevData.SqlDataDTO sqlDataDTO = sqlData.get(j);
|
if (CollUtil.isNotEmpty(harmonicResults)) {
|
||||||
String desc = sqlDataDTO.getDesc();
|
DictTree dictTree = dictTreeService.getById(harmonicResults.get(0).getAdType());
|
||||||
if (StrUtil.isNotBlank(desc)) {
|
if (ObjectUtil.isNotNull(dictTree)) {
|
||||||
DictTree dictTree = dictTreeService.getById(desc);
|
if (DetectionCodeEnum.V2_50.getCode().equals(dictTree.getCode()) || DetectionCodeEnum.I2_50.getCode().equals(dictTree.getCode()) || DetectionCodeEnum.P2_50.getCode().equals(dictTree.getCode())) {
|
||||||
if (ObjectUtil.isNotNull(dictTree)) {
|
realDataXiList.addAll(MsgUtil.toList(null, harmonicResults, true));
|
||||||
sqlDataDTO.setDesc(dictTree.getCode());
|
} else {
|
||||||
}
|
realDataXiList.addAll(MsgUtil.toList(null, harmonicResults, false));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < realDataXiList.size(); i++) {
|
||||||
|
DevData devData = realDataXiList.get(i);
|
||||||
List<DevData.SqlDataHarmDTO> sqlDataHarm = devData.getSqlDataHarm();
|
List<DevData.SqlDataHarmDTO> sqlDataHarm = devData.getSqlDataHarm();
|
||||||
if (CollUtil.isNotEmpty(sqlDataHarm)) {
|
if (CollUtil.isNotEmpty(sqlDataHarm)) {
|
||||||
for (int j = 0; j < sqlDataHarm.size(); j++) {
|
for (int j = 0; j < sqlDataHarm.size(); j++) {
|
||||||
@@ -999,6 +1002,44 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<DevData.SqlDataDTO> sqlData = devData.getSqlData();
|
||||||
|
if (CollUtil.isNotEmpty(sqlData)) {
|
||||||
|
for (int j = 0; j < sqlData.size(); j++) {
|
||||||
|
DevData.SqlDataDTO sqlDataDTO = sqlData.get(j);
|
||||||
|
String desc = sqlDataDTO.getDesc();
|
||||||
|
if (StrUtil.isNotBlank(desc)) {
|
||||||
|
DictTree dictTree = dictTreeService.getById(desc);
|
||||||
|
if (ObjectUtil.isNotNull(dictTree)) {
|
||||||
|
if (CollUtil.isNotEmpty(harmonicResults)) {
|
||||||
|
// if (dictTree.getCode().contains("V")) {
|
||||||
|
// sqlDataDTO.setDesc(DetectionCodeEnum.U1.getCode());
|
||||||
|
// }
|
||||||
|
// if (dictTree.getCode().contains("I")) {
|
||||||
|
// sqlDataDTO.setDesc(DetectionCodeEnum.I1.getCode());
|
||||||
|
// }
|
||||||
|
if (DetectionCodeEnum.V2_50.getCode().equals(dictTree.getCode())) {
|
||||||
|
sqlDataDTO.setDesc(DetectionCodeEnum.U1.getCode());
|
||||||
|
}
|
||||||
|
if (DetectionCodeEnum.I2_50.getCode().equals(dictTree.getCode())) {
|
||||||
|
sqlDataDTO.setDesc(DetectionCodeEnum.I1.getCode());
|
||||||
|
}
|
||||||
|
// if (DetectionCodeEnum.SV_1_49.getCode().equals(dictTree.getCode())) {
|
||||||
|
// devData.setSqlData(null);
|
||||||
|
// }
|
||||||
|
// if (DetectionCodeEnum.SI_1_49.getCode().equals(dictTree.getCode())) {
|
||||||
|
// devData.setSqlData(null);
|
||||||
|
// }
|
||||||
|
// if (DetectionCodeEnum.P2_50.getCode().equals(dictTree.getCode())) {
|
||||||
|
// devData.setSqlData(null);
|
||||||
|
// }
|
||||||
|
} else {
|
||||||
|
sqlDataDTO.setDesc(dictTree.getCode());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
detectionServiceImpl.processing(realDataXiList, param, devIdMapComm, sourceIssue, dataRule);
|
detectionServiceImpl.processing(realDataXiList, param, devIdMapComm, sourceIssue, dataRule);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class TableGenServiceImpl implements TableGenService {
|
|||||||
StringBuilder A = new StringBuilder();
|
StringBuilder A = new StringBuilder();
|
||||||
StringBuilder B = new StringBuilder();
|
StringBuilder B = new StringBuilder();
|
||||||
StringBuilder C = new StringBuilder();
|
StringBuilder C = new StringBuilder();
|
||||||
for (int i = 1; i <= 51; i++) {
|
for (int i = 1; i <= 50; i++) {
|
||||||
if (i == 1) {
|
if (i == 1) {
|
||||||
A.append("A_Value_").append(i).append(" json NULL COMMENT 'A相基波',");
|
A.append("A_Value_").append(i).append(" json NULL COMMENT 'A相基波',");
|
||||||
B.append("B_Value_").append(i).append(" json NULL COMMENT 'B相基波',");
|
B.append("B_Value_").append(i).append(" json NULL COMMENT 'B相基波',");
|
||||||
|
|||||||
Reference in New Issue
Block a user