From 51539f1137539818132a8b9b874eb37a9049aec0 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Fri, 10 Jan 2025 14:27:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DetectionServiceImpl.java | 61 +++++++++---------- .../service/impl/AdHarmonicServiceImpl.java | 4 +- .../impl/AdNonHarmonicServiceImpl.java | 4 +- .../impl/DetectionDataServiceImpl.java | 33 +++++----- 4 files changed, 46 insertions(+), 56 deletions(-) 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 9e7bf9f5..4fe36722 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 @@ -238,8 +238,7 @@ public class DetectionServiceImpl { DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getFAmp(), dataRule); result.setCValue(JSON.toJSONString(c)); - List numbers = Arrays.asList(a.getIsData(), b.getIsData(), c.getIsData()).stream().distinct().collect(Collectors.toList()); - result.setResultFlag(setResultFlag(numbers)); + result.setResultFlag(setResultFlag(Arrays.asList(a, b, c))); } return result; } @@ -271,7 +270,7 @@ public class DetectionServiceImpl { fData = sourceIssue.getFIn(); } if (P.equals(type)) { - fData = sourceIssue.getFIn() * sourceIssue.getFUn()*0.01; + fData = sourceIssue.getFIn() * sourceIssue.getFUn() * 0.01; } List integerBooleanA = harmRangeComparison(pqErrSysDtls, type, TYPE_A, sourceIssue, dataRule, devMap.get(TYPE_A), fData, num); @@ -288,12 +287,11 @@ public class DetectionServiceImpl { reflectHarmonic("a", integerBooleanA, harmonicResult, num); reflectHarmonic("b", integerBooleanB, harmonicResult, num); reflectHarmonic("c", integerBooleanC, harmonicResult, num); - List list = new ArrayList<>(); - list.addAll(integerBooleanA.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList())); - list.addAll(integerBooleanB.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList())); - list.addAll(integerBooleanC.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList())); - List numbers = list.stream().distinct().collect(Collectors.toList()); - harmonicResult.setResultFlag(setResultFlag(numbers)); + List list = new ArrayList<>(); + list.addAll(integerBooleanA.stream().distinct().collect(Collectors.toList())); + list.addAll(integerBooleanB.stream().distinct().collect(Collectors.toList())); + list.addAll(integerBooleanC.stream().distinct().collect(Collectors.toList())); + harmonicResult.setResultFlag(setResultFlag(list)); return harmonicResult; } @@ -356,16 +354,14 @@ public class DetectionServiceImpl { DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule); result.setCValue(JSON.toJSONString(c)); - List numbers = Arrays.asList(a.getIsData(), b.getIsData(), c.getIsData()); - result.setResultFlag(setResultFlag(numbers)); + result.setResultFlag(setResultFlag(Arrays.asList(a, b, c))); } else { List channelTypeBList = checkData.stream() .filter(x -> TYPE_T.equals(x.getPhase())) .collect(Collectors.toList()); DetectionData t = rangeComparisonList(map.get(TYPE_B), pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule); result.setTValue(JSON.toJSONString(t)); - List numbers = Arrays.asList(t.getIsData()); - result.setResultFlag(setResultFlag(numbers)); + result.setResultFlag(setResultFlag(Arrays.asList(t))); } return result; } @@ -448,7 +444,7 @@ public class DetectionServiceImpl { if (DUR.equals(dur)) { retainATime = channelTypeAList.get(0).getDipData().getRetainTime(); } else { - retainATime = channelTypeAList.get(0).getFAmp(); + retainATime = channelTypeAList.get(0).getDipData().getFTransValue(); } DetectionData a = rangeComparisonList(mag.get(TYPE_A), magErrList, fData, retainATime, dataRule); result.setAValue(JSON.toJSONString(a)); @@ -460,7 +456,7 @@ public class DetectionServiceImpl { if (DUR.equals(dur)) { retainBTime = channelTypeBList.get(0).getDipData().getRetainTime(); } else { - retainBTime = channelTypeBList.get(0).getFAmp(); + retainBTime = channelTypeBList.get(0).getDipData().getFTransValue(); } DetectionData b = rangeComparisonList(mag.get(TYPE_B), magErrList, fData, retainBTime, dataRule); result.setBValue(JSON.toJSONString(b)); @@ -472,29 +468,28 @@ public class DetectionServiceImpl { if (DUR.equals(dur)) { retainCTime = channelTypeCList.get(0).getDipData().getRetainTime(); } else { - retainCTime = channelTypeCList.get(0).getFAmp(); + retainCTime = channelTypeCList.get(0).getDipData().getFTransValue(); } DetectionData c = rangeComparisonList(mag.get(TYPE_C), magErrList, fData, retainCTime, dataRule); result.setCValue(JSON.toJSONString(c)); - List numbers = Arrays.asList(a.getIsData(), b.getIsData(), c.getIsData()).stream().distinct().collect(Collectors.toList()); - result.setResultFlag(setResultFlag(numbers)); + result.setResultFlag(setResultFlag(Arrays.asList(a, b, c))); return result; } - private Integer setResultFlag(List numbers) { - numbers = numbers.stream().filter(x -> ObjectUtil.isNotNull(x)).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(numbers)) { - if (numbers.size() > 1) { - if (numbers.contains(4)) { + private Integer setResultFlag(List numbers) { + List isData = numbers.stream().filter(x -> ObjectUtil.isNotNull(x.getData())).map(DetectionData::getIsData).distinct().collect(Collectors.toList()); + if (CollUtil.isNotEmpty(isData)) { + if (isData.size() > 1) { + if (isData.contains(4)) { return 4; - } else if (numbers.contains(2)) { + } else if (isData.contains(2)) { return 2; } } - return numbers.get(0); + return isData.get(0); } else { return 4; } @@ -675,7 +670,7 @@ public class DetectionServiceImpl { */ private void setDetection(DictDataEnum dataRule, List harmDataList, PqErrSysDtls errSysDtl, DetectionData data, Double v) { List qualifiedList = harmDataList.stream() - .filter(x -> v == 0 ? x.equals(v) : x > 0 && NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()), + .filter(x -> x > 0 && NumberUtil.isIn(devSubtractChannelData(x, v, errSysDtl.getErrorValueType()), BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()), BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))).collect(Collectors.toList()); isData(dataRule, harmDataList, data, qualifiedList); @@ -786,11 +781,11 @@ public class DetectionServiceImpl { channelData)).collect(Collectors.toList()); if (CollUtil.isNotEmpty(errSysDtls)) { PqErrSysDtls errSysDtl = BeanUtil.copyProperties(errSysDtls.get(0), PqErrSysDtls.class); - if (DUR.equals(errSysDtl.getScriptType())) { - detectionData.setResultData(BigDecimal.valueOf(1.0 / data).doubleValue() * channelData); - detectionData.setRadius(BigDecimal.valueOf(1.0 / data * (channelData - errSysDtl.getMaxErrorValue())) - + "~" + BigDecimal.valueOf(1.0 / data * (channelData + errSysDtl.getMaxErrorValue()))); + if (DUR.equals(errSysDtl.getScriptCode())) { if (CollUtil.isNotEmpty(list)) { + detectionData.setResultData(BigDecimal.valueOf(1.0 / data).doubleValue() * channelData); + detectionData.setRadius(BigDecimal.valueOf(1.0 / data * (channelData - errSysDtl.getMaxErrorValue())) + + "~" + BigDecimal.valueOf(1.0 / data * (channelData + errSysDtl.getMaxErrorValue()))); detectionData.setData(list.get(0)); List qualifiedList = list.stream() .filter(x -> NumberUtil.isIn(BigDecimal.valueOf(x.doubleValue()), @@ -800,10 +795,10 @@ public class DetectionServiceImpl { isData(dataRule, qualifiedList, detectionData, qualifiedList); } } else { - errSysDtl.setMaxErrorValue(maxErrorMultiply(errSysDtl.getMaxErrorValue(), data, channelData, errSysDtl.getErrorValueType())); - detectionData.setResultData(channelData); - detectionData.setRadius(-errSysDtl.getMaxErrorValue() + "~" + errSysDtl.getMaxErrorValue()); if (CollUtil.isNotEmpty(list)) { + errSysDtl.setMaxErrorValue(maxErrorMultiply(errSysDtl.getMaxErrorValue(), data, channelData, errSysDtl.getErrorValueType())); + detectionData.setResultData(channelData); + detectionData.setRadius(-errSysDtl.getMaxErrorValue() + "~" + errSysDtl.getMaxErrorValue()); detectionData.setData(list.get(0)); setDetection(dataRule, list, errSysDtl, detectionData, channelData); } diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java index 93876b63..ba91e8b1 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java @@ -69,7 +69,7 @@ public class AdHarmonicServiceImpl extends ServiceImpl adHarmonicResults = this.getBaseMapper().selectJoinList(AdHarmonicResult.class, wrapper); List harmNum = param.getHarmNum(); - Map> info=new HashMap<>(3); + Map> info=new LinkedHashMap<>(3); RawDataVO dataVO; List rawDataVOS; for (AdHarmonicResult harmonicResult : adHarmonicResults) { @@ -129,7 +129,7 @@ public class AdHarmonicServiceImpl extends ServiceImpl adHarmonicResults = this.getBaseMapper().selectJoinList(AdHarmonicResult.class, wrapper); List harmNum = param.getHarmNum(); - Map info=new HashMap<>(3); + Map info=new LinkedHashMap<>(3); RawResultDataVO dataVO; for (AdHarmonicResult harmonicResult : adHarmonicResults) { for (Double i : harmNum) { diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/AdNonHarmonicServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/AdNonHarmonicServiceImpl.java index 7d19dbe2..c554cb02 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/AdNonHarmonicServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/AdNonHarmonicServiceImpl.java @@ -62,7 +62,7 @@ public class AdNonHarmonicServiceImpl extends ServiceImpl adHarmonicResults = this.getBaseMapper().selectJoinList(AdNonHarmonicResult.class, wrapper); - Map> info = new HashMap<>(2); + Map> info = new LinkedHashMap<>(2); Map> adTypeMap = adHarmonicResults.stream().collect(Collectors.groupingBy(AdNonHarmonicResult::getAdType)); List dictTreeById = dictTreeService.getDictTreeById(new ArrayList<>(adTypeMap.keySet())); Map dictTreeByName = dictTreeById.stream().collect(Collectors.toMap(DictTree::getId,Function.identity())); @@ -98,7 +98,7 @@ public class AdNonHarmonicServiceImpl extends ServiceImpl adHarmonicResults = this.getBaseMapper().selectJoinList(AdNonHarmonicResult.class, wrapper); - Map info = new HashMap<>(2); + Map info = new LinkedHashMap<>(2); Map adTypeMap = adHarmonicResults.stream().collect(Collectors.toMap(AdNonHarmonicResult::getAdType, Function.identity())); List dictTreeById = dictTreeService.getDictTreeById(new ArrayList<>(adTypeMap.keySet())); diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java index 5ac80005..1360f9f5 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java @@ -37,7 +37,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl().in(AdNonHarmonicResult::getMonitorId, monitorIds) .eq(AdNonHarmonicResult::getScriptId,adNonHarmonicResultList.get(0).getScriptId()) - .eq(AdNonHarmonicResult::getAdType,adNonHarmonicResultList.get(0).getAdType())); + .eq(AdNonHarmonicResult::getSort,adNonHarmonicResultList.get(0).getSort())); adNonHarmonicService.saveBatch(adNonHarmonicResultList, 100); } DynamicTableNameHandler.remove(); @@ -53,7 +53,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl().in(AdHarmonicResult::getMonitorId, monitorIds) .eq(AdHarmonicResult::getScriptId,adHarmonicResultList.get(0).getScriptId()) - .eq(AdHarmonicResult::getAdType,adHarmonicResultList.get(0).getAdType())); + .eq(AdHarmonicResult::getSort,adHarmonicResultList.get(0).getSort())); this.saveBatch(adHarmonicResultList, 100); } @@ -66,16 +66,13 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl adNonHarmonicResultList, String code) { String adNonTableResult = "ad_non_harmonic_result_"; DynamicTableNameHandler.setTableName(adNonTableResult + code); - - for (AdNonHarmonicResult item : adNonHarmonicResultList) { - adNonHarmonicService.remove(new LambdaQueryWrapper() - .eq(AdNonHarmonicResult::getMonitorId, item.getMonitorId()) - .eq(AdNonHarmonicResult::getSort, item.getSort()) - .eq(AdNonHarmonicResult::getScriptId, item.getScriptId()) - - ); + List monitorIds = adNonHarmonicResultList.stream().map(AdNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList()); + if(CollUtil.isNotEmpty(monitorIds)){ + adNonHarmonicService.remove(new LambdaQueryWrapper().in(AdNonHarmonicResult::getMonitorId, monitorIds) + .eq(AdNonHarmonicResult::getScriptId,adNonHarmonicResultList.get(0).getScriptId()) + .eq(AdNonHarmonicResult::getSort,adNonHarmonicResultList.get(0).getSort())); + adNonHarmonicService.saveBatch(adNonHarmonicResultList, 100); } - adNonHarmonicService.saveBatch(adNonHarmonicResultList, 100); DynamicTableNameHandler.remove(); return true; } @@ -85,15 +82,13 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl adHarmonicResultList, String code) { String adTableResult = "ad_harmonic_result_"; DynamicTableNameHandler.setTableName(adTableResult + code); - for (AdHarmonicResult item : adHarmonicResultList) { - this.remove(new LambdaQueryWrapper() - .eq(AdHarmonicResult::getMonitorId, item.getMonitorId()) - .eq(AdHarmonicResult::getSort, item.getSort()) - .eq(AdHarmonicResult::getScriptId, item.getScriptId()) - - ); + List monitorIds = adHarmonicResultList.stream().map(AdHarmonicResult::getMonitorId).distinct().collect(Collectors.toList()); + if(CollUtil.isNotEmpty(monitorIds)){ + this.remove(new LambdaQueryWrapper().in(AdHarmonicResult::getMonitorId, monitorIds) + .eq(AdHarmonicResult::getScriptId,adHarmonicResultList.get(0).getScriptId()) + .eq(AdHarmonicResult::getSort,adHarmonicResultList.get(0).getSort())); + this.saveBatch(adHarmonicResultList, 100); } - this.saveBatch(adHarmonicResultList, 100); DynamicTableNameHandler.remove(); return true; }