生成报告监测点结果下拉框展示

This commit is contained in:
caozehui
2025-09-12 10:47:25 +08:00
parent a163150fec
commit 12edb57581
8 changed files with 101 additions and 73 deletions

View File

@@ -167,11 +167,11 @@ public class ResultController extends BaseController {
@GetMapping("/getMonitorDataSourceResult")
@ApiOperation("获取监测点的检测结果下拉框")
@ApiImplicitParam(name = "param", value = "查询参数", required = true)
public HttpResult<Map<Integer, DataSourceResultVO>> getMonitorDataSourceResult(@RequestParam("monitorId") String monitorId) {
public HttpResult<Map<Integer, List<DataSourceResultVO>>> getMonitorDataSourceResult(@RequestParam("monitorId") String monitorId) {
String methodDescribe = getMethodDescribe("getMonitorDataSourceResult");
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, monitorId);
Map<Integer, DataSourceResultVO> result = resultService.getMonitorDataSourceResult(monitorId);
Map<Integer, List<DataSourceResultVO>> result = resultService.getMonitorDataSourceResult(monitorId);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
}

View File

@@ -116,5 +116,5 @@ public interface IResultService {
MonitorResultVO getMonitorResult(String devId);
Map<Integer, DataSourceResultVO> getMonitorDataSourceResult(String monitorId);
Map<Integer, List<DataSourceResultVO>> getMonitorDataSourceResult(String monitorId);
}

View File

@@ -65,7 +65,6 @@ import com.njcn.gather.storage.service.ContrastHarmonicService;
import com.njcn.gather.storage.service.ContrastNonHarmonicService;
import com.njcn.gather.storage.service.SimAndDigHarmonicService;
import com.njcn.gather.storage.service.SimAndDigNonHarmonicService;
import com.njcn.gather.storage.service.impl.SimAndDigHarmonicServiceImpl;
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
import com.njcn.gather.system.dictionary.pojo.po.DictData;
import com.njcn.gather.system.dictionary.pojo.po.DictTree;
@@ -1644,8 +1643,48 @@ public class ResultServiceImpl implements IResultService {
}
@Override
public Map<Integer, DataSourceResultVO> getMonitorDataSourceResult(String monitorId) {
return null;
public Map<Integer, List<DataSourceResultVO>> getMonitorDataSourceResult(String monitorId) {
// key为第几次检测value为所对应的下拉框内容
Map<Integer, List<DataSourceResultVO>> result = new HashMap<>();
String[] split = monitorId.split(CnSocketUtil.SPLIT_TAG);
PqDev dev = pqDevService.getById(split[0]);
String planId = dev.getPlanId();
AdPlan plan = adPlanService.getById(planId);
// 实时数据结果
List<ContrastNonHarmonicResult> nonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, null, false, monitorId, null);
Map<Integer, List<ContrastNonHarmonicResult>> numMap = nonHarmonicResults.stream()
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getNum))
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
numMap.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));
dataSourceResultVOList.add(realDataSourceResultVO);
// 录波数据结果
List<ContrastNonHarmonicResult> waveNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), num, null, true, monitorId, null);
Map<Integer, List<ContrastNonHarmonicResult>> waveNumMap = waveNonHarmonicResults.stream()
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getWaveNum))
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getWaveNum, LinkedHashMap::new, Collectors.toList()));
waveNumMap.forEach((waveNum, resultList1) -> {
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));
});
result.put(num, dataSourceResultVOList);
});
return result;
}
private Map<String, List<RawResultDataVO>> getResultMap(DictTree dictTree, List<String> adTypeList, String monitorId, String unit, Integer num, Integer waveNum, Boolean isWave, String code) {
@@ -1670,7 +1709,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setDataB(bList.get(i));
dataVO.setDataC(cList.get(i));
dataVO.setRadius(aList.get(i).getRadius());
dataVO.setIsData(SimAndDigHarmonicServiceImpl.setResultFlag(Arrays.asList(aList.get(i), bList.get(i), cList.get(i))));
dataVO.setIsData(StorageUtil.setResultFlag(Arrays.asList(aList.get(i), bList.get(i), cList.get(i))));
rawResultDataVOList.add(dataVO);
}
} else if (CollUtil.isNotEmpty(bList)) {
@@ -1679,7 +1718,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setUnit(unit);
dataVO.setDataB(bList.get(i));
dataVO.setRadius(bList.get(i).getRadius());
dataVO.setIsData(SimAndDigHarmonicServiceImpl.setResultFlag(Arrays.asList(bList.get(i))));
dataVO.setIsData(StorageUtil.setResultFlag(Arrays.asList(bList.get(i))));
rawResultDataVOList.add(dataVO);
}
} else if (CollUtil.isNotEmpty(tList)) {
@@ -1688,7 +1727,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setUnit(unit);
dataVO.setDataT(tList.get(i));
dataVO.setRadius(tList.get(i).getRadius());
dataVO.setIsData(SimAndDigHarmonicServiceImpl.setResultFlag(Arrays.asList(tList.get(i))));
dataVO.setIsData(StorageUtil.setResultFlag(Arrays.asList(tList.get(i))));
rawResultDataVOList.add(dataVO);
}
}
@@ -1729,7 +1768,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setDataB(bList.get(j));
dataVO.setDataC(cList.get(j));
dataVO.setRadius(aList.get(j).getRadius());
dataVO.setIsData(SimAndDigHarmonicServiceImpl.setResultFlag(Arrays.asList(aList.get(j), bList.get(j), cList.get(j))));
dataVO.setIsData(StorageUtil.setResultFlag(Arrays.asList(aList.get(j), bList.get(j), cList.get(j))));
rawResultDataVOList.add(dataVO);
}
resultMap.put(String.valueOf(n), rawResultDataVOList);