ADD: 1、查询检测点结果接口。
This commit is contained in:
@@ -2,6 +2,8 @@ package com.njcn.gather.plan.pojo.enums;
|
|||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author caozehui
|
* @author caozehui
|
||||||
* @data 2024-12-12
|
* @data 2024-12-12
|
||||||
@@ -24,21 +26,29 @@ public enum DataSourceEnum {
|
|||||||
this.msg = msg;
|
this.msg = msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getMsgByValue(String value) {
|
public static DataSourceEnum ofByValue(String value) {
|
||||||
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
|
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
|
||||||
if (dataSourceEnum.getValue().equals(value)) {
|
if (dataSourceEnum.getValue().equals(value)) {
|
||||||
return dataSourceEnum.getMsg();
|
return dataSourceEnum;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getValueByMsg(String msg) {
|
public static DataSourceEnum ofByMsg(String msg) {
|
||||||
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
|
for (DataSourceEnum dataSourceEnum : DataSourceEnum.values()) {
|
||||||
if (dataSourceEnum.getMsg().equals(msg)) {
|
if (dataSourceEnum.getMsg().equals(msg)) {
|
||||||
return dataSourceEnum.getValue();
|
return dataSourceEnum;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,11 +154,11 @@ public class ResultController extends BaseController {
|
|||||||
@PostMapping("/getMonitorResult")
|
@PostMapping("/getMonitorResult")
|
||||||
@ApiOperation("获取监测点的检测结果")
|
@ApiOperation("获取监测点的检测结果")
|
||||||
@ApiImplicitParam(name = "param", value = "查询参数", required = true)
|
@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");
|
String methodDescribe = getMethodDescribe("getMonitorResult");
|
||||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, devId);
|
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, devId);
|
||||||
|
|
||||||
MonitorResultVO result = resultService.getMonitorResult(devId);
|
List<MonitorResultVO> result = resultService.getMonitorResult(devId);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ public class MonitorResultVO {
|
|||||||
/**
|
/**
|
||||||
* 监测点id
|
* 监测点id
|
||||||
*/
|
*/
|
||||||
private Integer monitorId;
|
private String monitorId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监测点序号
|
* 监测点序号
|
||||||
@@ -48,4 +48,12 @@ public class MonitorResultVO {
|
|||||||
* 结论来源
|
* 结论来源
|
||||||
*/
|
*/
|
||||||
private String resultOrigin;
|
private String resultOrigin;
|
||||||
|
/**
|
||||||
|
* 哪次
|
||||||
|
*/
|
||||||
|
private String whichTime;
|
||||||
|
/**
|
||||||
|
* 数据源类型
|
||||||
|
*/
|
||||||
|
private String resultType;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ public interface IResultService {
|
|||||||
* 更换误差体系
|
* 更换误差体系
|
||||||
*
|
*
|
||||||
* @param param
|
* @param param
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
void changeErrorSystem(ResultParam.ChangeErrorSystemParam param);
|
void changeErrorSystem(ResultParam.ChangeErrorSystemParam param);
|
||||||
|
|
||||||
@@ -114,7 +113,7 @@ public interface IResultService {
|
|||||||
ContrastResultVO getContrastResult(ResultParam.QueryParam queryParam);
|
ContrastResultVO getContrastResult(ResultParam.QueryParam queryParam);
|
||||||
|
|
||||||
|
|
||||||
MonitorResultVO getMonitorResult(String devId);
|
List<MonitorResultVO> getMonitorResult(String devId);
|
||||||
|
|
||||||
Map<Integer, List<DataSourceResultVO>> getMonitorDataSourceResult(String monitorId);
|
Map<Integer, List<DataSourceResultVO>> getMonitorDataSourceResult(String monitorId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import cn.hutool.core.util.ReflectUtil;
|
|||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.json.JSONUtil;
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
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.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
import com.google.common.collect.BiMap;
|
import com.google.common.collect.BiMap;
|
||||||
import com.google.common.collect.HashBiMap;
|
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.enums.PatternEnum;
|
||||||
import com.njcn.gather.device.pojo.po.PqDev;
|
import com.njcn.gather.device.pojo.po.PqDev;
|
||||||
import com.njcn.gather.device.service.IPqDevService;
|
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.enums.DataSourceEnum;
|
||||||
import com.njcn.gather.plan.pojo.po.AdPlan;
|
import com.njcn.gather.plan.pojo.po.AdPlan;
|
||||||
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||||
@@ -113,6 +118,8 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
private final IPqScriptCheckDataService iPqScriptCheckDataService;
|
private final IPqScriptCheckDataService iPqScriptCheckDataService;
|
||||||
private final IPqDevService iPqDevService;
|
private final IPqDevService iPqDevService;
|
||||||
private final IAdPariService adPairService;
|
private final IAdPariService adPairService;
|
||||||
|
private final IPqMonitorService pqMonitorService;
|
||||||
|
private final IPqErrSysService pqErrSysService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 谐波类code,取树形字典表中的code
|
* 谐波类code,取树形字典表中的code
|
||||||
@@ -1637,9 +1644,56 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@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
|
@Override
|
||||||
@@ -1651,12 +1705,17 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
PqDev dev = pqDevService.getById(split[0]);
|
PqDev dev = pqDevService.getById(split[0]);
|
||||||
String planId = dev.getPlanId();
|
String planId = dev.getPlanId();
|
||||||
AdPlan plan = adPlanService.getById(planId);
|
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()
|
Map<Integer, List<ContrastNonHarmonicResult>> numMap = nonHarmonicResults.stream()
|
||||||
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getNum))
|
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getNum))
|
||||||
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
|
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getNum, LinkedHashMap::new, Collectors.toList()));
|
||||||
|
|
||||||
|
|
||||||
numMap.forEach((num, resultList) -> {
|
numMap.forEach((num, resultList) -> {
|
||||||
List<DataSourceResultVO> dataSourceResultVOList = new ArrayList<>();
|
List<DataSourceResultVO> dataSourceResultVOList = new ArrayList<>();
|
||||||
|
|
||||||
@@ -1668,7 +1727,7 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
dataSourceResultVOList.add(realDataSourceResultVO);
|
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()
|
Map<Integer, List<ContrastNonHarmonicResult>> waveNumMap = waveNonHarmonicResults.stream()
|
||||||
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getWaveNum))
|
.sorted(Comparator.comparing(ContrastNonHarmonicResult::getWaveNum))
|
||||||
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getWaveNum, LinkedHashMap::new, Collectors.toList()));
|
.collect(Collectors.groupingBy(ContrastNonHarmonicResult::getWaveNum, LinkedHashMap::new, Collectors.toList()));
|
||||||
|
|||||||
Reference in New Issue
Block a user