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

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

@@ -49,6 +49,7 @@ import com.njcn.gather.system.dictionary.service.IDictTreeService;
import com.njcn.gather.tools.comtrade.comparewave.core.model.CompareWaveDTO; import com.njcn.gather.tools.comtrade.comparewave.core.model.CompareWaveDTO;
import com.njcn.gather.tools.comtrade.comparewave.core.model.PqsDataStruct; import com.njcn.gather.tools.comtrade.comparewave.core.model.PqsDataStruct;
import com.njcn.gather.tools.comtrade.comparewave.service.ICompareWaveService; import com.njcn.gather.tools.comtrade.comparewave.service.ICompareWaveService;
import com.njcn.gather.util.StorageUtil;
import com.njcn.web.utils.ExcelUtil; import com.njcn.web.utils.ExcelUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@@ -1141,7 +1142,7 @@ public class SocketContrastResponseService {
devLineTestResult.setScriptName(DataSourceEnum.WAVE_DATA.getValue()); devLineTestResult.setScriptName(DataSourceEnum.WAVE_DATA.getValue());
Integer[] chnResult = new Integer[chnMap.size()]; Integer[] chnResult = new Integer[chnMap.size()];
chnMap.forEach((chn, resultSet) -> { chnMap.forEach((chn, resultSet) -> {
Integer result = detectionService.getInteger(resultSet.stream().collect(Collectors.toList())); Integer result = StorageUtil.getInteger(resultSet.stream().collect(Collectors.toList()));
chnResult[chn - 1] = result; chnResult[chn - 1] = result;
}); });
@@ -1149,7 +1150,7 @@ public class SocketContrastResponseService {
if (ObjectUtil.isNotNull(devLineTestResult1)) { if (ObjectUtil.isNotNull(devLineTestResult1)) {
Integer[] chnResult1 = devLineTestResult1.getChnResult(); Integer[] chnResult1 = devLineTestResult1.getChnResult();
for (int i = 0; i < chnResult1.length; i++) { for (int i = 0; i < chnResult1.length; i++) {
Integer result = detectionService.getInteger(Arrays.asList(chnResult1[i], chnResult[i])); Integer result = StorageUtil.getInteger(Arrays.asList(chnResult1[i], chnResult[i]));
chnResult1[i] = result; chnResult1[i] = result;
} }
} else { } else {

View File

@@ -35,6 +35,7 @@ import com.njcn.gather.storage.service.DetectionDataDealService;
import com.njcn.gather.system.cfg.pojo.po.SysTestConfig; import com.njcn.gather.system.cfg.pojo.po.SysTestConfig;
import com.njcn.gather.system.cfg.service.ISysTestConfigService; import com.njcn.gather.system.cfg.service.ISysTestConfigService;
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum; import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
import com.njcn.gather.util.StorageUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -216,7 +217,7 @@ public class DetectionServiceImpl {
} }
if (CollUtil.isNotEmpty(info)) { if (CollUtil.isNotEmpty(info)) {
detectionDataDealService.acceptHarmonicResult(info, code); detectionDataDealService.acceptHarmonicResult(info, code);
return getInteger(info.stream().map(x -> x.getResultFlag()).distinct().collect(Collectors.toList())); return StorageUtil.getInteger(info.stream().map(x -> x.getResultFlag()).distinct().collect(Collectors.toList()));
} }
return 4; return 4;
} }
@@ -461,7 +462,7 @@ public class DetectionServiceImpl {
if (CollUtil.isNotEmpty(info)) { if (CollUtil.isNotEmpty(info)) {
detectionDataDealService.acceptNonHarmonicResult(info, code); detectionDataDealService.acceptNonHarmonicResult(info, code);
List<Integer> resultFlag = info.stream().map(SimAndDigNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()); List<Integer> resultFlag = info.stream().map(SimAndDigNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
return getInteger(resultFlag); return StorageUtil.getInteger(resultFlag);
} }
return 4; return 4;
} }
@@ -671,7 +672,7 @@ public class DetectionServiceImpl {
} }
detectionDataDealService.acceptNonHarmonicResult(Arrays.asList(magResult, durResult), code); detectionDataDealService.acceptNonHarmonicResult(Arrays.asList(magResult, durResult), code);
List<Integer> numbers = Arrays.asList(magResult.getResultFlag(), durResult.getResultFlag()).stream().distinct().collect(Collectors.toList()); List<Integer> numbers = Arrays.asList(magResult.getResultFlag(), durResult.getResultFlag()).stream().distinct().collect(Collectors.toList());
return getInteger(numbers); return StorageUtil.getInteger(numbers);
} }
/** /**
@@ -835,30 +836,9 @@ public class DetectionServiceImpl {
private Integer setResultFlag(List<DetectionData> numbers) { private Integer setResultFlag(List<DetectionData> numbers) {
List<Integer> isData = numbers.stream().filter(x -> ObjectUtil.isNotNull(x.getData())).map(DetectionData::getIsData).distinct().collect(Collectors.toList()); List<Integer> isData = numbers.stream().filter(x -> ObjectUtil.isNotNull(x.getData())).map(DetectionData::getIsData).distinct().collect(Collectors.toList());
return getInteger(isData); return StorageUtil.getInteger(isData);
} }
public Integer getInteger(List<Integer> isData) {
if (CollUtil.isNotEmpty(isData)) {
List<Integer> isQualified = isData.stream().filter(x -> ResultEnum.QUALIFIED.getValue() == x || ResultEnum.NOT_QUALIFIED.getValue() == x).collect(Collectors.toList());
if (CollUtil.isNotEmpty(isQualified)) {
if (isQualified.size() > 1) {
if (isQualified.contains(ResultEnum.NOT_QUALIFIED.getValue())) {
return ResultEnum.NOT_QUALIFIED.getValue();
}
}
return isQualified.get(0);
} else {
if (isData.contains(ResultEnum.NO_ERROR_SYS.getValue())) {
return ResultEnum.NO_ERROR_SYS.getValue();
}
if (isData.contains(ResultEnum.NO_COMPARE_ERROR_SYS.getValue())) {
return ResultEnum.NO_COMPARE_ERROR_SYS.getValue();
}
}
}
return ResultEnum.NO_ERROR_SYS.getValue();
}
/** /**
* 处理非谐波类型取值 * 处理非谐波类型取值
@@ -1775,7 +1755,7 @@ public class DetectionServiceImpl {
detectionDataDealService.acceptNonHarmonicResult(info, code); detectionDataDealService.acceptNonHarmonicResult(info, code);
List<Integer> resultFlag = info.stream().map(ContrastNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()); List<Integer> resultFlag = info.stream().map(ContrastNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
return getInteger(resultFlag); return StorageUtil.getInteger(resultFlag);
} }
@@ -1875,7 +1855,7 @@ public class DetectionServiceImpl {
detectionDataDealService.acceptHarmonicResult(info, code); detectionDataDealService.acceptHarmonicResult(info, code);
List<Integer> resultFlag = info.stream().map(ContrastHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()); List<Integer> resultFlag = info.stream().map(ContrastHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
return getInteger(resultFlag); return StorageUtil.getInteger(resultFlag);
} }

View File

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

View File

@@ -116,5 +116,5 @@ public interface IResultService {
MonitorResultVO getMonitorResult(String devId); 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.ContrastNonHarmonicService;
import com.njcn.gather.storage.service.SimAndDigHarmonicService; import com.njcn.gather.storage.service.SimAndDigHarmonicService;
import com.njcn.gather.storage.service.SimAndDigNonHarmonicService; 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.enums.DictDataEnum;
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;
@@ -1644,8 +1643,48 @@ public class ResultServiceImpl implements IResultService {
} }
@Override @Override
public Map<Integer, DataSourceResultVO> getMonitorDataSourceResult(String monitorId) { public Map<Integer, List<DataSourceResultVO>> getMonitorDataSourceResult(String monitorId) {
return null; // 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) { 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.setDataB(bList.get(i));
dataVO.setDataC(cList.get(i)); dataVO.setDataC(cList.get(i));
dataVO.setRadius(aList.get(i).getRadius()); 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); rawResultDataVOList.add(dataVO);
} }
} else if (CollUtil.isNotEmpty(bList)) { } else if (CollUtil.isNotEmpty(bList)) {
@@ -1679,7 +1718,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setUnit(unit); dataVO.setUnit(unit);
dataVO.setDataB(bList.get(i)); dataVO.setDataB(bList.get(i));
dataVO.setRadius(bList.get(i).getRadius()); 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); rawResultDataVOList.add(dataVO);
} }
} else if (CollUtil.isNotEmpty(tList)) { } else if (CollUtil.isNotEmpty(tList)) {
@@ -1688,7 +1727,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setUnit(unit); dataVO.setUnit(unit);
dataVO.setDataT(tList.get(i)); dataVO.setDataT(tList.get(i));
dataVO.setRadius(tList.get(i).getRadius()); 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); rawResultDataVOList.add(dataVO);
} }
} }
@@ -1729,7 +1768,7 @@ public class ResultServiceImpl implements IResultService {
dataVO.setDataB(bList.get(j)); dataVO.setDataB(bList.get(j));
dataVO.setDataC(cList.get(j)); dataVO.setDataC(cList.get(j));
dataVO.setRadius(aList.get(j).getRadius()); 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); rawResultDataVOList.add(dataVO);
} }
resultMap.put(String.valueOf(n), rawResultDataVOList); resultMap.put(String.valueOf(n), rawResultDataVOList);

View File

@@ -50,7 +50,8 @@ public class ContrastNonHarmonicServiceImpl extends ServiceImpl<ContrastNonHarmo
.isNull(ObjectUtil.isNull(waveNum), ContrastNonHarmonicResult::getWaveNum) .isNull(ObjectUtil.isNull(waveNum), ContrastNonHarmonicResult::getWaveNum)
.in(CollUtil.isNotEmpty(adTypeList), ContrastNonHarmonicResult::getAdType, adTypeList); .in(CollUtil.isNotEmpty(adTypeList), ContrastNonHarmonicResult::getAdType, adTypeList);
if (isWave) { if (isWave) {
wrapper.eq(ObjectUtil.isNotNull(waveNum), ContrastNonHarmonicResult::getWaveNum, waveNum); wrapper.isNotNull(ContrastNonHarmonicResult::getWaveNum)
.eq(ObjectUtil.isNotNull(waveNum), ContrastNonHarmonicResult::getWaveNum, waveNum);
} else { } else {
wrapper.isNull(ContrastNonHarmonicResult::getWaveNum); wrapper.isNull(ContrastNonHarmonicResult::getWaveNum);
} }

View File

@@ -186,7 +186,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
if (ObjectUtil.isNotNull(a)) { if (ObjectUtil.isNotNull(a)) {
dataVO.setRadius(a.getRadius()); dataVO.setRadius(a.getRadius());
} }
dataVO.setIsData(setResultFlag(Arrays.asList(a, b, c))); dataVO.setIsData(StorageUtil.setResultFlag(Arrays.asList(a, b, c)));
} catch (NoSuchFieldException e) { } catch (NoSuchFieldException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} catch (IllegalAccessException e) { } catch (IllegalAccessException e) {
@@ -276,36 +276,4 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
DynamicTableNameHandler.remove(); DynamicTableNameHandler.remove();
return results; return results;
} }
public static Integer setResultFlag(List<RawResultDataVO.DetectionData> numbers) {
List<Integer> isData = numbers.stream().filter(Objects::nonNull)
.filter(x -> ObjectUtil.isNotNull(x.getData()))
.map(RawResultDataVO.DetectionData::getIsData)
.distinct()
.collect(Collectors.toList());
return getInteger(isData);
}
public static Integer getInteger(List<Integer> isData) {
if (CollUtil.isNotEmpty(isData)) {
List<Integer> isQualified = isData.stream().filter(x -> 1 == x || 2 == x).collect(Collectors.toList());
if (CollUtil.isNotEmpty(isQualified)) {
if (isQualified.size() > 1) {
if (isQualified.contains(2)) {
return 2;
}
}
return isQualified.get(0);
} else {
if (isData.contains(4)) {
return 4;
}
if (isData.contains(5)) {
return 5;
}
}
}
return 4;
}
} }

View File

@@ -1,5 +1,13 @@
package com.njcn.gather.util; package com.njcn.gather.util;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.njcn.gather.storage.pojo.vo.RawResultDataVO;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @author caozehui * @author caozehui
* @data 2025-08-21 * @data 2025-08-21
@@ -113,4 +121,35 @@ public class StorageUtil {
} }
return unit; return unit;
} }
public static Integer setResultFlag(List<RawResultDataVO.DetectionData> numbers) {
List<Integer> isData = numbers.stream().filter(Objects::nonNull)
.filter(x -> ObjectUtil.isNotNull(x.getData()))
.map(RawResultDataVO.DetectionData::getIsData)
.distinct()
.collect(Collectors.toList());
return getInteger(isData);
}
public static Integer getInteger(List<Integer> isData) {
if (CollUtil.isNotEmpty(isData)) {
List<Integer> isQualified = isData.stream().filter(x -> 1 == x || 2 == x).collect(Collectors.toList());
if (CollUtil.isNotEmpty(isQualified)) {
if (isQualified.size() > 1) {
if (isQualified.contains(2)) {
return 2;
}
}
return isQualified.get(0);
} else {
if (isData.contains(4)) {
return 4;
}
if (isData.contains(5)) {
return 5;
}
}
}
return 4;
}
} }