闪变、重新计算逻辑调整

This commit is contained in:
caozehui
2025-10-16 10:19:13 +08:00
parent d58452012d
commit 7394762e28
11 changed files with 487 additions and 156 deletions

View File

@@ -175,7 +175,12 @@ public class SocketContrastResponseService {
FormalTestManager.preNumTestResultList.clear(); FormalTestManager.preNumTestResultList.clear();
checkResult = false; checkResult = false;
FormalTestManager.isTesting = true;
FormalTestManager.realProtocol = false;
FormalTestManager.statisticsProtocol = false;
FormalTestManager.voltageProtocol = false;
FormalTestManager.pstDataType = null;
FormalTestManager.isPstData = false;
FormalTestManager.isWaveCheck = false; FormalTestManager.isWaveCheck = false;
FormalTestManager.nonWaveDataSourceEnum = null; FormalTestManager.nonWaveDataSourceEnum = null;
@@ -413,8 +418,8 @@ public class SocketContrastResponseService {
//开始模型一致性校验 //开始模型一致性校验
System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》"); System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》");
List<String> allDataType = this.getAllDataType(); List<String> allDataType = this.getAllDataType();
if (allDataType.contains(getPrefixEnum().getCode() + DetectionCodeEnum.PST.getCode())) { if (allDataType.contains(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode())) {
allDataType.remove(getPrefixEnum().getCode() + DetectionCodeEnum.PST.getCode()); allDataType.remove(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode());
} }
if (CollUtil.isNotEmpty(allDataType)) { if (CollUtil.isNotEmpty(allDataType)) {
this.sendModelDeal(s, allDataType); this.sendModelDeal(s, allDataType);
@@ -444,12 +449,15 @@ public class SocketContrastResponseService {
voltage = SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue().equals(socketDataMsg.getOperateCode()); voltage = SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue().equals(socketDataMsg.getOperateCode());
if (real) { if (real) {
msg = "实时协议校验成功!"; msg = "实时协议校验成功!";
FormalTestManager.realProtocol = true;
} }
if (voltage) { if (voltage) {
msg = "暂态协议校验成功!"; msg = "暂态协议校验成功!";
FormalTestManager.voltageProtocol = true;
} }
if (statistics) { if (statistics) {
msg = "统计协议校验成功!"; msg = "统计协议校验成功!";
FormalTestManager.statisticsProtocol = true;
} }
MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1); MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1);
socketDataMsg.setData(socketDataMsg.getData() + msg); socketDataMsg.setData(socketDataMsg.getData() + msg);
@@ -457,9 +465,27 @@ public class SocketContrastResponseService {
System.out.println(msg + successComm.size() + "=====" + FormalTestManager.monitorMap.size()); System.out.println(msg + successComm.size() + "=====" + FormalTestManager.monitorMap.size());
if (successComm.size() == FormalTestManager.monitorMap.size()) { if (successComm.size() == FormalTestManager.monitorMap.size()) {
if (FormalTestManager.testItemMap.keySet().stream().anyMatch(key -> DetectionCodeEnum.PST.getCode().equals(key.split("\\$")[1]))) {
if (!FormalTestManager.statisticsProtocol) {
successComm.clear();
failComm.clear();
SocketMsg<String> socketMsg = new SocketMsg<>();
// 进行统计协议校验
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_01.getValue());
Map<String, List<PreDetection>> map = new HashMap<>(1);
List<PreDetection> preDetectionList = new ArrayList<>();
preDetectionList.addAll(FormalTestManager.devList);
preDetectionList.addAll(FormalTestManager.standardDevList);
map.put("deviceList", preDetectionList);
socketMsg.setData(JSON.toJSONString(map));
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
return;
}
}
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.isWaveCheck) {
if (voltage) { if (FormalTestManager.voltageProtocol) {
successComm.clear(); successComm.clear();
failComm.clear(); failComm.clear();
@@ -467,6 +493,9 @@ public class SocketContrastResponseService {
this.sendRecordWave(s); this.sendRecordWave(s);
return; return;
} else { } else {
successComm.clear();
failComm.clear();
SocketMsg<String> socketMsg = new SocketMsg<>(); SocketMsg<String> socketMsg = new SocketMsg<>();
// 进行暂态协议校验 // 进行暂态协议校验
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue()); socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
@@ -488,8 +517,8 @@ public class SocketContrastResponseService {
System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》"); System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》");
List<String> allDataType = this.getAllDataType(); List<String> allDataType = this.getAllDataType();
if (allDataType.contains(getPrefixEnum().getCode() + DetectionCodeEnum.PST.getCode())) { if (allDataType.contains(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode())) {
allDataType.remove(getPrefixEnum().getCode() + DetectionCodeEnum.PST.getCode()); allDataType.remove(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode());
} }
if (CollUtil.isNotEmpty(allDataType)) { if (CollUtil.isNotEmpty(allDataType)) {
this.sendModelDeal(s, allDataType); this.sendModelDeal(s, allDataType);
@@ -526,8 +555,12 @@ public class SocketContrastResponseService {
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_03.getValue()); webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_03.getValue());
System.out.println("无效的录波指令!"); System.out.println("无效的录波指令!");
if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.monitorMap.keySet(), successComm); Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.monitorMap.keySet(), successComm);
// 向前端推送 // 向前端推送
@@ -549,36 +582,52 @@ public class SocketContrastResponseService {
} }
break; break;
case DEV_ERROR: case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
failComm.addAll(FormalTestManager.devMapMonitorNum.get(socketDataMsg.getData())); failComm.addAll(FormalTestManager.devMapMonitorNum.get(socketDataMsg.getData()));
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
completeJudgment(param); completeJudgment(param);
if (voltage) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case DEV_TARGET: case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
failComm.add(socketDataMsg.getData()); failComm.add(socketDataMsg.getData());
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
completeJudgment(param); completeJudgment(param);
if (voltage) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case RE_OPERATE: case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (voltage) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case NO_INIT_DEV: case NO_INIT_DEV:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (voltage) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
default: default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId()); WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -629,10 +678,14 @@ public class SocketContrastResponseService {
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(webSend, FormalTestManager.devNameMapComm, 0)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(webSend, FormalTestManager.devNameMapComm, 0));
System.out.println("模型一致性校验失败!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》"); System.out.println("模型一致性校验失败!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》");
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
FormalTestManager.isTesting = false;
} else { } else {
SocketDataMsg webSend = new SocketDataMsg(); SocketDataMsg webSend = new SocketDataMsg();
webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue()); webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
@@ -666,31 +719,47 @@ public class SocketContrastResponseService {
break; break;
case DEV_ERROR: case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case DEV_TARGET: case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case RE_OPERATE: case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case NO_INIT_DEV: case NO_INIT_DEV:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
default: default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId()); WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -737,10 +806,14 @@ public class SocketContrastResponseService {
FormalTestManager.scheduledFuture = FormalTestManager.scheduler.schedule(() -> { FormalTestManager.scheduledFuture = FormalTestManager.scheduler.schedule(() -> {
if (!checkResult) { if (!checkResult) {
System.out.println(delay + "s内数据对齐校验失败"); System.out.println(delay + "s内数据对齐校验失败");
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
FormalTestManager.isTesting = false;
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet()); Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet());
// 向前端推送实时数据对齐失败的配对项 // 向前端推送实时数据对齐失败的配对项
for (String key : disjunction) { for (String key : disjunction) {
@@ -837,31 +910,47 @@ public class SocketContrastResponseService {
break; break;
case DEV_ERROR: case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case DEV_TARGET: case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case RE_OPERATE: case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case NO_INIT_DEV: case NO_INIT_DEV:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
default: default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId()); WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -942,7 +1031,21 @@ public class SocketContrastResponseService {
socketMsg.setOperateCode(requestOperateCode.getValue()); socketMsg.setOperateCode(requestOperateCode.getValue());
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam(); DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()]))); phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
phaseSequenceParam.setDataType(this.getAllDataType()); List<String> allDataType = this.getAllDataType();
FormalTestManager.pstDataType = new ArrayList<>();
if (allDataType.contains(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode())) {
FormalTestManager.pstDataType.add(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode());
allDataType.remove(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode());
}
if (CollUtil.isNotEmpty(allDataType)) {
phaseSequenceParam.setDataType(allDataType);
} else {
if (CollUtil.isNotEmpty(FormalTestManager.pstDataType)) {
FormalTestManager.isPstData = true;
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_01.getValue());
phaseSequenceParam.setDataType(FormalTestManager.pstDataType);
}
}
phaseSequenceParam.setReadCount(this.getReadCount(this.getTargetCount())); phaseSequenceParam.setReadCount(this.getReadCount(this.getTargetCount()));
phaseSequenceParam.setIgnoreCount(0); phaseSequenceParam.setIgnoreCount(0);
socketMsg.setData(JSON.toJSONString(phaseSequenceParam)); socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
@@ -952,6 +1055,9 @@ public class SocketContrastResponseService {
this.resetTimer(); this.resetTimer();
checkResult = false; checkResult = false;
} else if (FormalTestManager.isWaveCheck) { } else if (FormalTestManager.isWaveCheck) {
if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
// 录波数据 // 录波数据
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
successComm.clear(); successComm.clear();
@@ -961,10 +1067,14 @@ public class SocketContrastResponseService {
this.sendRecordWave(s); this.sendRecordWave(s);
} }
} else { } else {
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
FormalTestManager.isTesting = false;
} }
} }
} else if (successComm.size() == FormalTestManager.monitorMap.size()) { } else if (successComm.size() == FormalTestManager.monitorMap.size()) {
@@ -976,14 +1086,17 @@ public class SocketContrastResponseService {
webSend.setOperateCode(requestOperateCode.getValue()); webSend.setOperateCode(requestOperateCode.getValue());
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode()); //最终错误推送 webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode()); //最终错误推送
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
if (FormalTestManager.isWaveCheck) { CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
FormalTestManager.isTesting = false;
} }
} else { } else {
Integer maxReadCount = getReadCount(1); Integer maxReadCount = this.getReadCount(1);
WebSocketVO webSend = new WebSocketVO(); WebSocketVO webSend = new WebSocketVO();
webSend.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue()); webSend.setRequestId(SourceOperateCodeEnum.YJC_XUJY.getValue());
webSend.setOperateCode(requestOperateCode.getValue()); webSend.setOperateCode(requestOperateCode.getValue());
@@ -992,10 +1105,14 @@ public class SocketContrastResponseService {
webSend.setData(MsgUtil.getPairStr(devMonitorId, standardDevMonitorId, FormalTestManager.devNameMapComm) + " 数据对齐失败!"); webSend.setData(MsgUtil.getPairStr(devMonitorId, standardDevMonitorId, FormalTestManager.devNameMapComm) + " 数据对齐失败!");
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
FormalTestManager.isTesting = false;
} }
} }
} }
@@ -1006,24 +1123,36 @@ public class SocketContrastResponseService {
break; break;
case DEV_ERROR: case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case DEV_TARGET: case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case RE_OPERATE: case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
default: default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId()); WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -1065,35 +1194,40 @@ public class SocketContrastResponseService {
type = 2; type = 2;
} }
} }
if (Objects.isNull(FormalTestManager.scheduler)) { this.setScheduler(targetCount, param.getUserPageId(), requestOperateCode, quitOperateCode);
FormalTestManager.scheduler = Executors.newScheduledThreadPool(1); // if (Objects.isNull(FormalTestManager.scheduler)) {
long delay = this.getDelay(targetCount); // FormalTestManager.scheduler = Executors.newScheduledThreadPool(1);
FormalTestManager.scheduledFuture = FormalTestManager.scheduler.schedule(() -> { // long delay = this.getDelay(targetCount);
if (!checkResult) { // FormalTestManager.scheduledFuture = FormalTestManager.scheduler.schedule(() -> {
System.out.println("正式检测-" + delay + "s内收集数据不完整"); // if (!checkResult) {
// 断开与设备的连接,但是不要将Socket移除 // System.out.println("正式检测-" + delay + "s内收集数据不完整");
if (FormalTestManager.isWaveCheck) { // // 断开与设备的连接,但是不要将Socket移除
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); // if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
} // CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false); // }
// if (FormalTestManager.voltageProtocol) {
this.clearData(); // CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
// }
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet()); // CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
// 向前端推送收集数据不完整的配对项 // FormalTestManager.isTesting = false;
for (String key : disjunction) { //
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode()); // this.clearData();
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsIpMap.inverse().get(key), FormalTestManager.devNameMapComm) + " 数据收集不完整!"); //
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); // Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet());
} // // 向前端推送收集数据不完整的配对项
// 推送最终失败结果 // for (String key : disjunction) {
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode());//最终错误推送 // webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); // webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsIpMap.inverse().get(key), FormalTestManager.devNameMapComm) + " 数据收集不完整!");
} // WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
FormalTestManager.scheduler.shutdown(); // }
FormalTestManager.scheduler = null; // // 推送最终失败结果
}, delay, TimeUnit.SECONDS); // webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode());//最终错误推送
} // WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
// }
// FormalTestManager.scheduler.shutdown();
// FormalTestManager.scheduler = null;
// }, delay, TimeUnit.SECONDS);
// }
String monitorId1 = devData.getId(); String monitorId1 = devData.getId();
String devMonitorId = monitorId1; String devMonitorId = monitorId1;
@@ -1102,14 +1236,26 @@ public class SocketContrastResponseService {
if (FormalTestManager.devDataMap.containsKey(monitorId1)) { if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
standardDevMonitorId = FormalTestManager.pairsIpMap.get(monitorId1); standardDevMonitorId = FormalTestManager.pairsIpMap.get(monitorId1);
if (!successPair.containsKey(devMonitorId)) { if (!successPair.containsKey(devMonitorId)) {
if (FormalTestManager.isPstData) {
if (devData.getSqlData().stream().anyMatch(obj -> DetectionCodeEnum.PST.getCode().equals(obj.getDesc()))) {
FormalTestManager.devDataMap.get(monitorId1).add(devData); FormalTestManager.devDataMap.get(monitorId1).add(devData);
}
} else {
FormalTestManager.devDataMap.get(monitorId1).add(devData);
}
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime()))); Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
} }
} }
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) { if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
devMonitorId = FormalTestManager.pairsIpMap.inverse().get(monitorId1); devMonitorId = FormalTestManager.pairsIpMap.inverse().get(monitorId1);
if (!successPair.containsKey(devMonitorId)) { if (!successPair.containsKey(devMonitorId)) {
if (FormalTestManager.isPstData) {
if (devData.getSqlData().stream().anyMatch(obj -> DetectionCodeEnum.PST.getCode().equals(obj.getDesc()))) {
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData); FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
}
} else {
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
}
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime()))); Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
} }
} }
@@ -1131,8 +1277,6 @@ public class SocketContrastResponseService {
FormalTestManager.standardDevDataMap.get(standardDevMonitorId).addAll(singleMonitorAlignData.get(1)); FormalTestManager.standardDevDataMap.get(standardDevMonitorId).addAll(singleMonitorAlignData.get(1));
if (successPair.keySet().containsAll(FormalTestManager.pairsIpMap.keySet())) { if (successPair.keySet().containsAll(FormalTestManager.pairsIpMap.keySet())) {
// 断开与设备的连接,但是不要将Socket移除
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
checkResult = true; checkResult = true;
FormalTestManager.scheduledFuture.cancel(true); FormalTestManager.scheduledFuture.cancel(true);
FormalTestManager.scheduler.shutdown(); FormalTestManager.scheduler.shutdown();
@@ -1148,28 +1292,61 @@ public class SocketContrastResponseService {
baseDataInsert(false, null, FormalTestManager.nonWaveDataSourceEnum, devDataList, FormalTestManager.numMap, prefixEnum, code); baseDataInsert(false, null, FormalTestManager.nonWaveDataSourceEnum, devDataList, FormalTestManager.numMap, prefixEnum, code);
baseDataInsert(true, null, FormalTestManager.nonWaveDataSourceEnum, standardDevDataList, FormalTestManager.numMap, prefixEnum, code); baseDataInsert(true, null, FormalTestManager.nonWaveDataSourceEnum, standardDevDataList, FormalTestManager.numMap, prefixEnum, code);
List<String> testItem = null;
if (FormalTestManager.isPstData) {
testItem = FormalTestManager.testItemMap.keySet().stream().filter(a -> DetectionCodeEnum.PST.getCode().equals(a.split("\\$")[1])).collect(Collectors.toList());
} else {
testItem = FormalTestManager.testItemMap.keySet().stream().filter(a -> !DetectionCodeEnum.PST.getCode().equals(a.split("\\$")[1])).collect(Collectors.toList());
}
// 进行误差计算 // 进行误差计算
List<DevLineTestResult> allResultList = detectionService.processing( List<DevLineTestResult> allResultList = detectionService.processing(
devDataList, devDataList,
standardDevDataList, standardDevDataList,
FormalTestManager.pairsIpMap, FormalTestManager.pairsIpMap,
FormalTestManager.devIdMapComm, FormalTestManager.devIdMapComm,
FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()), testItem,
errorSysId, FormalTestManager.dataRule, FormalTestManager.numMap, code, null, FormalTestManager.nonWaveDataSourceEnum); errorSysId, FormalTestManager.dataRule, FormalTestManager.numMap, code, null, FormalTestManager.nonWaveDataSourceEnum);
this.clearData(); this.clearData();
webSend.setData(JSON.toJSONString(allResultList)); webSend.setData(JSON.toJSONString(allResultList));
List<String> adTypes = FormalTestManager.testItemMap.values().stream().collect(Collectors.toList()); if (CollUtil.isNotEmpty(FormalTestManager.pstDataType)) {
if (!FormalTestManager.isPstData) {
webSend.setCode(SourceResponseCodeEnum.FLICKER_DATA_START.getCode());
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
SocketMsg<String> socketMsg = new SocketMsg<>();
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_01.getValue());
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
FormalTestManager.isPstData = true;
phaseSequenceParam.setDataType(FormalTestManager.pstDataType);
phaseSequenceParam.setReadCount(this.getReadCount(this.getTargetCount()));
phaseSequenceParam.setIgnoreCount(0);
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
FormalTestManager.currentStep = SourceOperateCodeEnum.FORMAL_REAL;
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
this.resetTimer();
this.setScheduler(targetCount, param.getUserPageId(), requestOperateCode, quitOperateCode);
checkResult = false;
return;
}
}
if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
// 断开与设备的连接,但是不要将Socket移除
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, false);
List<String> adTypes = FormalTestManager.testItemMap.values().stream().collect(Collectors.toList());
Map<String, Integer> result = detectionDataDealService.devResult(true, FormalTestManager.pairsIdMap.keySet().stream().collect(Collectors.toList()), adTypes, code); Map<String, Integer> result = detectionDataDealService.devResult(true, FormalTestManager.pairsIdMap.keySet().stream().collect(Collectors.toList()), adTypes, code);
// 若有不符合的 // 若有不符合的
if (result.values().stream().anyMatch(r -> r.equals(ResultEnum.NOT_QUALIFIED.getValue()))) { if (result.values().stream().anyMatch(r -> r.equals(ResultEnum.NOT_QUALIFIED.getValue()))) {
// 最终将检测结果推送到前端 // 最终将检测结果推送到前端
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.isWaveCheck) {
if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.WAVE_DATA) { if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) {
webSend.setCode(SourceResponseCodeEnum.REAL_DATA_CHECK_FAIL.getCode()); webSend.setCode(SourceResponseCodeEnum.REAL_DATA_CHECK_FAIL.getCode());
} else { } else {
webSend.setCode(SourceResponseCodeEnum.STATISTICS_DATA_CHECK_FAIL.getCode()); webSend.setCode(SourceResponseCodeEnum.STATISTICS_DATA_CHECK_FAIL.getCode());
@@ -1214,6 +1391,9 @@ public class SocketContrastResponseService {
// 配对关系入库 // 配对关系入库
this.pairDataInsert(); this.pairDataInsert();
if (FormalTestManager.isPstData) {
webSend.setRequestId(SourceOperateCodeEnum.FLICKER_DATA_CHECK.getValue());
}
// 最终将检测结果推送到前端 // 最终将检测结果推送到前端
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送 webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
@@ -1222,11 +1402,15 @@ public class SocketContrastResponseService {
pqMonitorService.updateMonitorResult(id1, adTypes, FormalTestManager.nonWaveDataSourceEnum, FormalTestManager.numMap.get(id1), null, code); pqMonitorService.updateMonitorResult(id1, adTypes, FormalTestManager.nonWaveDataSourceEnum, FormalTestManager.numMap.get(id1), null, code);
pqDevService.updateResult(id1.split(CnSocketUtil.SPLIT_TAG)[0], param.getUserId()); pqDevService.updateResult(id1.split(CnSocketUtil.SPLIT_TAG)[0], param.getUserId());
}); });
FormalTestManager.isTesting = false;
} }
} else { } else {
// 配对关系入库 // 配对关系入库
this.pairDataInsert(); this.pairDataInsert();
if (FormalTestManager.isPstData) {
webSend.setRequestId(SourceOperateCodeEnum.FLICKER_DATA_CHECK.getValue());
}
// 最终将检测结果推送到前端 // 最终将检测结果推送到前端
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送 webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
@@ -1236,9 +1420,10 @@ public class SocketContrastResponseService {
pqDevService.updateResult(id1.split(CnSocketUtil.SPLIT_TAG)[0], param.getUserId()); pqDevService.updateResult(id1.split(CnSocketUtil.SPLIT_TAG)[0], param.getUserId());
}); });
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
FormalTestManager.isTesting = false;
} }
} }
} }
@@ -1250,24 +1435,36 @@ public class SocketContrastResponseService {
break; break;
case DEV_ERROR: case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case DEV_TARGET: case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1)); WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
case RE_OPERATE: case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), quitOperateCode, true);
FormalTestManager.isTesting = false;
break; break;
default: default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId()); WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -1316,14 +1513,14 @@ public class SocketContrastResponseService {
PreDetection.MonitorListDTO monitorListDTO = FormalTestManager.monitorMap.get(devMonitorId); PreDetection.MonitorListDTO monitorListDTO = FormalTestManager.monitorMap.get(devMonitorId);
List<List<DevData>> lists = this.analyzeWaveFile(waveResultDTO1, waveResultDTO2, monitorListDTO, devMonitorId, stdDevMonitorId, FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList())); List<List<DevData>> lists = this.analyzeWaveFile(waveResultDTO1, waveResultDTO2, monitorListDTO, devMonitorId, stdDevMonitorId, FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()));
if (CollUtil.isNotEmpty(lists)) { if (CollUtil.isNotEmpty(lists) && lists.stream().flatMap(List::stream).allMatch(devData -> CollUtil.isNotEmpty(devData.getSqlData()) || CollUtil.isNotEmpty(devData.getSqlDataHarm()))) {
// if (false) { // if (false) {
FormalTestManager.devDataMap.put(devMonitorId, lists.get(0)); FormalTestManager.devDataMap.put(devMonitorId, lists.get(0));
FormalTestManager.standardDevDataMap.put(stdDevMonitorId, lists.get(1)); FormalTestManager.standardDevDataMap.put(stdDevMonitorId, lists.get(1));
} else { } else {
flag.set(true); flag.set(true);
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode()); webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
webSend.setData(MsgUtil.getPairStr(devMonitorId, stdDevMonitorId, FormalTestManager.devNameMapComm) + " 录波对齐失败"); webSend.setData(MsgUtil.getPairStr(devMonitorId, stdDevMonitorId, FormalTestManager.devNameMapComm) + " 录波数据异常");
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
} }
} }
@@ -1404,6 +1601,7 @@ public class SocketContrastResponseService {
} else { } else {
// 断开与设备的连接,但是不要将Socket移除 // 断开与设备的连接,但是不要将Socket移除
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
FormalTestManager.isTesting = false;
// 配对关系入库 // 配对关系入库
this.pairDataInsert(); this.pairDataInsert();
@@ -1425,11 +1623,12 @@ public class SocketContrastResponseService {
} }
} else { } else {
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode()); webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode());
webSend.setData("录波对齐失败"); webSend.setData("录波数据异常");
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
// 断开与设备的连接,但是不要将Socket移除 // 断开与设备的连接,但是不要将Socket移除
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
FormalTestManager.isTesting = false;
} }
successComm.clear(); successComm.clear();
@@ -1450,6 +1649,7 @@ public class SocketContrastResponseService {
System.out.println("无效的录波指令!"); System.out.println("无效的录波指令!");
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true);
FormalTestManager.isTesting = false;
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.monitorMap.keySet(), successComm); Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.monitorMap.keySet(), successComm);
// 向前端推送 // 向前端推送
@@ -1474,6 +1674,7 @@ public class SocketContrastResponseService {
case RECORD_WAVE_FAILED: case RECORD_WAVE_FAILED:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true);
FormalTestManager.isTesting = false;
break; break;
} }
} }
@@ -1526,7 +1727,10 @@ public class SocketContrastResponseService {
if (successComm.size() + failComm.size() == FormalTestManager.monitorMap.size()) { if (successComm.size() + failComm.size() == FormalTestManager.monitorMap.size()) {
//全部装置返回 //全部装置返回
if (!failComm.isEmpty()) { if (!failComm.isEmpty()) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
FormalTestManager.isTesting = false;
WebSocketVO<String> webSocketVO = new WebSocketVO<>(); WebSocketVO<String> webSocketVO = new WebSocketVO<>();
webSocketVO.setRequestId(SourceOperateCodeEnum.ERROR_FLOW_END.getValue()); webSocketVO.setRequestId(SourceOperateCodeEnum.ERROR_FLOW_END.getValue());
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSocketVO)); WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSocketVO));
@@ -1570,6 +1774,10 @@ public class SocketContrastResponseService {
if (testCodes.contains(prefixEnum.getCode() + DetectionCodeEnum.I2_50.getCode())) { if (testCodes.contains(prefixEnum.getCode() + DetectionCodeEnum.I2_50.getCode())) {
testCodes.add(prefixEnum.getCode() + DetectionCodeEnum.I1.getCode()); testCodes.add(prefixEnum.getCode() + DetectionCodeEnum.I1.getCode());
} }
if (testCodes.contains(prefixEnum.getCode() + DetectionCodeEnum.PST.getCode())) {
testCodes.remove(prefixEnum.getCode() + DetectionCodeEnum.PST.getCode());
testCodes.add(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode());
}
return testCodes.stream().sorted().collect(Collectors.toList()); return testCodes.stream().sorted().collect(Collectors.toList());
} }
@@ -1626,6 +1834,9 @@ public class SocketContrastResponseService {
* @return * @return
*/ */
private long getDelay(int targetCount) { private long getDelay(int targetCount) {
if (FormalTestManager.isPstData) {
return 60 * 10;
}
if (ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) { if (ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) {
if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) { if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) {
return (int) (Math.ceil(targetCount / 5.0) * 60); return (int) (Math.ceil(targetCount / 5.0) * 60);
@@ -1642,6 +1853,9 @@ public class SocketContrastResponseService {
* @return * @return
*/ */
private Integer getTargetCount() { private Integer getTargetCount() {
if (FormalTestManager.isPstData) {
return FormalTestManager.curretntTestPlanConfig.getFlicker();
}
if (ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) { if (ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) {
if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) { if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) {
return FormalTestManager.curretntTestPlanConfig.getRealTime(); return FormalTestManager.curretntTestPlanConfig.getRealTime();
@@ -1652,6 +1866,46 @@ public class SocketContrastResponseService {
return -1; return -1;
} }
private void setScheduler(int targetCount, String userPageId, SourceOperateCodeEnum requestOperateCode, SourceOperateCodeEnum quitOperateCode) {
if (Objects.isNull(FormalTestManager.scheduler)) {
SocketDataMsg webSend = new SocketDataMsg();
webSend.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
webSend.setOperateCode(requestOperateCode.getValue());
FormalTestManager.scheduler = Executors.newScheduledThreadPool(1);
long delay = this.getDelay(targetCount);
FormalTestManager.scheduledFuture = FormalTestManager.scheduler.schedule(() -> {
if (!checkResult) {
System.out.println("正式检测-" + delay + "s内收集数据不完整");
// 断开与设备的连接,但是不要将Socket移除
if (FormalTestManager.statisticsProtocol && quitOperateCode == SourceOperateCodeEnum.QUIT_INIT_02) {
CnSocketUtil.contrastSendquit(userPageId, SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.voltageProtocol) {
CnSocketUtil.contrastSendquit(userPageId, SourceOperateCodeEnum.QUIT_INIT_03, false);
}
CnSocketUtil.contrastSendquit(userPageId, quitOperateCode, false);
FormalTestManager.isTesting = false;
this.clearData();
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet());
// 向前端推送收集数据不完整的配对项
for (String key : disjunction) {
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsIpMap.inverse().get(key), FormalTestManager.devNameMapComm) + " 数据收集不完整!");
WebServiceManager.sendMsg(userPageId, JSON.toJSONString(webSend));
}
// 推送最终失败结果
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode());//最终错误推送
WebServiceManager.sendMsg(userPageId, JSON.toJSONString(webSend));
}
FormalTestManager.scheduler.shutdown();
FormalTestManager.scheduler = null;
}, delay, TimeUnit.SECONDS);
}
}
/** /**
* 实时数据对齐-将数据推送给前端 * 实时数据对齐-将数据推送给前端
*/ */
@@ -1857,8 +2111,8 @@ public class SocketContrastResponseService {
webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue()); webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
webSend.setData(k); webSend.setData(k);
List<String> allTestItem = this.getAllDataType(); List<String> allTestItem = this.getAllDataType();
if (allTestItem.contains(prefixEnum.getCode() + DetectionCodeEnum.PST.getCode())) { if (allTestItem.contains(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode())) {
allTestItem.remove(prefixEnum.getCode() + DetectionCodeEnum.PST.getCode()); allTestItem.remove(DetectionCodeEnum.AVG_PREFIX.getCode() + DetectionCodeEnum.PST.getCode());
} }
if (DetectionCodeEnum.STAR.getCode().equals(monitorListDTO.getConnection())) { if (DetectionCodeEnum.STAR.getCode().equals(monitorListDTO.getConnection())) {
// 移除相关线电压测试项 // 移除相关线电压测试项
@@ -2185,14 +2439,15 @@ public class SocketContrastResponseService {
*/ */
private boolean voltageOrCurrentCheck(Double a, Double b, Double c, Double aStd, Double bStd, Double cStd, boolean isVoltage) { private boolean voltageOrCurrentCheck(Double a, Double b, Double c, Double aStd, Double bStd, Double cStd, boolean isVoltage) {
if (isVoltage) { if (isVoltage) {
return NumberUtil.isIn(BigDecimal.valueOf(a), BigDecimal.valueOf(aStd * 0.99), BigDecimal.valueOf(aStd * 1.01)) return NumberUtil.isIn(BigDecimal.valueOf(a), BigDecimal.valueOf(aStd * 0.99), BigDecimal.valueOf(aStd * 1.01))
&& NumberUtil.isIn(BigDecimal.valueOf(b), BigDecimal.valueOf(bStd * 0.99), BigDecimal.valueOf(bStd * 1.01)) && NumberUtil.isIn(BigDecimal.valueOf(b), BigDecimal.valueOf(bStd * 0.99), BigDecimal.valueOf(bStd * 1.01))
&& NumberUtil.isIn(BigDecimal.valueOf(c), BigDecimal.valueOf(cStd * 0.99), BigDecimal.valueOf(cStd * 1.01)); && NumberUtil.isIn(BigDecimal.valueOf(c), BigDecimal.valueOf(cStd * 0.99), BigDecimal.valueOf(cStd * 1.01));
// return true;
} else { } else {
return NumberUtil.isIn(BigDecimal.valueOf(a), BigDecimal.valueOf(aStd * 0.90), BigDecimal.valueOf(aStd * 1.10)) return NumberUtil.isIn(BigDecimal.valueOf(a), BigDecimal.valueOf(aStd * 0.90), BigDecimal.valueOf(aStd * 1.10))
&& NumberUtil.isIn(BigDecimal.valueOf(b), BigDecimal.valueOf(bStd * 0.90), BigDecimal.valueOf(bStd * 1.10)) && NumberUtil.isIn(BigDecimal.valueOf(b), BigDecimal.valueOf(bStd * 0.90), BigDecimal.valueOf(bStd * 1.10))
&& NumberUtil.isIn(BigDecimal.valueOf(c), BigDecimal.valueOf(cStd * 0.90), BigDecimal.valueOf(cStd * 1.10)); && NumberUtil.isIn(BigDecimal.valueOf(c), BigDecimal.valueOf(cStd * 0.90), BigDecimal.valueOf(cStd * 1.10));
// return true;
} }
} }
@@ -2206,9 +2461,11 @@ public class SocketContrastResponseService {
*/ */
private boolean unbalanceCheck(Double devData, Double stdData, boolean isVoltage) { private boolean unbalanceCheck(Double devData, Double stdData, boolean isVoltage) {
if (isVoltage) { if (isVoltage) {
return NumberUtil.isIn(BigDecimal.valueOf(devData), BigDecimal.valueOf(stdData * 0.95), BigDecimal.valueOf(stdData * 1.05)); // return NumberUtil.isIn(BigDecimal.valueOf(devData), BigDecimal.valueOf(stdData * 0.95), BigDecimal.valueOf(stdData * 1.05));
return true;
} else { } else {
return NumberUtil.isIn(BigDecimal.valueOf(devData), BigDecimal.valueOf(stdData * 0.90), BigDecimal.valueOf(stdData * 1.10)); // return NumberUtil.isIn(BigDecimal.valueOf(devData), BigDecimal.valueOf(stdData * 0.90), BigDecimal.valueOf(stdData * 1.10));
return true;
} }
} }

View File

@@ -67,6 +67,8 @@ public enum SourceOperateCodeEnum {
SERVER_ERROR("server_error","服务端主动关闭连接,请稍后再试"), SERVER_ERROR("server_error","服务端主动关闭连接,请稍后再试"),
DEVICE_ERROR("device_error","设备主动关闭连接,请稍后再试"), DEVICE_ERROR("device_error","设备主动关闭连接,请稍后再试"),
FLICKER_DATA_CHECK("flicker_data_check","闪变数据校验"),

View File

@@ -43,7 +43,8 @@ public enum SourceResponseCodeEnum {
ALL_FAIL(25003,"校验失败"), ALL_FAIL(25003,"校验失败"),
RECEIVE_DATA_TIME_OUT(25004,"接收数据超时"), RECEIVE_DATA_TIME_OUT(25004,"接收数据超时"),
REAL_DATA_CHECK_FAIL(25005,"实时数据校验失败"), REAL_DATA_CHECK_FAIL(25005,"实时数据校验失败"),
STATISTICS_DATA_CHECK_FAIL(25006,"统计数据校验失败") STATISTICS_DATA_CHECK_FAIL(25006,"统计数据校验失败"),
FLICKER_DATA_START(25007,"开始接收闪变数据")

View File

@@ -1605,13 +1605,13 @@ public class DetectionServiceImpl {
switch (anEnum) { switch (anEnum) {
case FREQ: case FREQ:
if (ObjectUtil.isNull(waveNum)) { // if (ObjectUtil.isNull(waveNum)) {
devDataList.stream().forEach(devData -> devData.getSqlData().stream().filter(sqlData -> sqlData.getDesc().equals(DetectionCodeEnum.FREQ.getCode())).findFirst().ifPresent(sqlData -> { // devDataList.stream().forEach(devData -> devData.getSqlData().stream().filter(sqlData -> sqlData.getDesc().equals(DetectionCodeEnum.FREQ.getCode())).findFirst().ifPresent(sqlData -> {
DevData.SqlDataDTO.ListDTO listDTO = sqlData.getList(); // DevData.SqlDataDTO.ListDTO listDTO = sqlData.getList();
listDTO.setT(55.0); // listDTO.setT(55.0);
sqlData.setList(listDTO); // sqlData.setList(listDTO);
})); // }));
} // }
resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum, dataSourceEnum)); resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum, dataSourceEnum));
break; break;
case VRMS: case VRMS:
@@ -1654,7 +1654,7 @@ public class DetectionServiceImpl {
resultMap.put(PowerIndexEnum.HSI.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, I, fIn, INHARMONIC_FLAG, isDelta && isExitDelta, dataRule, num, code, oneConfig.getScale(), waveNum, dataSourceEnum)); resultMap.put(PowerIndexEnum.HSI.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, I, fIn, INHARMONIC_FLAG, isDelta && isExitDelta, dataRule, num, code, oneConfig.getScale(), waveNum, dataSourceEnum));
break; break;
case PST: case PST:
resultMap.put(PowerIndexEnum.PST.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fUn , DetectionCodeEnum.PST.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum, dataSourceEnum)); resultMap.put(PowerIndexEnum.F.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fUn , DetectionCodeEnum.PST.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum, DataSourceEnum.MINUTE_STATISTICS_AVG));
break; break;
case UNKNOWN_ERROR: case UNKNOWN_ERROR:
break; break;
@@ -1852,6 +1852,9 @@ public class DetectionServiceImpl {
} }
Map<String, List<Map<Double, List<Double>>>> devMap = devHarmListMap(devDataList, standardDevDataList, fundCode, harmCode, harmonicFlag, dataRule); Map<String, List<Map<Double, List<Double>>>> devMap = devHarmListMap(devDataList, standardDevDataList, fundCode, harmCode, harmonicFlag, dataRule);
if (ObjectUtil.isNull(devMap)) {
return 4;
}
ContrastHarmonicResult result = new ContrastHarmonicResult(); ContrastHarmonicResult result = new ContrastHarmonicResult();
result.setWaveNum(waveNum); result.setWaveNum(waveNum);
@@ -2106,9 +2109,12 @@ public class DetectionServiceImpl {
fund2 = first2.get(); fund2 = first2.get();
} }
List<DevData.SqlDataHarmDTO> devHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> x.getDesc().equals(harmCode)).collect(Collectors.toList()); List<DevData.SqlDataHarmDTO> devHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> harmCode.equals(x.getDesc())).collect(Collectors.toList());
List<DevData.SqlDataHarmDTO> stdDevHarmList = standardDev.get(i).getSqlDataHarm().stream().filter(x -> x.getDesc().equals(harmCode)).collect(Collectors.toList()); List<DevData.SqlDataHarmDTO> stdDevHarmList = standardDev.get(i).getSqlDataHarm().stream().filter(x -> harmCode.equals(x.getDesc())).collect(Collectors.toList());
if (CollUtil.isEmpty(devHarmList) || CollUtil.isEmpty(stdDevHarmList)) {
return null;
}
// // 如果角型接法中,不存在线电压谐波电压含有率,则取相电压谐波电压含有率进行计算 // // 如果角型接法中,不存在线电压谐波电压含有率,则取相电压谐波电压含有率进行计算
// if (CollUtil.isEmpty(devHarmList)) { // if (CollUtil.isEmpty(devHarmList)) {
// if (DetectionCodeEnum.PV2_50.getCode().equals(harmCode)) { // if (DetectionCodeEnum.PV2_50.getCode().equals(harmCode)) {

View File

@@ -180,4 +180,19 @@ public class FormalTestManager {
public static boolean isWaveCheck; public static boolean isWaveCheck;
public static List<String> pstDataType;
public static boolean isPstData;
/**
* 是否在检测中
*/
public static boolean isTesting;
public static boolean realProtocol;
public static boolean statisticsProtocol;
public static boolean voltageProtocol;
} }

View File

@@ -88,25 +88,38 @@ public class NettyContrastClientHandler extends SimpleChannelInboundHandler<Stri
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) { public void userEventTriggered(ChannelHandlerContext ctx, Object evt) {
if (evt instanceof IdleStateEvent) { //IdleState.在一段时间内没有收到任何消息时,会触发该事件 if (evt instanceof IdleStateEvent) { //IdleState.在一段时间内没有收到任何消息时,会触发该事件
if (((IdleStateEvent) evt).state() == IdleState.READER_IDLE) { if (((IdleStateEvent) evt).state() == IdleState.READER_IDLE) {
if (FormalTestManager.isTesting) {
System.out.println(LocalDateTime.now() + "contrastClientHandler触发读超时函数**************************************"); System.out.println(LocalDateTime.now() + "contrastClientHandler触发读超时函数**************************************");
if (!FormalTestManager.isRemoveSocket && ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) { if (!FormalTestManager.isRemoveSocket && ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) {
long time = SocketManager.contrastClockMap.get(FormalTestManager.nonWaveDataSourceEnum) + 60L; long time = SocketManager.contrastClockMap.get(FormalTestManager.nonWaveDataSourceEnum) + 60L;
SocketManager.contrastClockMap.put(FormalTestManager.nonWaveDataSourceEnum, time); SocketManager.contrastClockMap.put(FormalTestManager.nonWaveDataSourceEnum, time);
if (FormalTestManager.isPstData) {
if (time > 60 * 10) {
if (DataSourceEnum.REAL_DATA == FormalTestManager.nonWaveDataSourceEnum) { if (DataSourceEnum.REAL_DATA == FormalTestManager.nonWaveDataSourceEnum) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
}
if (FormalTestManager.isWaveCheck) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true);
}
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, true);
timeoutSend(SourceOperateCodeEnum.QUIT_INIT_01);
}
} else if (DataSourceEnum.REAL_DATA == FormalTestManager.nonWaveDataSourceEnum) {
if (time >= 60) { if (time >= 60) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
timeoutSend(SourceOperateCodeEnum.QUIT_INIT_02); timeoutSend(SourceOperateCodeEnum.QUIT_INIT_02);
} }
} else if (time >= FormalTestManager.maxTime) { } else if (time >= FormalTestManager.maxTime) {
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true); CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, true);
timeoutSend(SourceOperateCodeEnum.QUIT_INIT_01); timeoutSend(SourceOperateCodeEnum.QUIT_INIT_01);
} }
} }
} }
} }
} }
}
@Override @Override
public void handlerAdded(ChannelHandlerContext ctx) { public void handlerAdded(ChannelHandlerContext ctx) {

View File

@@ -380,21 +380,27 @@ public class WebSocketHandler extends SimpleChannelInboundHandler<TextWebSocketF
} }
} else { } else {
if (FormalTestManager.currentStep == SourceOperateCodeEnum.RECORD_WAVE_STEP1) { if (FormalTestManager.currentStep == SourceOperateCodeEnum.RECORD_WAVE_STEP1) {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true); CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} else if (FormalTestManager.currentStep != SourceOperateCodeEnum.QUITE) { } else if (FormalTestManager.currentStep != SourceOperateCodeEnum.QUITE) {
if (ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) { if (ObjectUtil.isNotNull(FormalTestManager.nonWaveDataSourceEnum)) {
if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) { if (FormalTestManager.nonWaveDataSourceEnum == DataSourceEnum.REAL_DATA) {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false); CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
if (FormalTestManager.statisticsProtocol) {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
} else { } else {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false); CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
} }
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.isWaveCheck) {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true); CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
} else { } else {
if (FormalTestManager.statisticsProtocol) {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_01, false);
}
if (FormalTestManager.isWaveCheck) { if (FormalTestManager.isWaveCheck) {
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false); CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true); CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
} }
} }
} else { } else {

View File

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.err.mapper.PqErrSysMapper; import com.njcn.gather.err.mapper.PqErrSysMapper;
import com.njcn.gather.err.pojo.param.PqErrSysDtlsParam; import com.njcn.gather.err.pojo.param.PqErrSysDtlsParam;
import com.njcn.gather.err.pojo.param.PqErrSysParam; import com.njcn.gather.err.pojo.param.PqErrSysParam;
@@ -18,6 +19,7 @@ import com.njcn.gather.err.pojo.vo.PqErrSysDtlsVO;
import com.njcn.gather.err.service.IPqErrSysDtlsService; import com.njcn.gather.err.service.IPqErrSysDtlsService;
import com.njcn.gather.err.service.IPqErrSysService; import com.njcn.gather.err.service.IPqErrSysService;
import com.njcn.gather.pojo.enums.DetectionResponseEnum; import com.njcn.gather.pojo.enums.DetectionResponseEnum;
import com.njcn.gather.report.pojo.enums.PowerIndexEnum;
import com.njcn.gather.system.dictionary.pojo.po.DictData; import com.njcn.gather.system.dictionary.pojo.po.DictData;
import com.njcn.gather.system.dictionary.pojo.po.DictTree; import com.njcn.gather.system.dictionary.pojo.po.DictTree;
import com.njcn.gather.system.dictionary.service.IDictDataService; import com.njcn.gather.system.dictionary.service.IDictDataService;
@@ -219,7 +221,9 @@ public class PqErrSysServiceImpl extends ServiceImpl<PqErrSysMapper, PqErrSys> i
List<DictTree> parentDictTreeList = dictTreeService.listByIds(pids); List<DictTree> parentDictTreeList = dictTreeService.listByIds(pids);
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
parentDictTreeList.forEach(dictTree -> { parentDictTreeList.forEach(dictTree -> {
if(!dictTree.getCode().equals(PowerIndexEnum.VOLTAGE.getKey())&&!dictTree.getCode().equals(PowerIndexEnum.P.getKey())){
map.put(dictTree.getId(), dictTree.getName()); map.put(dictTree.getId(), dictTree.getName());
}
}); });
return map; return map;
} }

View File

@@ -52,7 +52,7 @@ public class PqMonitorParam {
private Integer statInterval; private Integer statInterval;
@ApiModelProperty(value = "谐波系统监测点id") @ApiModelProperty(value = "谐波系统监测点id")
@NotBlank(message = DetectionValidMessage.MONITOR_ID_NOT_BLANK) // @NotBlank(message = DetectionValidMessage.MONITOR_ID_NOT_BLANK)
private String harmSysId; private String harmSysId;
@ApiModelProperty(value = "是否做检测") @ApiModelProperty(value = "是否做检测")

View File

@@ -630,7 +630,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|| datasourceId.contains(DataSourceEnum.MINUTE_STATISTICS_MAX.getValue()) || datasourceId.contains(DataSourceEnum.MINUTE_STATISTICS_MAX.getValue())
|| datasourceId.contains(DataSourceEnum.MINUTE_STATISTICS_MIN.getValue())) { || datasourceId.contains(DataSourceEnum.MINUTE_STATISTICS_MIN.getValue())) {
String[] split = adPlan.getTestItem().split(StrUtil.COMMA); String[] split = adPlan.getTestItem().split(StrUtil.COMMA);
List<DictTree> dictTreeList = dictTreeService.list(new QueryWrapper<DictTree>().in("id", split).eq("state", DataStateEnum.DELETED.getCode())); List<DictTree> dictTreeList = dictTreeService.list(new QueryWrapper<DictTree>().in("id", split).eq("state", DataStateEnum.DELETED.getCode()).orderByAsc("sort"));
for (DictTree dictTree : dictTreeList) { for (DictTree dictTree : dictTreeList) {
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();

View File

@@ -99,6 +99,8 @@ import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
import static com.njcn.gather.plan.pojo.enums.DataSourceEnum.*;
/** /**
* @author caozehui * @author caozehui
* @data 2024-12-30 * @data 2024-12-30
@@ -111,6 +113,7 @@ public class ResultServiceImpl implements IResultService {
private final IAdPlanService adPlanService; private final IAdPlanService adPlanService;
private final IAdPlanTestConfigService adPlanTestConfigService; private final IAdPlanTestConfigService adPlanTestConfigService;
private final IPqDevService pqDevService; private final IPqDevService pqDevService;
private final IPqStandardDevService pqStandardDevService;
private final SimAndDigNonHarmonicService simAndDigNonHarmonicService; private final SimAndDigNonHarmonicService simAndDigNonHarmonicService;
private final SimAndDigHarmonicService simAndDigHarmonicService; private final SimAndDigHarmonicService simAndDigHarmonicService;
private final ContrastHarmonicService contrastHarmonicService; private final ContrastHarmonicService contrastHarmonicService;
@@ -2705,7 +2708,7 @@ public class ResultServiceImpl implements IResultService {
if (CollUtil.isNotEmpty(contrastHarmonicResults)) { if (CollUtil.isNotEmpty(contrastHarmonicResults)) {
ContrastHarmonicResult contrastHarmonicResult = contrastHarmonicResults.get(0); ContrastHarmonicResult contrastHarmonicResult = contrastHarmonicResults.get(0);
List<Double> harmonicNum = null; List<Double> harmonicNum = null;
if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode())) { if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode()) || DicDataEnum.HP.getCode().equals(dictTree.getCode())) {
harmonicNum = Stream.iterate(2.0, n -> n + 1).limit(49).collect(Collectors.toList()); harmonicNum = Stream.iterate(2.0, n -> n + 1).limit(49).collect(Collectors.toList());
} }
if (DicDataEnum.HSV.getCode().equals(dictTree.getCode()) || DicDataEnum.HSI.getCode().equals(dictTree.getCode())) { if (DicDataEnum.HSV.getCode().equals(dictTree.getCode()) || DicDataEnum.HSI.getCode().equals(dictTree.getCode())) {
@@ -2789,7 +2792,7 @@ public class ResultServiceImpl implements IResultService {
if (CollUtil.isNotEmpty(devHarmonicRawDataList) && CollUtil.isNotEmpty(stdDevHarmonicRawDataList)) { if (CollUtil.isNotEmpty(devHarmonicRawDataList) && CollUtil.isNotEmpty(stdDevHarmonicRawDataList)) {
List<Double> harmonicNum = null; List<Double> harmonicNum = null;
if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode())) { if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode()) || DicDataEnum.HP.getCode().equals(dictTree.getCode())) {
harmonicNum = Stream.iterate(2.0, n -> n + 1).limit(49).collect(Collectors.toList()); harmonicNum = Stream.iterate(2.0, n -> n + 1).limit(49).collect(Collectors.toList());
} }
if (DicDataEnum.HSV.getCode().equals(dictTree.getCode()) || DicDataEnum.HSI.getCode().equals(dictTree.getCode())) { if (DicDataEnum.HSV.getCode().equals(dictTree.getCode()) || DicDataEnum.HSI.getCode().equals(dictTree.getCode())) {
@@ -3043,18 +3046,19 @@ public class ResultServiceImpl implements IResultService {
DataSourceEnum nonWaveDataSourceEnum = DataSourceEnum.REAL_DATA; DataSourceEnum nonWaveDataSourceEnum = DataSourceEnum.REAL_DATA;
for (String ds : dataSourceIds) { for (String ds : dataSourceIds) {
switch (DataSourceEnum.valueOf(ds)) { DataSourceEnum dataSourceEnum = DataSourceEnum.ofByValue(ds);
switch (dataSourceEnum) {
case MINUTE_STATISTICS_MIN: case MINUTE_STATISTICS_MIN:
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_MIN; nonWaveDataSourceEnum = MINUTE_STATISTICS_MIN;
break; break;
case MINUTE_STATISTICS_MAX: case MINUTE_STATISTICS_MAX:
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_MAX; nonWaveDataSourceEnum = MINUTE_STATISTICS_MAX;
break; break;
case MINUTE_STATISTICS_AVG: case MINUTE_STATISTICS_AVG:
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_AVG; nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_AVG;
break; break;
case MINUTE_STATISTICS_CP95: case MINUTE_STATISTICS_CP95:
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_CP95; nonWaveDataSourceEnum = MINUTE_STATISTICS_CP95;
break; break;
} }
} }
@@ -3107,6 +3111,7 @@ public class ResultServiceImpl implements IResultService {
parsId.put(dev.getId() + CnSocketUtil.SPLIT_TAG + split1[1], standardDev.getId() + CnSocketUtil.SPLIT_TAG + split2[1]); parsId.put(dev.getId() + CnSocketUtil.SPLIT_TAG + split1[1], standardDev.getId() + CnSocketUtil.SPLIT_TAG + split2[1]);
numMap.put(devMonitorId, num); numMap.put(devMonitorId, num);
numMap.put(adPair.getStdDevMonitorId(), num); numMap.put(adPair.getStdDevMonitorId(), num);
devIdMapComm.put(standardDev.getIp(), standardDev.getId());
}); });
List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null); List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null);
@@ -3114,8 +3119,8 @@ public class ResultServiceImpl implements IResultService {
List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null); List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null);
List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 1, deviceId, null); List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 1, deviceId, null);
List<DevData> devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap); List<DevData> devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap, 0);
List<DevData> standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap); List<DevData> standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap, 1);
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, null, finalNonWaveDataSourceEnum); detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, null, finalNonWaveDataSourceEnum);
@@ -3132,8 +3137,8 @@ public class ResultServiceImpl implements IResultService {
devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null); devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null);
stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 1, deviceId, null); stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 1, deviceId, null);
devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap); devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap, 0);
standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap); standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap, 1);
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, oldCode, i, DataSourceEnum.WAVE_DATA); detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, oldCode, i, DataSourceEnum.WAVE_DATA);
} }
@@ -3230,19 +3235,29 @@ public class ResultServiceImpl implements IResultService {
return info; return info;
} }
private List<DevData> contrastToList(List<ContrastNonHarmonicResult> nonHarm, List<ContrastHarmonicResult> harm, BiMap<String, String> testItemMap) { private List<DevData> contrastToList(List<ContrastNonHarmonicResult> nonHarm, List<ContrastHarmonicResult> harm, BiMap<String, String> testItemMap, Integer flag) {
List<DevData> info = new ArrayList<>(); List<DevData> info = new ArrayList<>();
if (CollUtil.isNotEmpty(nonHarm)) {
Map<String, List<ContrastNonHarmonicResult>> devMonitorIdMap = nonHarm.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getDevMonitorId, Collectors.toList())); Map<String, List<ContrastNonHarmonicResult>> devMonitorIdMap1 = null;
devMonitorIdMap.forEach((devMonitorId, value) -> { if (flag == 0) {
DevData devData = new DevData(); devMonitorIdMap1 = nonHarm.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getDevMonitorId, Collectors.toList()));
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG); } else {
PqDev dev = pqDevService.getById(split[0]); devMonitorIdMap1 = nonHarm.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getStdDevMonitorId, Collectors.toList()));
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]); }
devMonitorIdMap1.forEach((devMonitorId, value) -> {
Map<LocalDateTime, List<ContrastNonHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getTimeId, Collectors.toList())); Map<LocalDateTime, List<ContrastNonHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getTimeId, Collectors.toList()));
timeListMap.forEach((time, value1) -> { timeListMap.forEach((time, value1) -> {
List<DevData.SqlDataDTO> sqlData = new ArrayList<>(); DevData devData = new DevData();
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
if (flag == 0) {
PqDev dev = pqDevService.getById(split[0]);
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
} else {
PqStandardDev standardDev = pqStandardDevService.getById(split[0]);
devData.setId(standardDev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
}
devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN))); devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)));
List<DevData.SqlDataDTO> sqlData = new ArrayList<>();
value1.forEach(x -> { value1.forEach(x -> {
DevData.SqlDataDTO sqlDataDTO = new DevData.SqlDataDTO(); DevData.SqlDataDTO sqlDataDTO = new DevData.SqlDataDTO();
@@ -3257,31 +3272,42 @@ public class ResultServiceImpl implements IResultService {
sqlData.add(sqlDataDTO); sqlData.add(sqlDataDTO);
}); });
devData.setSqlData(sqlData); devData.setSqlData(sqlData);
});
info.add(devData); info.add(devData);
}); });
});
Map<String, List<ContrastHarmonicResult>> devMonitorIdMap2 = null;
if (flag == 0) {
devMonitorIdMap2 = harm.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getDevMonitorId, Collectors.toList()));
} else {
devMonitorIdMap2 = harm.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getStdDevMonitorId, Collectors.toList()));
} }
if (CollUtil.isNotEmpty(harm)) {
Map<String, List<ContrastHarmonicResult>> devMonitorIdMap = harm.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getDevMonitorId, Collectors.toList())); devMonitorIdMap2.forEach((devMonitorId, value) -> {
devMonitorIdMap.forEach((devMonitorId, value) -> {
DevData devData = new DevData();
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
PqDev dev = pqDevService.getById(split[0]);
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
Map<LocalDateTime, List<ContrastHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getTimeId, Collectors.toList())); Map<LocalDateTime, List<ContrastHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getTimeId, Collectors.toList()));
timeListMap.forEach((time, value1) -> { timeListMap.forEach((time, value1) -> {
devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN))); DevData devData = info.stream().filter(x -> x.getTime().equals(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)))).findFirst().orElse(null);
List<DevData.SqlDataDTO> sqlData = new ArrayList<>(); if (ObjectUtil.isNotNull(devData)) {
List<DevData.SqlDataHarmDTO> sqlDataHarm = new ArrayList<>(); String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
if (flag == 0) {
PqDev dev = pqDevService.getById(split[0]);
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
} else {
PqStandardDev standardDev = pqStandardDevService.getById(split[0]);
devData.setId(standardDev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
}
devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)));
List<DevData.SqlDataDTO> sqlData = devData.getSqlData();
List<DevData.SqlDataHarmDTO> sqlDataHarm = new ArrayList<>();
value1.forEach(x -> { value1.forEach(x -> {
DevData.SqlDataHarmDTO dataHarmDTO = new DevData.SqlDataHarmDTO(); DevData.SqlDataHarmDTO dataHarmDTO = new DevData.SqlDataHarmDTO();
dataHarmDTO.setType(x.getDataType()); dataHarmDTO.setType(x.getDataType());
String desc = testItemMap.inverse().get(x.getAdType()).replace(DetectionCodeEnum.REAL_PREFIX.getCode(), ""); String desc = testItemMap.inverse().get(x.getAdType()).replace(DetectionCodeEnum.REAL_PREFIX.getCode(), "");
dataHarmDTO.setDesc(desc); dataHarmDTO.setDesc(desc);
boolean notContainBaseHarm = false; boolean notContainBaseHarm = false;
if (DetectionCodeEnum.V2_50.getCode().equals(desc) || DetectionCodeEnum.PV2_50.getCode().equals(desc) || DetectionCodeEnum.I2_50.getCode().equals(desc)) { if (DetectionCodeEnum.V2_50.getCode().equals(desc) || DetectionCodeEnum.PV2_50.getCode().equals(desc) || DetectionCodeEnum.I2_50.getCode().equals(desc) || DetectionCodeEnum.P2_50.getCode().equals(desc)) {
dataHarmDTO.setNum(49); dataHarmDTO.setNum(49);
notContainBaseHarm = true; notContainBaseHarm = true;
} }
@@ -3316,12 +3342,13 @@ public class ResultServiceImpl implements IResultService {
} }
} }
}); });
devData.setSqlDataHarm(sqlDataHarm); devData.setSqlDataHarm(sqlDataHarm);
devData.setSqlData(sqlData); devData.setSqlData(sqlData);
});
info.add(devData);
});
} }
});
});
return info; return info;
} }