ADD: 1、查询检测点结果接口。

This commit is contained in:
贾同学
2025-09-12 16:30:23 +08:00
parent fd7ffbe87e
commit 44738f2878
5 changed files with 89 additions and 13 deletions

View File

@@ -2,6 +2,8 @@ package com.njcn.gather.plan.pojo.enums;
import lombok.Getter;
import java.util.Objects;
/**
* @author caozehui
* @data 2024-12-12
@@ -24,21 +26,29 @@ public enum DataSourceEnum {
this.msg = msg;
}
public static String getMsgByValue(String value) {
public static DataSourceEnum ofByValue(String value) {
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
if (dataSourceEnum.getValue().equals(value)) {
return dataSourceEnum.getMsg();
return dataSourceEnum;
}
}
return null;
}
public static String getValueByMsg(String msg) {
public static DataSourceEnum ofByMsg(String msg) {
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
if (dataSourceEnum.getMsg().equals(msg)) {
return dataSourceEnum.getValue();
return dataSourceEnum;
}
}
return null;
}
public static String getMsgByValue(String value) {
return Objects.requireNonNull(ofByValue(value)).getMsg();
}
public static String getValueByMsg(String msg) {
return Objects.requireNonNull(ofByMsg(msg)).getMsg();
}
}

View File

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

View File

@@ -12,7 +12,7 @@ public class MonitorResultVO {
/**
* 监测点id
*/
private Integer monitorId;
private String monitorId;
/**
* 监测点序号
@@ -48,4 +48,12 @@ public class MonitorResultVO {
* 结论来源
*/
private String resultOrigin;
/**
* 哪次
*/
private String whichTime;
/**
* 数据源类型
*/
private String resultType;
}

View File

@@ -60,7 +60,6 @@ public interface IResultService {
* 更换误差体系
*
* @param param
*
*/
void changeErrorSystem(ResultParam.ChangeErrorSystemParam param);
@@ -114,7 +113,7 @@ public interface IResultService {
ContrastResultVO getContrastResult(ResultParam.QueryParam queryParam);
MonitorResultVO getMonitorResult(String devId);
List<MonitorResultVO> getMonitorResult(String devId);
Map<Integer, List<DataSourceResultVO>> getMonitorDataSourceResult(String monitorId);
}

View File

@@ -10,6 +10,8 @@ import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
@@ -30,6 +32,9 @@ import com.njcn.gather.device.pojo.enums.CommonEnum;
import com.njcn.gather.device.pojo.enums.PatternEnum;
import com.njcn.gather.device.pojo.po.PqDev;
import com.njcn.gather.device.service.IPqDevService;
import com.njcn.gather.err.service.IPqErrSysService;
import com.njcn.gather.monitor.pojo.po.PqMonitor;
import com.njcn.gather.monitor.service.IPqMonitorService;
import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
import com.njcn.gather.plan.pojo.po.AdPlan;
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
@@ -113,6 +118,8 @@ public class ResultServiceImpl implements IResultService {
private final IPqScriptCheckDataService iPqScriptCheckDataService;
private final IPqDevService iPqDevService;
private final IAdPariService adPairService;
private final IPqMonitorService pqMonitorService;
private final IPqErrSysService pqErrSysService;
/**
* 谐波类code取树形字典表中的code
@@ -1637,9 +1644,56 @@ public class ResultServiceImpl implements IResultService {
@Override
public MonitorResultVO getMonitorResult(String devId) {
public List<MonitorResultVO> getMonitorResult(String devId) {
PqDev dev = pqDevService.getById(devId);
AdPlan plan = adPlanService.getById(dev.getPlanId());
String errorSysName = pqErrSysService.getPqErrSysById(plan.getErrorSysId()).getName();
return null;
List<PqMonitor> pqMonitorList = pqMonitorService.lambdaQuery().eq(PqMonitor::getDevId, devId).isNotNull(PqMonitor::getResultType).list();
List<MonitorResultVO> list = new ArrayList<>();
MonitorResultVO result;
for (PqMonitor pqMonitor : pqMonitorList) {
result = new MonitorResultVO();
result.setMonitorId(pqMonitor.getDevId() + CnSocketUtil.SPLIT_TAG + pqMonitor.getNum());
result.setErrorSysName(errorSysName);
result.setMonitorNum(pqMonitor.getNum());
result.setQualifiedNum(pqMonitor.getQualifiedNum());
List<AdPair> records = adPairService.page(new Page<>(1, 1),
new LambdaQueryWrapper<AdPair>().eq(AdPair::getDevMonitorId, result.getMonitorId())
.eq(AdPair::getPlanId, plan.getId()).orderByDesc(AdPair::getNum))
.getRecords();
if (CollUtil.isNotEmpty(records)) {
result.setTotalNum(records.get(0).getNum());
result.setUnQualifiedNum(result.getTotalNum() - result.getQualifiedNum());
}
String resultType = pqMonitor.getResultType();
result.setResultType(resultType);
DataSourceEnum dataSourceEnum = DataSourceEnum.ofByValue(resultType);
switch (Objects.requireNonNull(dataSourceEnum)) {
case REAL_DATA:
result.setCheckResult(pqMonitor.getRealtimeResult());
result.setWhichTime(pqMonitor.getRealtimeNum());
result.setResultOrigin(dataSourceEnum.getMsg());
break;
case WAVE_DATA:
result.setCheckResult(pqMonitor.getRecordedResult());
List<String> waveData = StrUtil.split(pqMonitor.getRecordedNum(), CnSocketUtil.SPLIT_TAG);
result.setWhichTime(waveData.get(0));
result.setResultType(resultType + CnSocketUtil.SPLIT_TAG + waveData.get(1));
result.setResultOrigin(dataSourceEnum.getMsg() + waveData.get(1));
break;
default:
break;
}
list.add(result);
}
return list;
}
@Override
@@ -1651,12 +1705,17 @@ public class ResultServiceImpl implements IResultService {
PqDev dev = pqDevService.getById(split[0]);
String planId = dev.getPlanId();
AdPlan plan = adPlanService.getById(planId);
if (!plan.getFatherPlanId().equals(CommonEnum.FATHER_ID.getValue())) {
plan = adPlanService.getById(plan.getFatherPlanId());
}
AdPlan finalPlan = plan;
// 实时数据结果
List<ContrastNonHarmonicResult> nonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, null, false, monitorId, null);
List<ContrastNonHarmonicResult> nonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(finalPlan.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<>();
@@ -1668,7 +1727,7 @@ public class ResultServiceImpl implements IResultService {
dataSourceResultVOList.add(realDataSourceResultVO);
// 录波数据结果
List<ContrastNonHarmonicResult> waveNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), num, null, true, monitorId, null);
List<ContrastNonHarmonicResult> waveNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(finalPlan.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()));