From 327901ef1055f5aa657d9b579e6aff895114a487 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Mon, 7 Jul 2025 11:04:16 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=97=E6=B3=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../line/DataCleanServiceImpl.java | 78 +++++++++++-------- .../dataProcess/dto/DataCleanJsonDTO.java | 3 - 2 files changed, 47 insertions(+), 34 deletions(-) diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DataCleanServiceImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DataCleanServiceImpl.java index f79d3cc..7b12594 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DataCleanServiceImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DataCleanServiceImpl.java @@ -310,7 +310,8 @@ public class DataCleanServiceImpl implements IDataCleanService { lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); lineDetail.forEach(item->{ - List>> resultData = new ArrayList<>(); + + List> resultData = new ArrayList<>(); PqDataVerifyBak bak = new PqDataVerifyBak(); bak.setLineId(item.getLineId()); @@ -345,7 +346,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleDataV(result,bak,item.getTimeInterval()); + Map dtoMap = handleDataV(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -362,7 +365,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleDataI(result,bak,item.getTimeInterval()); + Map dtoMap = handleDataI(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -379,7 +384,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleDataPlt(result,bak,item.getTimeInterval()); + Map dtoMap = handleDataPlt(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -396,7 +403,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleInHarmV(result,bak,item.getTimeInterval()); + Map dtoMap = handleInHarmV(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -413,7 +422,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleHarmRateV(result,bak,item.getTimeInterval()); + Map dtoMap = handleHarmRateV(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -430,7 +441,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleHarmPowerP(result,bak,item.getTimeInterval()); + Map dtoMap = handleHarmPowerP(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -447,7 +460,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleHarmPhasicV(result,bak,item.getTimeInterval()); + Map dtoMap = handleHarmPhasicV(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -464,7 +479,9 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleDataFluc(result,bak,item.getTimeInterval()); + Map dtoMap = handleDataFluc(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } @@ -481,16 +498,15 @@ public class DataCleanServiceImpl implements IDataCleanService { result.addAll(pqDataVerifies); }); if (CollUtil.isNotEmpty(result)) { - Map> dtoMap = handleDataFlicker(result,bak,item.getTimeInterval()); + Map dtoMap = handleDataFlicker(result,bak,item.getTimeInterval()); + Set timeSet = new HashSet<>(result.stream().map(dt -> dt.getTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_TIME_PATTERN))).collect(Collectors.toSet())); + dtoMap.put("errorTimes",timeSet.size() * item.getTimeInterval()); if (CollUtil.isNotEmpty(dtoMap)) { resultData.add(dtoMap); } } } if (CollUtil.isNotEmpty(resultData)) { - - - bak.setState(1); //存储文件 InputStream reportStream = IoUtil.toStream(new Gson().toJson(resultData), CharsetUtil.UTF_8); @@ -506,8 +522,8 @@ public class DataCleanServiceImpl implements IDataCleanService { System.gc(); } - public Map> handleDataV(List result, PqDataVerifyBak bak,Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleDataV(List result, PqDataVerifyBak bak,Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //频率 List list1 = handleData(codeMap.get(DataCleanEnum.Freq.getCode()),timeInterval); @@ -584,8 +600,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleDataI(List result, PqDataVerifyBak bak,Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleDataI(List result, PqDataVerifyBak bak,Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //电流有效值 List list = handleData(codeMap.get(DataCleanEnum.RmsI.getCode()),timeInterval); @@ -596,8 +612,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleDataPlt(List result, PqDataVerifyBak bak, Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleDataPlt(List result, PqDataVerifyBak bak, Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //长时闪变 List list = handleData(codeMap.get(DataCleanEnum.Plt.getCode()), timeInterval); @@ -608,8 +624,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleInHarmV(List result, PqDataVerifyBak bak, Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleInHarmV(List result, PqDataVerifyBak bak, Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //间谐波电压含有率 List list = handleHarmData(codeMap.get(DataCleanEnum.V_InHarm.getCode()),timeInterval); @@ -620,8 +636,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleHarmRateV(List result, PqDataVerifyBak bak, Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleHarmRateV(List result, PqDataVerifyBak bak, Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //谐波电压含有率 List list = handleHarmData(codeMap.get(DataCleanEnum.V_Rate.getCode()),timeInterval); @@ -632,8 +648,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleHarmPowerP(List result, PqDataVerifyBak bak, Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleHarmPowerP(List result, PqDataVerifyBak bak, Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //功率因素 List list = handleData(codeMap.get(DataCleanEnum.Pf.getCode()),timeInterval); @@ -644,8 +660,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleHarmPhasicV(List result, PqDataVerifyBak bak, Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleHarmPhasicV(List result, PqDataVerifyBak bak, Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //谐波电压相角 List list = handleHarmData(codeMap.get(DataCleanEnum.V.getCode()),timeInterval); @@ -662,8 +678,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleDataFluc(List result, PqDataVerifyBak bak, Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleDataFluc(List result, PqDataVerifyBak bak, Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //电压波动 List list = handleData(codeMap.get(DataCleanEnum.Fluc.getCode()),timeInterval); @@ -674,8 +690,8 @@ public class DataCleanServiceImpl implements IDataCleanService { return map; } - public Map> handleDataFlicker(List result, PqDataVerifyBak bak,Integer timeInterval) { - Map> map = new HashMap<>(); + public Map handleDataFlicker(List result, PqDataVerifyBak bak,Integer timeInterval) { + Map map = new HashMap<>(); Map> codeMap = result.stream().collect(Collectors.groupingBy(PqDataVerify::getIndexCode)); //短时闪变 List list = handleData(codeMap.get(DataCleanEnum.Pst.getCode()),timeInterval); diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataCleanJsonDTO.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataCleanJsonDTO.java index 721ae13..fd9d758 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataCleanJsonDTO.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/DataCleanJsonDTO.java @@ -4,7 +4,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; -import java.util.Map; /** * @author xy @@ -12,8 +11,6 @@ import java.util.Map; @Data public class DataCleanJsonDTO { - Map> map; - @Data public static class DataHarmCleanJsonDTO {