From 213d940ff17f73fb4036e990bf0a96923632d957 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Wed, 17 Sep 2025 09:08:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E6=9E=9C=E5=B1=95=E7=A4=BA=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DetectionServiceImpl.java | 14 ++- .../device/service/impl/PqDevServiceImpl.java | 1 + .../monitor/pojo/param/PqMonitorParam.java | 3 + .../gather/monitor/pojo/po/PqMonitor.java | 2 + .../service/impl/PqMonitorServiceImpl.java | 6 +- .../result/controller/ResultController.java | 16 ++- .../result/pojo/param/MonitorQueryParam.java | 18 +++ .../result/pojo/vo/ContrastTestItemVO.java | 22 ++++ .../gather/result/service/IResultService.java | 10 ++ .../service/impl/ResultServiceImpl.java | 106 ++++++++++++++++-- .../impl/ContrastHarmonicServiceImpl.java | 13 ++- .../impl/ContrastNonHarmonicServiceImpl.java | 6 +- 12 files changed, 192 insertions(+), 25 deletions(-) create mode 100644 detection/src/main/java/com/njcn/gather/result/pojo/param/MonitorQueryParam.java create mode 100644 detection/src/main/java/com/njcn/gather/result/pojo/vo/ContrastTestItemVO.java diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java index a2358260..a640d613 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java @@ -1603,12 +1603,14 @@ public class DetectionServiceImpl { switch (anEnum) { case FREQ: - devDataList.stream().forEach(devData -> devData.getSqlData().stream().filter(sqlData -> sqlData.getDesc().equals(DetectionCodeEnum.FREQ.getCode())).findFirst().ifPresent(sqlData -> { - DevData.SqlDataDTO.ListDTO listDTO = sqlData.getList(); - listDTO.setT(55.0); - sqlData.setList(listDTO); - })); - resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum)); + if (ObjectUtil.isNull(waveNum)) { + devDataList.stream().forEach(devData -> devData.getSqlData().stream().filter(sqlData -> sqlData.getDesc().equals(DetectionCodeEnum.FREQ.getCode())).findFirst().ifPresent(sqlData -> { + DevData.SqlDataDTO.ListDTO listDTO = sqlData.getList(); + listDTO.setT(55.0); + sqlData.setList(listDTO); + })); + resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale(), waveNum)); + } break; case VRMS: case PVRMS: diff --git a/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java b/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java index 11497c2e..0f9ea0a6 100644 --- a/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/device/service/impl/PqDevServiceImpl.java @@ -517,6 +517,7 @@ public class PqDevServiceImpl extends ServiceImpl implements pqDevSubService.lambdaUpdate() .set(PqDevSub::getCheckState, checkState) .set(PqDevSub::getCheckResult, checkResult) + .set(StrUtil.isNotBlank(userId), PqDevSub::getCheckBy, userId) .eq(PqDevSub::getDevId, devId).update(); PqDevParam.QueryParam param = new PqDevParam.QueryParam(); diff --git a/detection/src/main/java/com/njcn/gather/monitor/pojo/param/PqMonitorParam.java b/detection/src/main/java/com/njcn/gather/monitor/pojo/param/PqMonitorParam.java index 13c84e88..8caccf73 100644 --- a/detection/src/main/java/com/njcn/gather/monitor/pojo/param/PqMonitorParam.java +++ b/detection/src/main/java/com/njcn/gather/monitor/pojo/param/PqMonitorParam.java @@ -55,6 +55,9 @@ public class PqMonitorParam { @NotBlank(message = DetectionValidMessage.MONITOR_ID_NOT_BLANK) private String harmSysId; + @ApiModelProperty(value = "是否做检测") + private Integer checkFlag; + /** * 分页查询实体 diff --git a/detection/src/main/java/com/njcn/gather/monitor/pojo/po/PqMonitor.java b/detection/src/main/java/com/njcn/gather/monitor/pojo/po/PqMonitor.java index 70d401a1..a50e68c6 100644 --- a/detection/src/main/java/com/njcn/gather/monitor/pojo/po/PqMonitor.java +++ b/detection/src/main/java/com/njcn/gather/monitor/pojo/po/PqMonitor.java @@ -108,5 +108,7 @@ public class PqMonitor implements Serializable { private String resultType; private Integer qualifiedNum; // 合格次数 + + private Integer checkFlag; // 是否做检测 } diff --git a/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java b/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java index 66c1c625..5eb66149 100644 --- a/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/monitor/service/impl/PqMonitorServiceImpl.java @@ -231,7 +231,8 @@ public class PqMonitorServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); - wrapper.eq("pq_monitor.Dev_Id", devId); + wrapper.eq("pq_monitor.Dev_Id", devId) + .eq("pq_monitor.Check_Flag", 1); List monitorList = this.list(wrapper); if (CollUtil.isNotEmpty(monitorList)) { List allNumList = monitorList.stream().map(PqMonitor::getNum).collect(Collectors.toList()); @@ -251,7 +252,8 @@ public class PqMonitorServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); - wrapper.eq("pq_monitor.Dev_Id", devId); + wrapper.eq("pq_monitor.Dev_Id", devId) + .eq("pq_monitor.Check_Flag", 1); List monitorList = this.list(wrapper); List allResultFlags = new ArrayList<>(); diff --git a/detection/src/main/java/com/njcn/gather/result/controller/ResultController.java b/detection/src/main/java/com/njcn/gather/result/controller/ResultController.java index 008e9e15..f9c624fe 100644 --- a/detection/src/main/java/com/njcn/gather/result/controller/ResultController.java +++ b/detection/src/main/java/com/njcn/gather/result/controller/ResultController.java @@ -9,6 +9,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.LogUtil; import com.njcn.gather.detection.service.IAdPariService; import com.njcn.gather.detection.util.socket.CnSocketUtil; +import com.njcn.gather.result.pojo.param.MonitorQueryParam; import com.njcn.gather.result.pojo.param.ResultParam; import com.njcn.gather.result.pojo.vo.*; import com.njcn.gather.result.service.IResultService; @@ -166,7 +167,7 @@ public class ResultController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getMonitorDataSourceResult") @ApiOperation("获取监测点的检测结果下拉框") - @ApiImplicitParam(name = "param", value = "查询参数", required = true) + @ApiImplicitParam(name = "monitorId", value = "监测点id", required = true) public HttpResult>> getMonitorDataSourceResult(@RequestParam("monitorId") String monitorId) { String methodDescribe = getMethodDescribe("getMonitorDataSourceResult"); LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, monitorId); @@ -187,4 +188,17 @@ public class ResultController extends BaseController { boolean result = resultService.updateMonitorResult(resultParams); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getCheckItem") + @ApiOperation("获取监测点的检测项") + @ApiImplicitParam(name = "monitorQueryParam", value = "监测点查询参数", required = true) + public HttpResult> getCheckItem(@RequestBody MonitorQueryParam monitorQueryParam) { + String methodDescribe = getMethodDescribe("getCheckItem"); + + LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, monitorQueryParam); + List result = resultService.getCheckItem(monitorQueryParam.getDevId(),monitorQueryParam.getChnNum(), monitorQueryParam.getNum()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } } diff --git a/detection/src/main/java/com/njcn/gather/result/pojo/param/MonitorQueryParam.java b/detection/src/main/java/com/njcn/gather/result/pojo/param/MonitorQueryParam.java new file mode 100644 index 00000000..be813533 --- /dev/null +++ b/detection/src/main/java/com/njcn/gather/result/pojo/param/MonitorQueryParam.java @@ -0,0 +1,18 @@ +package com.njcn.gather.result.pojo.param; + +import lombok.Data; + +/** + * @author caozehui + * @data 2025-09-16 + */ +@Data +public class MonitorQueryParam { + private String devId; + + private String chnNum; + + private Integer num; + + private Integer waveNum; +} diff --git a/detection/src/main/java/com/njcn/gather/result/pojo/vo/ContrastTestItemVO.java b/detection/src/main/java/com/njcn/gather/result/pojo/vo/ContrastTestItemVO.java new file mode 100644 index 00000000..6a72ba98 --- /dev/null +++ b/detection/src/main/java/com/njcn/gather/result/pojo/vo/ContrastTestItemVO.java @@ -0,0 +1,22 @@ +package com.njcn.gather.result.pojo.vo; + +import lombok.Data; + +import java.util.List; + +/** + * @author caozehui + * @data 2025-09-16 + */ +@Data +public class ContrastTestItemVO { + private String id; + + private String scriptName; + + private String code; + + private Integer resultFlag; + + private List subItems; +} diff --git a/detection/src/main/java/com/njcn/gather/result/service/IResultService.java b/detection/src/main/java/com/njcn/gather/result/service/IResultService.java index 90974f05..0a5a2bb5 100644 --- a/detection/src/main/java/com/njcn/gather/result/service/IResultService.java +++ b/detection/src/main/java/com/njcn/gather/result/service/IResultService.java @@ -118,4 +118,14 @@ public interface IResultService { Map> getMonitorDataSourceResult(String monitorId); Boolean updateMonitorResult(MonitorResultVO result); + + /** + * 获取检测项 + * + * @param devId + * @param chnNum + * @param num + * @return + */ + List getCheckItem(String devId, String chnNum, Integer num); } diff --git a/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java b/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java index 89d678f4..0a8d2a61 100644 --- a/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/result/service/impl/ResultServiceImpl.java @@ -29,6 +29,7 @@ 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; @@ -1565,16 +1566,19 @@ public class ResultServiceImpl implements IResultService { formContentVO.setErrorSysId(plan.getErrorSysId()); List dictTreeList = null; - if (DataSourceEnum.WAVE_DATA.getValue().equals(queryParam.getScriptType())) { - List> bigTestItem = adPlanService.getBigTestItem(1, queryParam.getPlanId(), Collections.singletonList(queryParam.getDeviceId()), queryParam.getPatternId(), DataSourceEnum.WAVE_DATA.getValue()); - List ids = bigTestItem.stream().filter(x -> !DetectionCodeEnum.FREQ.getCode().equals(x.get("code"))).map(x -> x.get("id")).collect(Collectors.toList()); - dictTreeList = dictTreeService.getDictTreeById(ids); - } else { - dictTreeList = dictTreeService.getDictTreeById(Collections.singletonList(queryParam.getScriptType())); + List adTypeList = null; + if (StrUtil.isNotBlank(queryParam.getScriptType())) { + if (DataSourceEnum.WAVE_DATA.getValue().equals(queryParam.getScriptType())) { + List> bigTestItem = adPlanService.getBigTestItem(1, queryParam.getPlanId(), Collections.singletonList(queryParam.getDeviceId()), queryParam.getPatternId(), DataSourceEnum.WAVE_DATA.getValue()); + List ids = bigTestItem.stream().filter(x -> !DetectionCodeEnum.FREQ.getCode().equals(x.get("code"))).map(x -> x.get("id")).collect(Collectors.toList()); + dictTreeList = dictTreeService.getDictTreeById(ids); + } else { + dictTreeList = dictTreeService.getDictTreeById(Collections.singletonList(queryParam.getScriptType())); + } + List fatherIdList = dictTreeList.stream().map(DictTree::getId).collect(Collectors.toList()); + List childDictTreeList = dictTreeService.listByFatherIds(fatherIdList); + adTypeList = childDictTreeList.stream().map(DictTree::getId).collect(Collectors.toList()); } - List fatherIdList = dictTreeList.stream().map(DictTree::getId).collect(Collectors.toList()); - List childDictTreeList = dictTreeService.listByFatherIds(fatherIdList); - List adTypeList = childDictTreeList.stream().map(DictTree::getId).collect(Collectors.toList()); List allResultList = new ArrayList<>(); List contrastNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, null, false, queryParam.getDeviceId(), adTypeList); @@ -1778,6 +1782,63 @@ public class ResultServiceImpl implements IResultService { return pqMonitorService.updateById(monitor); } + @Override + public List getCheckItem(String devId, String chnNum, Integer num) { + PqDev dev = pqDevService.getById(devId); + AdPlan plan = adPlanService.getById(dev.getPlanId()); + String code = String.valueOf(plan.getCode()); + + String monitorId = devId + CnSocketUtil.SPLIT_TAG + chnNum; + + List realNoHarmonicResults = contrastNonHarmonicService.listAllResultData(code, num, null, false, monitorId, null); + List realHarmonicResults = contrastHarmonicService.listAllResultData(code, num, null, false, monitorId, null); + + Map> checkItemResultMap = realNoHarmonicResults.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getAdType, Collectors.mapping(ContrastNonHarmonicResult::getResultFlag, Collectors.toList()))); + checkItemResultMap.putAll(realHarmonicResults.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getAdType, Collectors.mapping(ContrastHarmonicResult::getResultFlag, Collectors.toList())))); + + List result = new ArrayList<>(); + checkItemResultMap.forEach((adType, resultList) -> { + ContrastTestItemVO contrastTestItemVO = new ContrastTestItemVO(); + DictTree childDictTree = dictTreeService.getById(adType); + DictTree fatherDictTree = dictTreeService.getById(childDictTree.getPid()); + contrastTestItemVO.setId(fatherDictTree.getId()); + contrastTestItemVO.setCode(fatherDictTree.getCode()); + contrastTestItemVO.setScriptName(fatherDictTree.getName()); + contrastTestItemVO.setResultFlag(StorageUtil.getInteger(resultList)); + result.add(contrastTestItemVO); + }); + + checkItemResultMap.clear(); + + List waveNoHarmonicResults = contrastNonHarmonicService.listAllResultData(code, num, null, true, monitorId, null); + List waveHarmonicResults = contrastHarmonicService.listAllResultData(code, num, null, true, monitorId, null); + + checkItemResultMap.putAll(waveNoHarmonicResults.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getAdType, Collectors.mapping(ContrastNonHarmonicResult::getResultFlag, Collectors.toList())))); + checkItemResultMap.putAll(waveHarmonicResults.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getAdType, Collectors.mapping(ContrastHarmonicResult::getResultFlag, Collectors.toList())))); + + ContrastTestItemVO contrastTestItemVO = new ContrastTestItemVO(); + contrastTestItemVO.setId(DataSourceEnum.WAVE_DATA.getValue()); + contrastTestItemVO.setCode(DataSourceEnum.WAVE_DATA.getValue()); + contrastTestItemVO.setScriptName(DataSourceEnum.WAVE_DATA.getMsg()); + + List setSubItems = new ArrayList<>(); + checkItemResultMap.forEach((adType, resultList) -> { + ContrastTestItemVO subContrastTestItemVO = new ContrastTestItemVO(); + DictTree childDictTree = dictTreeService.getById(adType); + DictTree fatherDictTree = dictTreeService.getById(childDictTree.getPid()); + subContrastTestItemVO.setId(fatherDictTree.getId()); + subContrastTestItemVO.setCode(fatherDictTree.getCode()); + subContrastTestItemVO.setScriptName(fatherDictTree.getName()); + subContrastTestItemVO.setResultFlag(StorageUtil.getInteger(resultList)); + setSubItems.add(subContrastTestItemVO); + }); + contrastTestItemVO.setResultFlag(StorageUtil.getInteger(checkItemResultMap.values().stream().flatMap(List::stream).distinct().collect(Collectors.toList()))); + contrastTestItemVO.setSubItems(setSubItems); + result.add(contrastTestItemVO); + + return result; + } + private Map> getResultMap(DictTree dictTree, List adTypeList, String monitorId, String unit, Integer num, Integer waveNum, Boolean isWave, String code) { Map> resultMap = new LinkedHashMap<>(); @@ -2183,6 +2244,7 @@ public class ResultServiceImpl implements IResultService { Map> numAdPairsMap = adPairList.stream().collect(Collectors.groupingBy(AdPair::getNum, Collectors.toList())); numAdPairsMap.forEach((num, pairList) -> { BiMap parsIp = HashBiMap.create(); + BiMap parsId = HashBiMap.create(); Map numMap = new HashMap<>(); Map> devMonitroIdMap = pairList.stream().collect(Collectors.groupingBy(AdPair::getDevMonitorId, Collectors.toList())); devMonitroIdMap.forEach((devMonitorId, pairList1) -> { @@ -2192,6 +2254,7 @@ public class ResultServiceImpl implements IResultService { PqDev stdDev = pqDevService.getById(split2[1]); parsIp.put(dev.getIp() + split1[1], stdDev.getIp() + split2[1]); + parsId.put(dev.getId() + split1[1], stdDev.getId() + split2[1]); numMap.put(devMonitorId, num); numMap.put(adPair.getStdDevMonitorId(), num); }); @@ -2206,6 +2269,12 @@ public class ResultServiceImpl implements IResultService { detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, null); + parsId.forEach((devMonitorId, stdDevMonitorId) -> { + pqMonitorService.updateMonitorResult(devMonitorId, null, DataSourceEnum.REAL_DATA, FormalTestManager.numMap.get(devMonitorId), null, oldCode); + pqDevService.updateResult(devMonitorId.split(CnSocketUtil.SPLIT_TAG)[0], null); + }); + + boolean waveFlag = true; AdPlanTestConfig adPlanTestConfig = adPlanTestConfigService.getByPlanId(planId); for (int i = 1; i <= adPlanTestConfig.getWaveRecord(); i++) { devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null); @@ -2213,10 +2282,23 @@ public class ResultServiceImpl implements IResultService { devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null); stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 1, deviceId, null); - devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap); - standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap); + if (CollUtil.isNotEmpty(devNonHarmonicRawDataList) && CollUtil.isNotEmpty(stdDevNonHarmonicRawDataList) && CollUtil.isNotEmpty(devHarmonicRawDataList) && CollUtil.isNotEmpty(stdDevHarmonicRawDataList)) { + devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap); + standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap); + detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, oldCode, i); + } else { + waveFlag = false; + break; + } + } - detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, i); + if (waveFlag) { + parsId.forEach((devMonitorId, stdDevMonitorId) -> { + String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG); + String id = FormalTestManager.devIdMapComm.get(split[0]); + pqMonitorService.updateMonitorResult(devMonitorId, null, DataSourceEnum.WAVE_DATA, num, adPlanTestConfig.getWaveRecord(), oldCode); + pqDevService.updateResult(id, null); + }); } }); } diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastHarmonicServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastHarmonicServiceImpl.java index 399e7205..695c7a00 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastHarmonicServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastHarmonicServiceImpl.java @@ -32,7 +32,11 @@ public class ContrastHarmonicServiceImpl extends ServiceImpl wrapper = this.lambdaQuery().likeRight(ContrastHarmonicResult::getDevMonitorId, devId) .eq(ObjectUtil.isNotNull(num), ContrastHarmonicResult::getNum, num) - .eq(ObjectUtil.isNotNull(waveNum), ContrastHarmonicResult::getWaveNum, waveNum) .in(CollUtil.isNotEmpty(adTypeList), ContrastHarmonicResult::getAdType, adTypeList); if (isWave) { - wrapper.eq(ObjectUtil.isNotNull(waveNum), ContrastHarmonicResult::getWaveNum, waveNum); + if (ObjectUtil.isNotNull(waveNum)) { + wrapper.eq(ContrastHarmonicResult::getWaveNum, waveNum); + } else { + wrapper.isNotNull(ContrastHarmonicResult::getWaveNum); + } } else { wrapper.isNull(ContrastHarmonicResult::getWaveNum); } diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastNonHarmonicServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastNonHarmonicServiceImpl.java index 0501a1be..203f86e9 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastNonHarmonicServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/ContrastNonHarmonicServiceImpl.java @@ -32,7 +32,11 @@ public class ContrastNonHarmonicServiceImpl extends ServiceImpl