重新计算接口调整、监测点结果更新逻辑调整

This commit is contained in:
caozehui
2025-09-19 09:22:02 +08:00
parent 947ee4f771
commit 04299007d0
5 changed files with 70 additions and 45 deletions

View File

@@ -504,7 +504,7 @@ public class SocketContrastResponseService {
scheduler.shutdown();
scheduler = null;
}, 15, TimeUnit.SECONDS);
}, 20, TimeUnit.SECONDS);
}
}
}
@@ -523,9 +523,11 @@ public class SocketContrastResponseService {
case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case NO_INIT_DEV:
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -613,18 +615,18 @@ public class SocketContrastResponseService {
break;
case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case NO_INIT_DEV:
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -782,18 +784,18 @@ public class SocketContrastResponseService {
break;
case DEV_ERROR:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 0));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case DEV_TARGET:
WebServiceManager.sendMsg(param.getUserPageId(), MsgUtil.msgToWebData(socketDataMsg, FormalTestManager.devNameMapComm, 1));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
case NO_INIT_DEV:
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -907,7 +909,7 @@ public class SocketContrastResponseService {
break;
case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -1136,7 +1138,7 @@ public class SocketContrastResponseService {
break;
case RE_OPERATE:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
break;
default:
WebServiceManager.sendUnknownErrorMessage(param.getUserPageId());
@@ -1339,14 +1341,14 @@ public class SocketContrastResponseService {
scheduler.shutdown();
scheduler = null;
}, 15, TimeUnit.SECONDS);
}, 20, TimeUnit.SECONDS);
}
}
}
break;
case RECORD_WAVE_FAILED:
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(socketDataMsg));
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, false);
CnSocketUtil.contrastSendquit(param.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true);
break;
}
}
@@ -1701,7 +1703,7 @@ public class SocketContrastResponseService {
// 错误信息
allTestItem.removeAll(descList);
String appendMsg = allTestItem.stream().map(obj -> {
String s = obj.split(DetectionCodeEnum.REAL_PREFIX.getCode())[1];
String s = obj.replace(DetectionCodeEnum.REAL_PREFIX.getCode(), "");
DetectionCodeEnum anEnum = DetectionCodeEnum.getDetectionCodeByCode(s);
return anEnum.getMessage();
}).reduce((a, b) -> a + "" + b).get();

View File

@@ -1603,13 +1603,13 @@ public class DetectionServiceImpl {
switch (anEnum) {
case FREQ:
// if (ObjectUtil.isNull(waveNum)) {
// 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);
// }));
// }
if (ObjectUtil.isNull(waveNum)) {
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:

View File

@@ -509,6 +509,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
@Override
@Transactional
public void updateResult(String devId, String userId) {
PqDev dev = this.getById(devId);
Integer checkState = pqMonitorService.getDevCheckState(devId);

View File

@@ -134,6 +134,7 @@ public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor
}
@Override
@Transactional
public boolean updateMonitorResult(String monitorId, List<String> adTypes, DataSourceEnum dataSourceEnum, Integer num, Integer waveNum, String code) {
String[] split = monitorId.split(CnSocketUtil.SPLIT_TAG);
QueryWrapper<PqMonitor> wrapper = new QueryWrapper<>();
@@ -152,6 +153,9 @@ public class PqMonitorServiceImpl extends ServiceImpl<PqMonitorMapper, PqMonitor
break;
case WAVE_DATA:
Map<Integer, Integer> waveNumResultMap = detectionDataDealService.getWaveNumResultMap(monitorId, adTypes, num, code);
if(CollUtil.isEmpty(waveNumResultMap)){
return true;
}
waveNumResultMap.forEach((key, value) -> {
if (CheckResultEnum.ACCORD.getValue().equals(value)) {
newWaveNum.set(key);

View File

@@ -1815,29 +1815,30 @@ public class ResultServiceImpl implements IResultService {
List<ContrastNonHarmonicResult> waveNoHarmonicResults = contrastNonHarmonicService.listAllResultData(code, num, null, true, monitorId, null);
List<ContrastHarmonicResult> waveHarmonicResults = contrastHarmonicService.listAllResultData(code, num, null, true, monitorId, null);
if (CollUtil.isNotEmpty(waveNoHarmonicResults) && CollUtil.isNotEmpty(waveHarmonicResults)) {
checkItemResultMap.putAll(waveNoHarmonicResults.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getAdType, Collectors.mapping(ContrastNonHarmonicResult::getResultFlag, Collectors.toList()))));
checkItemResultMap.putAll(waveHarmonicResults.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getAdType, Collectors.mapping(ContrastHarmonicResult::getResultFlag, Collectors.toList()))));
checkItemResultMap.putAll(waveNoHarmonicResults.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getAdType, Collectors.mapping(ContrastNonHarmonicResult::getResultFlag, Collectors.toList()))));
checkItemResultMap.putAll(waveHarmonicResults.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getAdType, Collectors.mapping(ContrastHarmonicResult::getResultFlag, Collectors.toList()))));
ContrastTestItemVO contrastTestItemVO = new ContrastTestItemVO();
contrastTestItemVO.setId(DataSourceEnum.WAVE_DATA.getValue());
contrastTestItemVO.setCode(DataSourceEnum.WAVE_DATA.getValue());
contrastTestItemVO.setScriptName(DataSourceEnum.WAVE_DATA.getMsg());
ContrastTestItemVO contrastTestItemVO = new ContrastTestItemVO();
contrastTestItemVO.setId(DataSourceEnum.WAVE_DATA.getValue());
contrastTestItemVO.setCode(DataSourceEnum.WAVE_DATA.getValue());
contrastTestItemVO.setScriptName(DataSourceEnum.WAVE_DATA.getMsg());
List<ContrastTestItemVO> setSubItems = new ArrayList<>();
checkItemResultMap.forEach((adType, resultList) -> {
ContrastTestItemVO subContrastTestItemVO = new ContrastTestItemVO();
DictTree childDictTree = dictTreeService.getById(adType);
DictTree fatherDictTree = dictTreeService.getById(childDictTree.getPid());
subContrastTestItemVO.setId(fatherDictTree.getId());
subContrastTestItemVO.setCode(fatherDictTree.getCode());
subContrastTestItemVO.setScriptName(fatherDictTree.getName());
subContrastTestItemVO.setResultFlag(StorageUtil.getInteger(resultList));
setSubItems.add(subContrastTestItemVO);
});
contrastTestItemVO.setResultFlag(StorageUtil.getInteger(checkItemResultMap.values().stream().flatMap(List::stream).distinct().collect(Collectors.toList())));
contrastTestItemVO.setSubItems(setSubItems);
result.add(contrastTestItemVO);
List<ContrastTestItemVO> setSubItems = new ArrayList<>();
checkItemResultMap.forEach((adType, resultList) -> {
ContrastTestItemVO subContrastTestItemVO = new ContrastTestItemVO();
DictTree childDictTree = dictTreeService.getById(adType);
DictTree fatherDictTree = dictTreeService.getById(childDictTree.getPid());
subContrastTestItemVO.setId(fatherDictTree.getId());
subContrastTestItemVO.setCode(fatherDictTree.getCode());
subContrastTestItemVO.setScriptName(fatherDictTree.getName());
subContrastTestItemVO.setResultFlag(StorageUtil.getInteger(resultList));
setSubItems.add(subContrastTestItemVO);
});
contrastTestItemVO.setResultFlag(StorageUtil.getInteger(checkItemResultMap.values().stream().flatMap(List::stream).distinct().collect(Collectors.toList())));
contrastTestItemVO.setSubItems(setSubItems);
result.add(contrastTestItemVO);
}
return result;
}
@@ -2243,6 +2244,17 @@ public class ResultServiceImpl implements IResultService {
dataRule = DictDataEnum.SECTION_VALUE;
}
pqMonitorService.lambdaUpdate().set(PqMonitor::getRecordedResult, null)
.set(PqMonitor::getRealtimeNum, null)
.set(PqMonitor::getRecordedResult, null)
.set(PqMonitor::getRecordedNum, null)
.set(PqMonitor::getStatisticsResult, null)
.set(PqMonitor::getStatisticsNum, null)
.set(PqMonitor::getResultType, null)
.set(PqMonitor::getQualifiedNum, 0)
.eq(PqMonitor::getDevId, deviceId)
.eq(PqMonitor::getCheckFlag, 1)
.update();
List<AdPair> adPairList = adPairService.listByDevIds(Arrays.asList(deviceId));
Map<Integer, List<AdPair>> numAdPairsMap = adPairList.stream().collect(Collectors.groupingBy(AdPair::getNum, Collectors.toList()));
numAdPairsMap.forEach((num, pairList) -> {
@@ -2274,7 +2286,7 @@ public class ResultServiceImpl implements IResultService {
parsId.forEach((devMonitorId, stdDevMonitorId) -> {
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
pqMonitorService.updateMonitorResult(devMonitorId, null, DataSourceEnum.REAL_DATA, FormalTestManager.numMap.get(devMonitorId), null, oldCode);
pqMonitorService.updateMonitorResult(devMonitorId, null, DataSourceEnum.REAL_DATA, num, null, oldCode);
pqDevService.updateResult(split[0], null);
});
@@ -2406,9 +2418,12 @@ public class ResultServiceImpl implements IResultService {
listDTO.setT(StrUtil.isNotBlank(x.getTValue()) ? Double.valueOf(x.getTValue()) : null);
sqlDataDTO.setType(x.getDataType());
sqlDataDTO.setDesc(testItemMap.inverse().get(x.getAdType()).replace(DetectionCodeEnum.REAL_PREFIX.getCode(), ""));
sqlDataDTO.setList(listDTO);
sqlData.add(sqlDataDTO);
});
devData.setSqlData(sqlData);
});
info.add(devData);
});
}
if (CollUtil.isNotEmpty(harm)) {
@@ -2454,19 +2469,22 @@ public class ResultServiceImpl implements IResultService {
listDTO.setA(StrUtil.isNotBlank(x.getAValue0()) ? Double.valueOf(x.getAValue0()) : null);
listDTO.setB(StrUtil.isNotBlank(x.getBValue0()) ? Double.valueOf(x.getBValue0()) : null);
listDTO.setC(StrUtil.isNotBlank(x.getCValue0()) ? Double.valueOf(x.getAValue0()) : null);
sqlDataDTO.setList(listDTO);
if (DetectionCodeEnum.PV2_50.getCode().equals(desc) || DetectionCodeEnum.PSV_1_49.getCode().equals(desc)) {
sqlDataDTO.setDesc(DetectionCodeEnum.PU1.getCode());
} else {
sqlDataDTO.setDesc(DetectionCodeEnum.U1.getCode());
}
sqlData.add(sqlDataDTO);
if (!sqlData.stream().anyMatch(s -> s.getDesc().equals(sqlDataDTO.getDesc()))) {
sqlData.add(sqlDataDTO);
}
}
});
devData.setSqlDataHarm(sqlDataHarm);
devData.setSqlData(sqlData);
});
info.add(devData);
});
}
return info;