修改检测计划态,录波校验调整

This commit is contained in:
caozehui
2025-09-23 19:35:47 +08:00
parent f0540d4c92
commit 69503c7ca9
13 changed files with 803 additions and 694 deletions

View File

@@ -29,7 +29,6 @@ import com.njcn.gather.detection.pojo.vo.DetectionData;
import com.njcn.gather.detection.service.IAdPariService;
import com.njcn.gather.detection.service.impl.DetectionServiceImpl;
import com.njcn.gather.detection.util.socket.CnSocketUtil;
import com.njcn.gather.detection.util.socket.FormalTestManager;
import com.njcn.gather.device.pojo.enums.CommonEnum;
import com.njcn.gather.device.pojo.enums.PatternEnum;
import com.njcn.gather.device.pojo.po.PqDev;
@@ -96,6 +95,8 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.njcn.gather.detection.util.socket.FormalTestManager.waveNum;
/**
* @author caozehui
* @data 2024-12-30
@@ -1708,38 +1709,84 @@ public class ResultServiceImpl implements IResultService {
}
AdPlan finalPlan = plan;
// 实时数据结果
List<ContrastNonHarmonicResult> nonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(finalPlan.getCode()), null, null, false, monitorId, null);
Map<Integer, List<ContrastNonHarmonicResult>> numMap = nonHarmonicResults.stream()
List<ContrastNonHarmonicResult> realNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(finalPlan.getCode()), null, null, false, monitorId, null);
Map<Integer, List<ContrastNonHarmonicResult>> numNonHarmonicMap = realNonHarmonicResults.stream()
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getNum))
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
List<ContrastHarmonicResult> realHarmonicResults = contrastHarmonicService.listAllResultData(String.valueOf(finalPlan.getCode()), null, null, false, monitorId, null);
Map<Integer, List<ContrastHarmonicResult>> numHarmonicMap = realHarmonicResults.stream()
.sorted(Comparator.comparing(ContrastHarmonicResult::getNum))
.collect(Collectors.groupingBy(ContrastHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
numMap.forEach((num, resultList) -> {
Map<Integer, List<Integer>> numResutMap = new TreeMap<>();
numNonHarmonicMap.forEach((num, resultList) -> {
numResutMap.put(num, resultList.stream().map(ContrastNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()));
});
numHarmonicMap.forEach((num, resultList) -> {
List<Integer> list = numResutMap.getOrDefault(num, new ArrayList<>());
list.addAll(resultList.stream().map(ContrastHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()));
numResutMap.put(num, list);
});
numResutMap.forEach((num, resultList) -> {
List<DataSourceResultVO> dataSourceResultVOList = new ArrayList<>();
DataSourceResultVO realDataSourceResultVO = new DataSourceResultVO();
realDataSourceResultVO.setDataSourceCode(DataSourceEnum.REAL_DATA.getValue());
realDataSourceResultVO.setDataSourceName(DataSourceEnum.REAL_DATA.getMsg());
List<Integer> resultFlagList = resultList.stream().map(ContrastNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
realDataSourceResultVO.setCheckResult(StorageUtil.getInteger(resultFlagList));
realDataSourceResultVO.setCheckResult(StorageUtil.getInteger(resultList));
dataSourceResultVOList.add(realDataSourceResultVO);
// 录波数据结果
List<ContrastNonHarmonicResult> waveNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(finalPlan.getCode()), num, null, true, monitorId, null);
Map<Integer, List<ContrastNonHarmonicResult>> waveNumMap = waveNonHarmonicResults.stream()
result.put(num, dataSourceResultVOList);
});
Map<Integer, Map<Integer, List<Integer>>> waveNumMap = new TreeMap<>();
// 录波数据结果
List<ContrastNonHarmonicResult> waveNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(finalPlan.getCode()), null, null, true, monitorId, null);
Map<Integer, List<ContrastNonHarmonicResult>> waveNumNonHarmonicMap = waveNonHarmonicResults.stream()
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getNum))
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
List<ContrastHarmonicResult> waveHarmonicResults = contrastHarmonicService.listAllResultData(String.valueOf(finalPlan.getCode()), null, null, true, monitorId, null);
Map<Integer, List<ContrastHarmonicResult>> waveNumHarmonicMap = waveHarmonicResults.stream()
.sorted(Comparator.comparing(ContrastHarmonicResult::getNum))
.collect(Collectors.groupingBy(ContrastHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
waveNumNonHarmonicMap.forEach((num, resultList) -> {
LinkedHashMap<Integer, List<ContrastNonHarmonicResult>> collect = resultList.stream()
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getWaveNum))
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getWaveNum, LinkedHashMap::new, Collectors.toList()));
waveNumMap.forEach((waveNum, resultList1) -> {
Map<Integer, List<Integer>> map = new TreeMap<>();
collect.forEach((waveNum, resultList1) -> {
map.put(waveNum, resultList1.stream().map(ContrastNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()));
});
waveNumMap.put(num, map);
});
waveNumHarmonicMap.forEach((num, resultList) -> {
Map<Integer, List<Integer>> map = waveNumMap.getOrDefault(num, new TreeMap<>());
LinkedHashMap<Integer, List<ContrastHarmonicResult>> collect = resultList.stream().sorted(Comparator.comparing(ContrastHarmonicResult::getWaveNum))
.collect(Collectors.groupingBy(ContrastHarmonicResult::getWaveNum, LinkedHashMap::new, Collectors.toList()));
collect.forEach((waveNum, resultList1) -> {
List<Integer> list = map.getOrDefault(waveNum, new ArrayList<>());
list.addAll(resultList1.stream().map(ContrastHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()));
map.put(waveNum, list);
});
waveNumMap.put(num, map);
});
waveNumMap.forEach((num, map) -> {
List<DataSourceResultVO> orDefault = result.getOrDefault(num, new ArrayList<>());
map.forEach((waveNum, resultList) -> {
DataSourceResultVO waveDataSourceResultVO = new DataSourceResultVO();
waveDataSourceResultVO.setDataSourceCode(DataSourceEnum.WAVE_DATA.getValue() + CnSocketUtil.SPLIT_TAG + waveNum);
waveDataSourceResultVO.setDataSourceName(DataSourceEnum.WAVE_DATA.getMsg() + StrUtil.SPACE + waveNum);
List<Integer> tempResultFlagList = resultList1.stream().map(ContrastNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
waveDataSourceResultVO.setCheckResult(StorageUtil.getInteger(tempResultFlagList));
dataSourceResultVOList.add(waveDataSourceResultVO);
waveDataSourceResultVO.setCheckResult(StorageUtil.getInteger(resultList));
orDefault.add(waveDataSourceResultVO);
});
result.put(num, dataSourceResultVOList);
result.put(num, orDefault);
});
return result;