预检测时进行录波校验、完善监测点结果修改逻辑
This commit is contained in:
@@ -217,6 +217,7 @@ public class SocketContrastResponseService {
|
||||
failComm.clear();
|
||||
successPair.clear();
|
||||
FormalTestManager.isRemoveSocket = false;
|
||||
FormalTestManager.waveCheckFlag = false;
|
||||
|
||||
HashBiMap<String, String> hashBiMap = HashBiMap.create(param.getPairs());
|
||||
FormalTestManager.pairsIdMap.clear();
|
||||
@@ -370,7 +371,6 @@ public class SocketContrastResponseService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 装置通讯检测
|
||||
*/
|
||||
@@ -382,40 +382,132 @@ public class SocketContrastResponseService {
|
||||
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
||||
switch (dictDataEnumByCode) {
|
||||
case SUCCESS:
|
||||
String result = socketDataMsg.getData();
|
||||
successComm.add(result);
|
||||
//单个测点通讯成功
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
|
||||
if (SourceOperateCodeEnum.RECORD_WAVE_STEP2.getValue().equals(socketDataMsg.getRequestId())) {
|
||||
WaveResultDTO waveResultDTO = JSON.parseObject(socketDataMsg.getData(), WaveResultDTO.class);
|
||||
FormalTestManager.waveResultDTOMap.put(waveResultDTO.getId(), waveResultDTO);
|
||||
successComm.add(waveResultDTO.getId());
|
||||
|
||||
System.out.println("设备通讯校验!" + successComm.size() + "=====" + FormalTestManager.monitorMap.size());
|
||||
if (successComm.size() == FormalTestManager.monitorMap.size()) {
|
||||
// 通知前端整个装置通讯检测过程成功
|
||||
SocketDataMsg temMsg = new SocketDataMsg();
|
||||
temMsg.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());
|
||||
temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
|
||||
temMsg.setRequestId(SourceOperateCodeEnum.YJC_SBTXJY.getValue());
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(temMsg));
|
||||
if (successComm.size() == FormalTestManager.monitorMap.size()) {
|
||||
scheduledFuture.cancel(true);
|
||||
scheduler.shutdown();
|
||||
scheduler = null;
|
||||
|
||||
//开始模型一致性校验
|
||||
System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》");
|
||||
SocketDataMsg webSend = new SocketDataMsg();
|
||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_SBTXJY.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_03.getValue());
|
||||
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());
|
||||
webSend.setData("设备通讯校验成功!");
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||
|
||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
|
||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
||||
phaseSequenceParam.setDataType(this.getAllDataType());
|
||||
phaseSequenceParam.setReadCount(1);
|
||||
phaseSequenceParam.setIgnoreCount(1); // 刚一开始实时数据申请后,第一组数据为空数据,忽略掉
|
||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||
successComm.clear();
|
||||
failComm.clear();
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
|
||||
|
||||
FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_MXYZXJY;
|
||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||
// 实时数据开始计时
|
||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||
//开始模型一致性校验
|
||||
System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》");
|
||||
this.sendModelDeal(s);
|
||||
}
|
||||
} else {
|
||||
String result = socketDataMsg.getData();
|
||||
successComm.add(result);
|
||||
//单个测点通讯成功
|
||||
socketDataMsg.setRequestId(SourceOperateCodeEnum.YJC_SBTXJY.getValue());
|
||||
String msg = "";
|
||||
boolean real = SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue().equals(socketDataMsg.getOperateCode());
|
||||
boolean voltage = SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue().equals(socketDataMsg.getOperateCode());
|
||||
if (real) {
|
||||
msg = "实时协议校验成功!";
|
||||
}
|
||||
if (voltage) {
|
||||
msg = "暂态协议校验成功!";
|
||||
}
|
||||
MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1);
|
||||
socketDataMsg.setData(socketDataMsg.getData() + msg);
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
|
||||
System.out.println(msg + successComm.size() + "=====" + FormalTestManager.monitorMap.size());
|
||||
if (successComm.size() == FormalTestManager.monitorMap.size()) {
|
||||
String datasourceId = FormalTestManager.currentTestPlan.getDatasourceId();
|
||||
boolean isWaveCheck = datasourceId.contains(DataSourceEnum.WAVE_DATA.getValue());
|
||||
|
||||
SocketDataMsg temMsg = new SocketDataMsg();
|
||||
temMsg.setRequestId(SourceOperateCodeEnum.YJC_SBTXJY.getValue());
|
||||
|
||||
if (isWaveCheck) {
|
||||
// if (real) {
|
||||
// temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
|
||||
// temMsg.setCode(SourceResponseCodeEnum.SUCCESS.getCode());
|
||||
// temMsg.setData(msg);
|
||||
// }
|
||||
if (voltage) {
|
||||
successComm.clear();
|
||||
failComm.clear();
|
||||
|
||||
// 下发录波指令
|
||||
this.sendRecordWave(s);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
temMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue());
|
||||
temMsg.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());
|
||||
temMsg.setData("设备通讯校验成功!");
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(temMsg));
|
||||
}
|
||||
|
||||
if (isWaveCheck && real) {
|
||||
// 进行暂态协议校验
|
||||
socketMsg.setRequestId(SourceOperateCodeEnum.YJC_XYJY.getValue());
|
||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_INIT_GATHER_03.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));
|
||||
} else {
|
||||
//开始模型一致性校验
|
||||
System.out.println("装置通信成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始模型一致性校验》》》》》》》》》》》》》》》》");
|
||||
|
||||
this.sendModelDeal(s);
|
||||
}
|
||||
}
|
||||
completeJudgment(param);
|
||||
}
|
||||
completeJudgment(param);
|
||||
break;
|
||||
case UNPROCESSED_BUSINESS:
|
||||
if (SourceOperateCodeEnum.RECORD_WAVE_STEP2.getValue().equals(socketDataMsg.getRequestId())) {
|
||||
String data = socketDataMsg.getData();
|
||||
if (StrUtil.isNotBlank(data) && data.equals("waiting")) {
|
||||
if (Objects.isNull(scheduler)) {
|
||||
scheduler = Executors.newScheduledThreadPool(1);
|
||||
scheduledFuture = scheduler.schedule(() -> {
|
||||
SocketDataMsg webSend = new SocketDataMsg();
|
||||
webSend.setRequestId(SourceOperateCodeEnum.RECORD_WAVE_STEP2.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_03.getValue());
|
||||
System.out.println("无效的录波指令!");
|
||||
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
|
||||
|
||||
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.monitorMap.keySet(), successComm);
|
||||
// 向前端推送
|
||||
for (String key : disjunction) {
|
||||
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
|
||||
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsIpMap.inverse().get(key), FormalTestManager.devNameMapComm) + " 无效的录波指令!");
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||
}
|
||||
// 推送最终失败结果
|
||||
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode());//最终错误推送
|
||||
webSend.setData("无效的录波指令!");
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||
|
||||
scheduler.shutdown();
|
||||
scheduler = null;
|
||||
}, 15, TimeUnit.SECONDS);
|
||||
}
|
||||
}
|
||||
}
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
break;
|
||||
case DEV_ERROR:
|
||||
@@ -453,89 +545,91 @@ public class SocketContrastResponseService {
|
||||
DevData devData = JSON.parseObject(socketDataMsg.getData(), DevData.class);
|
||||
socketDataMsg.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
|
||||
|
||||
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
||||
switch (dictDataEnumByCode) {
|
||||
case SUCCESS:
|
||||
//成功收到数据后重置超时统计时间
|
||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||
String monitorId1 = devData.getId();
|
||||
successComm.add(monitorId1);
|
||||
if (!SourceOperateCodeEnum.QUIT_INIT_03.getValue().equals(socketDataMsg.getOperateCode()) && !SourceOperateCodeEnum.RDRE$01.getValue().equals(socketDataMsg.getOperateCode())) {
|
||||
if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
|
||||
switch (dictDataEnumByCode) {
|
||||
case SUCCESS:
|
||||
//成功收到数据后重置超时统计时间
|
||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||
String monitorId1 = devData.getId();
|
||||
successComm.add(monitorId1);
|
||||
|
||||
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
||||
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
||||
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||
}
|
||||
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
||||
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
||||
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||
}
|
||||
|
||||
if (successComm.size() == FormalTestManager.monitorMap.size()) {
|
||||
|
||||
boolean modelCheckResult = this.modelCheck(param, FormalTestManager.devDataMap, FormalTestManager.monitorMap.get(monitorId1), true);
|
||||
modelCheckResult = this.modelCheck(param, FormalTestManager.standardDevDataMap, FormalTestManager.monitorMap.get(monitorId1), false) && modelCheckResult;
|
||||
if (!modelCheckResult) {
|
||||
this.clearData();
|
||||
|
||||
SocketDataMsg webSend = new SocketDataMsg();
|
||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode()); //最终错误推送
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(webSend, FormalTestManager.devNameMapComm, 0));
|
||||
|
||||
System.out.println("模型一致性校验失败!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》");
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
return;
|
||||
} else {
|
||||
this.clearData();
|
||||
|
||||
SocketDataMsg webSend = new SocketDataMsg();
|
||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||
|
||||
System.out.println("模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始实时数据对齐校验》》》》》》》》》》》》》》》》");
|
||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
|
||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
||||
phaseSequenceParam.setDataType(Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PVRMS.getCode()));
|
||||
phaseSequenceParam.setReadCount(this.getMaxReadCount(5));
|
||||
phaseSequenceParam.setIgnoreCount(0);
|
||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||
|
||||
FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_ALIGN;
|
||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||
// 实时数据开始计时
|
||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
||||
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
||||
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case UNPROCESSED_BUSINESS:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
break;
|
||||
case NORMAL_RESPONSE:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
break;
|
||||
case DEV_ERROR:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
case DEV_TARGET:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
case RE_OPERATE:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
case NO_INIT_DEV:
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
default:
|
||||
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
|
||||
break;
|
||||
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
||||
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
||||
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||
}
|
||||
|
||||
if (successComm.size() == FormalTestManager.monitorMap.size()) {
|
||||
|
||||
boolean modelCheckResult = this.modelCheck(param, FormalTestManager.devDataMap, FormalTestManager.monitorMap.get(monitorId1), true);
|
||||
modelCheckResult = this.modelCheck(param, FormalTestManager.standardDevDataMap, FormalTestManager.monitorMap.get(monitorId1), false) && modelCheckResult;
|
||||
if (!modelCheckResult) {
|
||||
this.clearData();
|
||||
|
||||
SocketDataMsg webSend = new SocketDataMsg();
|
||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
webSend.setCode(SourceResponseCodeEnum.ALL_FAIL.getCode()); //最终错误推送
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(webSend, FormalTestManager.devNameMapComm, 0));
|
||||
|
||||
System.out.println("模型一致性校验失败!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》");
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
return;
|
||||
} else {
|
||||
this.clearData();
|
||||
|
||||
SocketDataMsg webSend = new SocketDataMsg();
|
||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_MXYZXJY.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||
|
||||
System.out.println("模型一致性校验成功!》》》》》》》》》》》》》》》》》》》》》》》》》》》》》开始实时数据对齐校验》》》》》》》》》》》》》》》》");
|
||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
|
||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
||||
phaseSequenceParam.setDataType(Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PVRMS.getCode()));
|
||||
phaseSequenceParam.setReadCount(this.getMaxReadCount(5));
|
||||
phaseSequenceParam.setIgnoreCount(0);
|
||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||
|
||||
FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_ALIGN;
|
||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||
// 实时数据开始计时
|
||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case UNPROCESSED_BUSINESS:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
break;
|
||||
case NORMAL_RESPONSE:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
break;
|
||||
case DEV_ERROR:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
case DEV_TARGET:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
case RE_OPERATE:
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
case NO_INIT_DEV:
|
||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
|
||||
break;
|
||||
default:
|
||||
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1071,7 +1165,6 @@ public class SocketContrastResponseService {
|
||||
FormalTestManager.waveResultDTOMap.put(waveResultDTO.getId(), waveResultDTO);
|
||||
successComm.add(waveResultDTO.getId());
|
||||
|
||||
|
||||
if (successComm.size() == FormalTestManager.monitorMap.size()) {
|
||||
FormalTestManager.waveNum += 1;
|
||||
scheduledFuture.cancel(true);
|
||||
@@ -1082,7 +1175,7 @@ public class SocketContrastResponseService {
|
||||
webSend.setRequestId(SourceOperateCodeEnum.RECORD_WAVE_STEP2.getValue());
|
||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_03.getValue());
|
||||
webSend.setCode(SourceResponseCodeEnum.SUCCESS.getCode());
|
||||
webSend.setData("第" + FormalTestManager.waveNum + "录波成功!");
|
||||
webSend.setData("第" + FormalTestManager.waveNum + "次录波完成!");
|
||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||
|
||||
String errorSysId = FormalTestManager.currentTestPlan.getErrorSysId();
|
||||
@@ -1196,7 +1289,7 @@ public class SocketContrastResponseService {
|
||||
if (FormalTestManager.monitorMap.containsKey(ip1)) {
|
||||
String[] split = ip1.split(CnSocketUtil.SPLIT_TAG);
|
||||
String id = FormalTestManager.devIdMapComm.get(split[0]);
|
||||
pqMonitorService.updateMonitorResult(id + CnSocketUtil.SPLIT_TAG + split[1], adTypes, DataSourceEnum.WAVE_DATA, FormalTestManager.numMap.get(id + CnSocketUtil.SPLIT_TAG + split[1]), FormalTestManager.waveNum, code);
|
||||
pqMonitorService.updateMonitorResult(id + CnSocketUtil.SPLIT_TAG + split[1], adTypes, DataSourceEnum.WAVE_DATA, FormalTestManager.numMap.get(id + CnSocketUtil.SPLIT_TAG + split[1]), FormalTestManager.curretntTestPlanConfig.getWaveRecord(), code);
|
||||
pqDevService.updateResult(id, param.getUserId());
|
||||
}
|
||||
});
|
||||
@@ -2208,6 +2301,23 @@ public class SocketContrastResponseService {
|
||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||
}
|
||||
|
||||
private void sendModelDeal(String s) {
|
||||
SocketMsg<String> socketMsg = new SocketMsg<>();
|
||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
|
||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
||||
phaseSequenceParam.setDataType(this.getAllDataType());
|
||||
phaseSequenceParam.setReadCount(1);
|
||||
phaseSequenceParam.setIgnoreCount(1); // 刚一开始实时数据申请后,第一组数据为空数据,忽略掉
|
||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||
|
||||
FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_MXYZXJY;
|
||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
||||
// 实时数据开始计时
|
||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||
}
|
||||
|
||||
private List<List<DevData>> analyzeWaveFile(WaveResultDTO devWaveResultDTO, WaveResultDTO stdDevWaveResultDTO, PreDetection.MonitorListDTO monitorListDTO, String devMonitorId, String stdDevMonitorId, List<String> adTypeCodeList) {
|
||||
String stdDevCfgPath = stdDevWaveResultDTO.getPath().replaceAll("\\\\", "/").replace(".CFG", ".cfg");
|
||||
String devCfgPath = devWaveResultDTO.getPath().replaceAll("\\\\", "/").replace(".CFG", ".cfg");
|
||||
|
||||
@@ -1603,6 +1603,11 @@ public class DetectionServiceImpl {
|
||||
|
||||
switch (anEnum) {
|
||||
case FREQ:
|
||||
devDataList.stream().forEach(devData -> devData.getSqlData().stream().filter(sqlData -> sqlData.getDesc().equals(DetectionCodeEnum.FREQ.getCode())).findFirst().ifPresent(sqlData -> {
|
||||
DevData.SqlDataDTO.ListDTO listDTO = sqlData.getList();
|
||||
listDTO.setT(55.0);
|
||||
sqlData.setList(listDTO);
|
||||
}));
|
||||
resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum));
|
||||
break;
|
||||
case VRMS:
|
||||
@@ -1611,6 +1616,15 @@ public class DetectionServiceImpl {
|
||||
resultMap.put(PowerIndexEnum.V.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fUn, (isDelta && isExitDelta ? DetectionCodeEnum.PVRMS.getCode() : DetectionCodeEnum.VRMS.getCode()), dataRule, num, code, oneConfig.getScale(), waveNum));
|
||||
break;
|
||||
case IRMS:
|
||||
if (ObjectUtil.isNotNull(waveNum)) {
|
||||
devDataList.stream().forEach(devData -> devData.getSqlData().stream().filter(sqlData -> sqlData.getDesc().equals(DetectionCodeEnum.IRMS.getCode())).findFirst().ifPresent(sqlData -> {
|
||||
DevData.SqlDataDTO.ListDTO listDTO = sqlData.getList();
|
||||
listDTO.setA(1.5);
|
||||
listDTO.setC(1.5);
|
||||
sqlData.setList(listDTO);
|
||||
}));
|
||||
}
|
||||
|
||||
resultMap.put(PowerIndexEnum.I.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fIn, DetectionCodeEnum.IRMS.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum));
|
||||
break;
|
||||
case V_UNBAN:
|
||||
|
||||
@@ -186,6 +186,7 @@ public class DetectionUtil {
|
||||
return getMillis(localDateTime);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取LocalDateTime对应的UTC毫秒时间戳
|
||||
* <p>
|
||||
|
||||
@@ -127,7 +127,12 @@ public class FormalTestManager {
|
||||
/**
|
||||
* 是否要移除和通信模块的socket连接
|
||||
*/
|
||||
public static Boolean isRemoveSocket = true;
|
||||
public static Boolean isRemoveSocket;
|
||||
|
||||
/**
|
||||
* 录波功能校验
|
||||
*/
|
||||
public static Boolean waveCheckFlag;
|
||||
|
||||
/**
|
||||
* 第几次监测 key为设备监测点id,value为第几次监测
|
||||
@@ -148,4 +153,5 @@ public class FormalTestManager {
|
||||
* 每次录波检测结果
|
||||
*/
|
||||
public static List<DevLineTestResult> preNumTestResultList = new ArrayList<>();
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -133,7 +135,6 @@ public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor
|
||||
|
||||
@Override
|
||||
public boolean updateMonitorResult(String monitorId, List<String> adTypes, DataSourceEnum dataSourceEnum, Integer num, Integer waveNum, String code) {
|
||||
Integer newMonitorResult = detectionDataDealService.getMonitorResult(monitorId, adTypes, dataSourceEnum.getValue(), num, waveNum, code);
|
||||
String[] split = monitorId.split(CnSocketUtil.SPLIT_TAG);
|
||||
QueryWrapper<PqMonitor> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("pq_monitor.Dev_Id", split[0])
|
||||
@@ -142,11 +143,35 @@ public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor
|
||||
PqMonitor monitor = this.getOne(wrapper);
|
||||
String resultType = monitor.getResultType();
|
||||
Integer qualifiedNum = monitor.getQualifiedNum();
|
||||
boolean updateFlag = false;
|
||||
|
||||
Integer newMonitorResult = CheckResultEnum.UNCHECKED.getValue();
|
||||
AtomicReference<Integer> newWaveNum = new AtomicReference<>(-1);
|
||||
switch (dataSourceEnum) {
|
||||
case REAL_DATA:
|
||||
newMonitorResult = detectionDataDealService.getMonitorResult(monitorId, adTypes, dataSourceEnum.getValue(), num, null, code);
|
||||
break;
|
||||
case WAVE_DATA:
|
||||
Map<Integer, Integer> waveNumResultMap = detectionDataDealService.getWaveNumResultMap(monitorId, adTypes, num, code);
|
||||
waveNumResultMap.forEach((key, value) -> {
|
||||
if (CheckResultEnum.ACCORD.getValue().equals(value)) {
|
||||
newWaveNum.set(key);
|
||||
}
|
||||
});
|
||||
if (!newWaveNum.get().equals(-1)) {
|
||||
newMonitorResult = CheckResultEnum.ACCORD.getValue();
|
||||
} else {
|
||||
newWaveNum.set(waveNum);
|
||||
newMonitorResult = waveNumResultMap.get(waveNum);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
boolean updateFlag = false;
|
||||
if (StrUtil.isBlank(resultType)) {
|
||||
updateFlag = true;
|
||||
if (CheckResultEnum.ACCORD.getValue().equals(newMonitorResult)) {
|
||||
if (newMonitorResult.equals(CheckResultEnum.ACCORD.getValue())) {
|
||||
qualifiedNum += 1;
|
||||
}
|
||||
} else {
|
||||
@@ -175,33 +200,31 @@ public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor
|
||||
if (updateFlag) {
|
||||
monitor.setResultType(dataSourceEnum.getValue());
|
||||
|
||||
if (DataSourceEnum.REAL_DATA.getValue().equals(dataSourceEnum.getValue())) {
|
||||
monitor.setRealtimeResult(newMonitorResult);
|
||||
monitor.setRealtimeNum(String.valueOf(num));
|
||||
} else if (DataSourceEnum.WAVE_DATA.getValue().equals(dataSourceEnum.getValue())) {
|
||||
monitor.setRecordedResult(newMonitorResult);
|
||||
monitor.setRecordedNum(num + CnSocketUtil.SPLIT_TAG + waveNum);
|
||||
} else {
|
||||
monitor.setStatisticsResult(newMonitorResult);
|
||||
monitor.setStatisticsNum(String.valueOf(num));
|
||||
}
|
||||
|
||||
if (StrUtil.isNotBlank(resultType) && !resultType.equals(dataSourceEnum.getValue())) {
|
||||
if (DataSourceEnum.REAL_DATA.getValue().equals(resultType)) {
|
||||
monitor.setRealtimeResult(null);
|
||||
monitor.setRealtimeNum(null);
|
||||
} else if (DataSourceEnum.WAVE_DATA.getValue().equals(resultType)) {
|
||||
switch (dataSourceEnum) {
|
||||
case REAL_DATA:
|
||||
monitor.setRealtimeResult(newMonitorResult);
|
||||
monitor.setRealtimeNum(String.valueOf(num));
|
||||
monitor.setRecordedResult(null);
|
||||
monitor.setRecordedNum(null);
|
||||
} else {
|
||||
monitor.setStatisticsResult(null);
|
||||
monitor.setStatisticsNum(null);
|
||||
}
|
||||
break;
|
||||
case WAVE_DATA:
|
||||
monitor.setRealtimeResult(null);
|
||||
monitor.setRealtimeNum(null);
|
||||
monitor.setRecordedResult(newMonitorResult);
|
||||
monitor.setRecordedNum(num + CnSocketUtil.SPLIT_TAG + newWaveNum.get());
|
||||
monitor.setStatisticsResult(null);
|
||||
monitor.setStatisticsNum(null);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
monitor.setQualifiedNum(qualifiedNum);
|
||||
return this.updateById(monitor);
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
return this.updateById(monitor);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1753,14 +1753,26 @@ public class ResultServiceImpl implements IResultService {
|
||||
monitor.setResultType(resultType.substring(0, resultType.lastIndexOf(CnSocketUtil.SPLIT_TAG)));
|
||||
monitor.setRecordedResult(checkResult);
|
||||
monitor.setRecordedNum(whichTime + resultType.substring(resultType.lastIndexOf(CnSocketUtil.SPLIT_TAG)));
|
||||
monitor.setRealtimeResult(null);
|
||||
monitor.setRealtimeNum(null);
|
||||
monitor.setStatisticsResult(null);
|
||||
monitor.setStatisticsNum(null);
|
||||
} else if (StrUtil.equals(resultType, DataSourceEnum.REAL_DATA.getValue())) {
|
||||
monitor.setResultType(resultType);
|
||||
monitor.setRealtimeResult(checkResult);
|
||||
monitor.setRealtimeNum(whichTime);
|
||||
monitor.setRecordedResult(null);
|
||||
monitor.setRecordedNum(null);
|
||||
monitor.setStatisticsResult(null);
|
||||
monitor.setStatisticsNum(null);
|
||||
} else {
|
||||
monitor.setResultType(resultType);
|
||||
monitor.setStatisticsResult(checkResult);
|
||||
monitor.setStatisticsNum(whichTime);
|
||||
monitor.setRealtimeResult(null);
|
||||
monitor.setRealtimeNum(null);
|
||||
monitor.setRecordedResult(null);
|
||||
monitor.setRecordedNum(null);
|
||||
}
|
||||
|
||||
return pqMonitorService.updateById(monitor);
|
||||
|
||||
Reference in New Issue
Block a user