From a6658b57ab693c3e1101201fc646f56fda79868f Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Mon, 3 Mar 2025 13:42:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E8=A1=A8=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/MeasurementExecutor.java | 55 ++ .../service/line/IDayDataService.java | 47 ++ .../serviceimpl/line/DayDataServiceImpl.java | 625 +++++++++++++++++- .../api/DataHarmRateIFeignClient.java | 27 + .../api/DataHarmRateVFeignClient.java | 8 + .../api/DataHarmpowerSFeignClient.java | 10 +- .../api/DataInharmIFeignClient.java | 12 +- .../api/DataInharmVFeignClient.java | 9 + .../dataProcess/api/DataPltFeignClient.java | 7 + ...taHarmRateIFeignClientFallbackFactory.java | 55 ++ ...taHarmRateVFeignClientFallbackFactory.java | 14 + ...aHarmpowerSFeignClientFallbackFactory.java | 15 + ...DataInharmIFeignClientFallbackFactory.java | 15 + ...DataInharmVFeignClientFallbackFactory.java | 14 + .../DataPltFeignClientFallbackFactory.java | 13 + .../controller/DataHarmRateIController.java | 66 ++ .../controller/DataHarmRateVController.java | 20 + .../controller/DataHarmpowerSController.java | 23 +- .../controller/DataInharmIController.java | 24 +- .../controller/DataInharmVController.java | 22 +- .../controller/DataPltController.java | 18 + .../dao/imapper/DataHarmRateIMapper.java | 11 + .../dao/imapper/DataHarmRateVMapper.java | 14 - .../dao/imapper/DataHarmrateVMapper.java | 3 - .../dataProcess/service/IDataHarmRateI.java | 27 + .../dataProcess/service/IDataHarmRateV.java | 17 +- .../dataProcess/service/IDataHarmpowerS.java | 18 +- .../dataProcess/service/IDataInharmI.java | 18 +- .../dataProcess/service/IDataInharmV.java | 18 +- .../njcn/dataProcess/service/IDataPlt.java | 17 +- .../influxdb/InfluxdbDataHarmRateIImpl.java | 190 ++++++ .../influxdb/InfluxdbDataHarmRateVImpl.java | 161 ++++- .../influxdb/InfluxdbDataHarmpowerSImpl.java | 176 ++++- .../influxdb/InfluxdbDataInharmIImpl.java | 173 ++++- .../influxdb/InfluxdbDataInharmVImpl.java | 110 ++- .../impl/influxdb/InfluxdbDataPltImpl.java | 60 +- .../relation/RelationDataHarmRateIImpl.java | 48 ++ .../relation/RelationDataHarmRateVImpl.java | 29 +- .../relation/RelationDataHarmpowerSImpl.java | 37 +- .../relation/RelationDataInharmIImpl.java | 38 +- .../relation/RelationDataInharmVImpl.java | 35 +- .../impl/relation/RelationDataPltImpl.java | 32 +- 42 files changed, 2241 insertions(+), 90 deletions(-) create mode 100644 data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateIFeignClient.java create mode 100644 data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateIFeignClientFallbackFactory.java create mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateIController.java create mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateIMapper.java delete mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateVMapper.java create mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateI.java create mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateIImpl.java create mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateIImpl.java diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/executor/MeasurementExecutor.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/executor/MeasurementExecutor.java index 5ec338a..4b2fb53 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/executor/MeasurementExecutor.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/executor/MeasurementExecutor.java @@ -235,6 +235,61 @@ public class MeasurementExecutor extends BaseExecutor { dayDataService.dataHarmPowerQHandler(bindCmp.getRequestData()); } + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataHarmPowerS", nodeType = NodeTypeEnum.COMMON) + public boolean dataHarmPowerSToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPowerS", nodeType = NodeTypeEnum.COMMON) + public void dataHarmPowerSToDayProcess(NodeComponent bindCmp) { + dayDataService.dataHarmPowerSHandler(bindCmp.getRequestData()); + } + + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataHarmRateI", nodeType = NodeTypeEnum.COMMON) + public boolean dataHarmRateIToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmRateI", nodeType = NodeTypeEnum.COMMON) + public void dataHarmRateIToDayProcess(NodeComponent bindCmp) { + dayDataService.dataHarmRateIHandler(bindCmp.getRequestData()); + } + + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataHarmRateV", nodeType = NodeTypeEnum.COMMON) + public boolean dataHarmRateVToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmRateV", nodeType = NodeTypeEnum.COMMON) + public void dataHarmRateVToDayProcess(NodeComponent bindCmp) { + dayDataService.dataHarmRateVHandler(bindCmp.getRequestData()); + } + + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataInHarmI", nodeType = NodeTypeEnum.COMMON) + public boolean dataInHarmIToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataInHarmI", nodeType = NodeTypeEnum.COMMON) + public void dataInHarmIToDayProcess(NodeComponent bindCmp) { + dayDataService.dataInHarmIHandler(bindCmp.getRequestData()); + } + + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataInHarmV", nodeType = NodeTypeEnum.COMMON) + public boolean dataInHarmVToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataInHarmV", nodeType = NodeTypeEnum.COMMON) + public void dataInHarmVToDayProcess(NodeComponent bindCmp) { + dayDataService.dataInHarmVHandler(bindCmp.getRequestData()); + } + + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataPlt", nodeType = NodeTypeEnum.COMMON) + public boolean dataPltToDayAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataPlt", nodeType = NodeTypeEnum.COMMON) + public void dataPltToDayProcess(NodeComponent bindCmp) { + dayDataService.dataPltHandler(bindCmp.getRequestData()); + } + + /** * 监测点cvt转换算法() * @author hzj diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/line/IDayDataService.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/line/IDayDataService.java index 1068e48..d5a32d8 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/line/IDayDataService.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/line/IDayDataService.java @@ -72,4 +72,51 @@ public interface IDayDataService { */ void dataHarmPowerQHandler(CalculatedParam calculatedParam); + /*** + * dataHarmPowerS转r_stat_data_harmpower_s_d + * @author xuyang + * @date 2025/01/18 21:18 + * @param calculatedParam 查询条件 + */ + void dataHarmPowerSHandler(CalculatedParam calculatedParam); + + /*** + * dataHarmRateI转r_stat_data_harmRate_i_d + * @author xuyang + * @date 2025/01/18 21:18 + * @param calculatedParam 查询条件 + */ + void dataHarmRateIHandler(CalculatedParam calculatedParam); + + /*** + * dataHarmRateV转r_stat_data_harmRate_v_d + * @author xuyang + * @date 2025/01/18 21:18 + * @param calculatedParam 查询条件 + */ + void dataHarmRateVHandler(CalculatedParam calculatedParam); + + /*** + * dataInHarmI转r_stat_data_inharm_i_d + * @author xuyang + * @date 2025/01/18 21:18 + * @param calculatedParam 查询条件 + */ + void dataInHarmIHandler(CalculatedParam calculatedParam); + + /*** + * dataInHarmV转r_stat_data_inharm_v_d + * @author xuyang + * @date 2025/01/18 21:18 + * @param calculatedParam 查询条件 + */ + void dataInHarmVHandler(CalculatedParam calculatedParam); + + /*** + * dataPlt转r_stat_data_plt_d + * @author xuyang + * @date 2025/01/18 21:18 + * @param calculatedParam 查询条件 + */ + void dataPltHandler(CalculatedParam calculatedParam); } diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DayDataServiceImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DayDataServiceImpl.java index a3844a0..7d7a571 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DayDataServiceImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/DayDataServiceImpl.java @@ -10,7 +10,6 @@ import com.njcn.dataProcess.pojo.dto.*; import com.njcn.dataProcess.pojo.po.PqDataVerify; import com.njcn.dataProcess.util.TimeUtils; import com.njcn.influx.constant.InfluxDbSqlConstant; -import com.njcn.influx.pojo.po.DataHarmPowerQ; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; @@ -49,7 +48,18 @@ public class DayDataServiceImpl implements IDayDataService { private DataHarmpowerPFeignClient dataHarmpowerPFeignClient; @Resource private DataHarmpowerQFeignClient dataHarmpowerQFeignClient; - + @Resource + private DataHarmpowerSFeignClient dataHarmpowerSFeignClient; + @Resource + private DataHarmRateIFeignClient dataHarmRateIFeignClient; + @Resource + private DataHarmRateVFeignClient dataHarmRateVFeignClient; + @Resource + private DataInharmIFeignClient dataInharmIFeignClient; + @Resource + private DataInharmVFeignClient dataInharmVFeignClient; + @Resource + private DataPltFeignClient dataPltFeignClient; @Resource private PqDataVerifyFeignClient pqDataVerifyFeignClient; @@ -414,7 +424,277 @@ public class DayDataServiceImpl implements IDayDataService { //存储数据 dataHarmpowerQFeignClient.addList(result); } + } + @Override + public void dataHarmPowerSHandler(CalculatedParam calculatedParam) { + logger.info("{},dataHarmPowerS表转r_stat_data_harmpower_s_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(calculatedParam.getIdList(),NUM); + pendingIds.forEach(list->{ + lineParam.setLineId(list); + //添加异常数据时间点 + getAbnormalData(lineParam); + //获取原始数据 + List partList = dataHarmpowerSFeignClient.getBaseData(lineParam).getData(); + if (CollUtil.isNotEmpty(partList)) { + partList.forEach(item->{ + //相别 + List phasicTypeList = item.getPhasicTypeList(); + phasicTypeList.forEach(item2->{ + //数据类型 + List valueTypeList = item2.getValueTypeList(); + //获取平均值集合 + CommonMinuteDto.ValueType valueTypes = valueTypeList.stream().filter(type-> type.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.AVG_WEB)).findFirst().orElse(null); + valueTypeList.forEach(item3->{ + DataHarmPowerSDto dto = new DataHarmPowerSDto(); + dto.setTime(item.getTime()); + dto.setLineId(item.getLineId()); + dto.setPhasicType(item2.getPhasicType()); + dto.setValueType(item3.getValueType()); + dto.setQualityFlag(Objects.equals(item.getQualityFlag(),"null") ? "0" : item.getQualityFlag()); + channelDataHarmPowerSHandler(item3,valueTypes,dto,true); + result.add(dto); + }); + }); + }); + } + }); + if (CollUtil.isNotEmpty(result)) { + //存储数据 + dataHarmpowerSFeignClient.addList(result); + } + } + + @Override + public void dataHarmRateIHandler(CalculatedParam calculatedParam) { + logger.info("{},dataHarmRateI表转r_stat_data_harmRate_i_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(calculatedParam.getIdList(),NUM); + pendingIds.forEach(list->{ + lineParam.setLineId(list); + //添加异常数据时间点 + getAbnormalData(lineParam); + //获取原始数据 + List partList = dataHarmRateIFeignClient.getBaseData(lineParam).getData(); + if (CollUtil.isNotEmpty(partList)) { + partList.forEach(item->{ + //相别 + List phasicTypeList = item.getPhasicTypeList(); + phasicTypeList.forEach(item2->{ + //数据类型 + List valueTypeList = item2.getValueTypeList(); + //获取平均值集合 + CommonMinuteDto.ValueType valueTypes = valueTypeList.stream().filter(type-> type.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.AVG_WEB)).findFirst().orElse(null); + valueTypeList.forEach(item3->{ + DataHarmRateIDto dto = new DataHarmRateIDto(); + dto.setTime(item.getTime()); + dto.setLineId(item.getLineId()); + dto.setPhasicType(item2.getPhasicType()); + dto.setValueType(item3.getValueType()); + dto.setQualityFlag(Objects.equals(item.getQualityFlag(),"null") ? "0" : item.getQualityFlag()); + channelDataHarmRateIHandler(item3,valueTypes,dto,true); + result.add(dto); + }); + }); + }); + } + }); + if (CollUtil.isNotEmpty(result)) { + //存储数据 + dataHarmRateIFeignClient.addList(result); + } + } + + @Override + public void dataHarmRateVHandler(CalculatedParam calculatedParam) { + logger.info("{},dataHarmRateV表转r_stat_data_harmRate_v_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(calculatedParam.getIdList(),NUM); + pendingIds.forEach(list->{ + lineParam.setLineId(list); + //添加异常数据时间点 + getAbnormalData(lineParam); + //获取原始数据 + List partList = dataHarmRateVFeignClient.getBaseData(lineParam).getData(); + if (CollUtil.isNotEmpty(partList)) { + partList.forEach(item->{ + //相别 + List phasicTypeList = item.getPhasicTypeList(); + phasicTypeList.forEach(item2->{ + //数据类型 + List valueTypeList = item2.getValueTypeList(); + //获取平均值集合 + CommonMinuteDto.ValueType valueTypes = valueTypeList.stream().filter(type-> type.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.AVG_WEB)).findFirst().orElse(null); + valueTypeList.forEach(item3->{ + DataHarmRateVDto dto = new DataHarmRateVDto(); + dto.setTime(item.getTime()); + dto.setLineId(item.getLineId()); + dto.setPhasicType(item2.getPhasicType()); + dto.setValueType(item3.getValueType()); + dto.setQualityFlag(Objects.equals(item.getQualityFlag(),"null") ? "0" : item.getQualityFlag()); + channelDataHarmRateVHandler(item3,valueTypes,dto,true); + result.add(dto); + }); + }); + }); + } + }); + if (CollUtil.isNotEmpty(result)) { + //存储数据 + dataHarmRateVFeignClient.addList(result); + } + } + + @Override + public void dataInHarmIHandler(CalculatedParam calculatedParam) { + logger.info("{},dataInHarmI表转r_stat_data_inharm_i_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(calculatedParam.getIdList(),NUM); + pendingIds.forEach(list->{ + lineParam.setLineId(list); + //添加异常数据时间点 + getAbnormalData(lineParam); + //获取原始数据 + List partList = dataInharmIFeignClient.getBaseData(lineParam).getData(); + if (CollUtil.isNotEmpty(partList)) { + partList.forEach(item->{ + //相别 + List phasicTypeList = item.getPhasicTypeList(); + phasicTypeList.forEach(item2->{ + //数据类型 + List valueTypeList = item2.getValueTypeList(); + //获取平均值集合 + CommonMinuteDto.ValueType valueTypes = valueTypeList.stream().filter(type-> type.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.AVG_WEB)).findFirst().orElse(null); + valueTypeList.forEach(item3->{ + DataInHarmIDto dto = new DataInHarmIDto(); + dto.setTime(item.getTime()); + dto.setLineId(item.getLineId()); + dto.setPhasicType(item2.getPhasicType()); + dto.setValueType(item3.getValueType()); + dto.setQualityFlag(Objects.equals(item.getQualityFlag(),"null") ? "0" : item.getQualityFlag()); + channelDataInHarmIHandler(item3,valueTypes,dto,true); + result.add(dto); + }); + }); + }); + } + }); + if (CollUtil.isNotEmpty(result)) { + //存储数据 + dataInharmIFeignClient.addList(result); + } + } + + @Override + public void dataInHarmVHandler(CalculatedParam calculatedParam) { + logger.info("{},dataInHarmV表转r_stat_data_inharm_v_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(calculatedParam.getIdList(),NUM); + pendingIds.forEach(list->{ + lineParam.setLineId(list); + //添加异常数据时间点 + getAbnormalData(lineParam); + //获取原始数据 + List partList = dataInharmVFeignClient.getBaseData(lineParam).getData(); + if (CollUtil.isNotEmpty(partList)) { + partList.forEach(item->{ + //相别 + List phasicTypeList = item.getPhasicTypeList(); + phasicTypeList.forEach(item2->{ + //数据类型 + List valueTypeList = item2.getValueTypeList(); + //获取平均值集合 + CommonMinuteDto.ValueType valueTypes = valueTypeList.stream().filter(type-> type.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.AVG_WEB)).findFirst().orElse(null); + valueTypeList.forEach(item3->{ + DataInHarmVDto dto = new DataInHarmVDto(); + dto.setTime(item.getTime()); + dto.setLineId(item.getLineId()); + dto.setPhasicType(item2.getPhasicType()); + dto.setValueType(item3.getValueType()); + dto.setQualityFlag(Objects.equals(item.getQualityFlag(),"null") ? "0" : item.getQualityFlag()); + channelDataInHarmVHandler(item3,valueTypes,dto,true); + result.add(dto); + }); + }); + }); + } + }); + if (CollUtil.isNotEmpty(result)) { + //存储数据 + dataInharmVFeignClient.addList(result); + } + } + + @Override + public void dataPltHandler(CalculatedParam calculatedParam) { + logger.info("{},dataPlt表转r_stat_data_plt_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + List valueList = Arrays.asList("AVG","MAX","MIN","CP95"); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(calculatedParam.getIdList(),NUM); + pendingIds.forEach(list->{ + lineParam.setLineId(list); + //添加异常数据时间点 + getAbnormalData(lineParam); + //获取原始数据 + List partList = dataPltFeignClient.getBaseData(lineParam).getData(); + if (CollUtil.isNotEmpty(partList)) { + partList.forEach(item->{ + //相别 + List phasicTypeList = item.getPhasicTypeList(); + phasicTypeList.forEach(item2->{ + //数据类型 + List valueTypeList = item2.getValueTypeList(); + valueTypeList.forEach(item3->{ + valueList.forEach(item4->{ + DataPltDto dto = new DataPltDto(); + dto.setTime(item.getTime()); + dto.setLineId(item.getLineId()); + dto.setPhasicType(item2.getPhasicType()); + dto.setValueType(item4); + dto.setQualityFlag(Objects.equals(item.getQualityFlag(),"null") ? "0" : item.getQualityFlag()); + channelDataPltHandler(item3,dto,item4,true); + result.add(dto); + }); + }); + }); + }); + } + }); + if (CollUtil.isNotEmpty(result)) { + //存储数据 + dataPltFeignClient.addList(result); + } } //获取异常数据集合 @@ -873,6 +1153,347 @@ public class DayDataServiceImpl implements IDayDataService { dto.setQ50(getData(type,valueType.getValueList().get(50),scheme)); } + public void channelDataHarmPowerSHandler(CommonMinuteDto.ValueType pojo1, CommonMinuteDto.ValueType pojo2, DataHarmPowerSDto dto, boolean scheme) { + CommonMinuteDto.ValueType valueType; + String type; + if (dto.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.CP95) && !scheme) { + valueType = pojo2; + type = "CP95"; + } else { + valueType = pojo1; + type = pojo1.getValueType(); + } + //按照指标集合排列顺序取值 + dto.setS(getData(type,valueType.getValueList().get(0),scheme)); + + dto.setS1(getData(type,valueType.getValueList().get(1),scheme)); + dto.setS2(getData(type,valueType.getValueList().get(2),scheme)); + dto.setS3(getData(type,valueType.getValueList().get(3),scheme)); + dto.setS4(getData(type,valueType.getValueList().get(4),scheme)); + dto.setS5(getData(type,valueType.getValueList().get(5),scheme)); + dto.setS6(getData(type,valueType.getValueList().get(6),scheme)); + dto.setS7(getData(type,valueType.getValueList().get(7),scheme)); + dto.setS8(getData(type,valueType.getValueList().get(8),scheme)); + dto.setS9(getData(type,valueType.getValueList().get(9),scheme)); + dto.setS10(getData(type,valueType.getValueList().get(10),scheme)); + + dto.setS11(getData(type,valueType.getValueList().get(11),scheme)); + dto.setS12(getData(type,valueType.getValueList().get(12),scheme)); + dto.setS13(getData(type,valueType.getValueList().get(13),scheme)); + dto.setS14(getData(type,valueType.getValueList().get(14),scheme)); + dto.setS15(getData(type,valueType.getValueList().get(15),scheme)); + dto.setS16(getData(type,valueType.getValueList().get(16),scheme)); + dto.setS17(getData(type,valueType.getValueList().get(17),scheme)); + dto.setS18(getData(type,valueType.getValueList().get(18),scheme)); + dto.setS19(getData(type,valueType.getValueList().get(19),scheme)); + dto.setS20(getData(type,valueType.getValueList().get(20),scheme)); + + dto.setS21(getData(type,valueType.getValueList().get(21),scheme)); + dto.setS22(getData(type,valueType.getValueList().get(22),scheme)); + dto.setS23(getData(type,valueType.getValueList().get(23),scheme)); + dto.setS24(getData(type,valueType.getValueList().get(24),scheme)); + dto.setS25(getData(type,valueType.getValueList().get(25),scheme)); + dto.setS26(getData(type,valueType.getValueList().get(26),scheme)); + dto.setS27(getData(type,valueType.getValueList().get(27),scheme)); + dto.setS28(getData(type,valueType.getValueList().get(28),scheme)); + dto.setS29(getData(type,valueType.getValueList().get(29),scheme)); + dto.setS30(getData(type,valueType.getValueList().get(30),scheme)); + + dto.setS31(getData(type,valueType.getValueList().get(31),scheme)); + dto.setS32(getData(type,valueType.getValueList().get(32),scheme)); + dto.setS33(getData(type,valueType.getValueList().get(33),scheme)); + dto.setS34(getData(type,valueType.getValueList().get(34),scheme)); + dto.setS35(getData(type,valueType.getValueList().get(35),scheme)); + dto.setS36(getData(type,valueType.getValueList().get(36),scheme)); + dto.setS37(getData(type,valueType.getValueList().get(37),scheme)); + dto.setS38(getData(type,valueType.getValueList().get(38),scheme)); + dto.setS39(getData(type,valueType.getValueList().get(39),scheme)); + dto.setS40(getData(type,valueType.getValueList().get(40),scheme)); + + dto.setS41(getData(type,valueType.getValueList().get(41),scheme)); + dto.setS42(getData(type,valueType.getValueList().get(42),scheme)); + dto.setS43(getData(type,valueType.getValueList().get(43),scheme)); + dto.setS44(getData(type,valueType.getValueList().get(44),scheme)); + dto.setS45(getData(type,valueType.getValueList().get(45),scheme)); + dto.setS46(getData(type,valueType.getValueList().get(46),scheme)); + dto.setS47(getData(type,valueType.getValueList().get(47),scheme)); + dto.setS48(getData(type,valueType.getValueList().get(48),scheme)); + dto.setS49(getData(type,valueType.getValueList().get(49),scheme)); + dto.setS50(getData(type,valueType.getValueList().get(50),scheme)); + } + + public void channelDataHarmRateIHandler(CommonMinuteDto.ValueType pojo1, CommonMinuteDto.ValueType pojo2, DataHarmRateIDto dto, boolean scheme) { + CommonMinuteDto.ValueType valueType; + String type; + if (dto.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.CP95) && !scheme) { + valueType = pojo2; + type = "CP95"; + } else { + valueType = pojo1; + type = pojo1.getValueType(); + } + //按照指标集合排列顺序取值 + dto.setI1(getData(type,valueType.getValueList().get(0),scheme)); + dto.setI2(getData(type,valueType.getValueList().get(1),scheme)); + dto.setI3(getData(type,valueType.getValueList().get(2),scheme)); + dto.setI4(getData(type,valueType.getValueList().get(3),scheme)); + dto.setI5(getData(type,valueType.getValueList().get(4),scheme)); + dto.setI6(getData(type,valueType.getValueList().get(5),scheme)); + dto.setI7(getData(type,valueType.getValueList().get(6),scheme)); + dto.setI8(getData(type,valueType.getValueList().get(7),scheme)); + dto.setI9(getData(type,valueType.getValueList().get(8),scheme)); + dto.setI10(getData(type,valueType.getValueList().get(9),scheme)); + dto.setI11(getData(type,valueType.getValueList().get(10),scheme)); + + dto.setI12(getData(type,valueType.getValueList().get(11),scheme)); + dto.setI13(getData(type,valueType.getValueList().get(12),scheme)); + dto.setI14(getData(type,valueType.getValueList().get(13),scheme)); + dto.setI15(getData(type,valueType.getValueList().get(14),scheme)); + dto.setI16(getData(type,valueType.getValueList().get(15),scheme)); + dto.setI17(getData(type,valueType.getValueList().get(16),scheme)); + dto.setI18(getData(type,valueType.getValueList().get(17),scheme)); + dto.setI19(getData(type,valueType.getValueList().get(18),scheme)); + dto.setI20(getData(type,valueType.getValueList().get(19),scheme)); + dto.setI21(getData(type,valueType.getValueList().get(20),scheme)); + + dto.setI22(getData(type,valueType.getValueList().get(21),scheme)); + dto.setI23(getData(type,valueType.getValueList().get(22),scheme)); + dto.setI24(getData(type,valueType.getValueList().get(23),scheme)); + dto.setI25(getData(type,valueType.getValueList().get(24),scheme)); + dto.setI26(getData(type,valueType.getValueList().get(25),scheme)); + dto.setI27(getData(type,valueType.getValueList().get(26),scheme)); + dto.setI28(getData(type,valueType.getValueList().get(27),scheme)); + dto.setI29(getData(type,valueType.getValueList().get(28),scheme)); + dto.setI30(getData(type,valueType.getValueList().get(29),scheme)); + dto.setI31(getData(type,valueType.getValueList().get(30),scheme)); + + dto.setI32(getData(type,valueType.getValueList().get(31),scheme)); + dto.setI33(getData(type,valueType.getValueList().get(32),scheme)); + dto.setI34(getData(type,valueType.getValueList().get(33),scheme)); + dto.setI35(getData(type,valueType.getValueList().get(34),scheme)); + dto.setI36(getData(type,valueType.getValueList().get(35),scheme)); + dto.setI37(getData(type,valueType.getValueList().get(36),scheme)); + dto.setI38(getData(type,valueType.getValueList().get(37),scheme)); + dto.setI39(getData(type,valueType.getValueList().get(38),scheme)); + dto.setI40(getData(type,valueType.getValueList().get(39),scheme)); + + dto.setI41(getData(type,valueType.getValueList().get(40),scheme)); + dto.setI42(getData(type,valueType.getValueList().get(41),scheme)); + dto.setI43(getData(type,valueType.getValueList().get(42),scheme)); + dto.setI44(getData(type,valueType.getValueList().get(43),scheme)); + dto.setI45(getData(type,valueType.getValueList().get(44),scheme)); + dto.setI46(getData(type,valueType.getValueList().get(45),scheme)); + dto.setI47(getData(type,valueType.getValueList().get(46),scheme)); + dto.setI48(getData(type,valueType.getValueList().get(47),scheme)); + dto.setI49(getData(type,valueType.getValueList().get(48),scheme)); + dto.setI50(getData(type,valueType.getValueList().get(50),scheme)); + } + + public void channelDataHarmRateVHandler(CommonMinuteDto.ValueType pojo1, CommonMinuteDto.ValueType pojo2, DataHarmRateVDto dto, boolean scheme) { + CommonMinuteDto.ValueType valueType; + String type; + if (dto.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.CP95) && !scheme) { + valueType = pojo2; + type = "CP95"; + } else { + valueType = pojo1; + type = pojo1.getValueType(); + } + //按照指标集合排列顺序取值 + dto.setV1(getData(type,valueType.getValueList().get(0),scheme)); + dto.setV2(getData(type,valueType.getValueList().get(1),scheme)); + dto.setV3(getData(type,valueType.getValueList().get(2),scheme)); + dto.setV4(getData(type,valueType.getValueList().get(3),scheme)); + dto.setV5(getData(type,valueType.getValueList().get(4),scheme)); + dto.setV6(getData(type,valueType.getValueList().get(5),scheme)); + dto.setV7(getData(type,valueType.getValueList().get(6),scheme)); + dto.setV8(getData(type,valueType.getValueList().get(7),scheme)); + dto.setV9(getData(type,valueType.getValueList().get(8),scheme)); + dto.setV10(getData(type,valueType.getValueList().get(9),scheme)); + dto.setV11(getData(type,valueType.getValueList().get(10),scheme)); + + dto.setV12(getData(type,valueType.getValueList().get(11),scheme)); + dto.setV13(getData(type,valueType.getValueList().get(12),scheme)); + dto.setV14(getData(type,valueType.getValueList().get(13),scheme)); + dto.setV15(getData(type,valueType.getValueList().get(14),scheme)); + dto.setV16(getData(type,valueType.getValueList().get(15),scheme)); + dto.setV17(getData(type,valueType.getValueList().get(16),scheme)); + dto.setV18(getData(type,valueType.getValueList().get(17),scheme)); + dto.setV19(getData(type,valueType.getValueList().get(18),scheme)); + dto.setV20(getData(type,valueType.getValueList().get(19),scheme)); + dto.setV21(getData(type,valueType.getValueList().get(20),scheme)); + + dto.setV22(getData(type,valueType.getValueList().get(21),scheme)); + dto.setV23(getData(type,valueType.getValueList().get(22),scheme)); + dto.setV24(getData(type,valueType.getValueList().get(23),scheme)); + dto.setV25(getData(type,valueType.getValueList().get(24),scheme)); + dto.setV26(getData(type,valueType.getValueList().get(25),scheme)); + dto.setV27(getData(type,valueType.getValueList().get(26),scheme)); + dto.setV28(getData(type,valueType.getValueList().get(27),scheme)); + dto.setV29(getData(type,valueType.getValueList().get(28),scheme)); + dto.setV30(getData(type,valueType.getValueList().get(29),scheme)); + dto.setV31(getData(type,valueType.getValueList().get(30),scheme)); + + dto.setV32(getData(type,valueType.getValueList().get(31),scheme)); + dto.setV33(getData(type,valueType.getValueList().get(32),scheme)); + dto.setV34(getData(type,valueType.getValueList().get(33),scheme)); + dto.setV35(getData(type,valueType.getValueList().get(34),scheme)); + dto.setV36(getData(type,valueType.getValueList().get(35),scheme)); + dto.setV37(getData(type,valueType.getValueList().get(36),scheme)); + dto.setV38(getData(type,valueType.getValueList().get(37),scheme)); + dto.setV39(getData(type,valueType.getValueList().get(38),scheme)); + dto.setV40(getData(type,valueType.getValueList().get(39),scheme)); + + dto.setV41(getData(type,valueType.getValueList().get(40),scheme)); + dto.setV42(getData(type,valueType.getValueList().get(41),scheme)); + dto.setV43(getData(type,valueType.getValueList().get(42),scheme)); + dto.setV44(getData(type,valueType.getValueList().get(43),scheme)); + dto.setV45(getData(type,valueType.getValueList().get(44),scheme)); + dto.setV46(getData(type,valueType.getValueList().get(45),scheme)); + dto.setV47(getData(type,valueType.getValueList().get(46),scheme)); + dto.setV48(getData(type,valueType.getValueList().get(47),scheme)); + dto.setV49(getData(type,valueType.getValueList().get(48),scheme)); + dto.setV50(getData(type,valueType.getValueList().get(50),scheme)); + } + + public void channelDataInHarmIHandler(CommonMinuteDto.ValueType pojo1, CommonMinuteDto.ValueType pojo2, DataInHarmIDto dto, boolean scheme) { + CommonMinuteDto.ValueType valueType; + String type; + if (dto.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.CP95) && !scheme) { + valueType = pojo2; + type = "CP95"; + } else { + valueType = pojo1; + type = pojo1.getValueType(); + } + //按照指标集合排列顺序取值 + dto.setI1(getData(type,valueType.getValueList().get(0),scheme)); + dto.setI2(getData(type,valueType.getValueList().get(1),scheme)); + dto.setI3(getData(type,valueType.getValueList().get(2),scheme)); + dto.setI4(getData(type,valueType.getValueList().get(3),scheme)); + dto.setI5(getData(type,valueType.getValueList().get(4),scheme)); + dto.setI6(getData(type,valueType.getValueList().get(5),scheme)); + dto.setI7(getData(type,valueType.getValueList().get(6),scheme)); + dto.setI8(getData(type,valueType.getValueList().get(7),scheme)); + dto.setI9(getData(type,valueType.getValueList().get(8),scheme)); + dto.setI10(getData(type,valueType.getValueList().get(9),scheme)); + dto.setI11(getData(type,valueType.getValueList().get(10),scheme)); + + dto.setI12(getData(type,valueType.getValueList().get(11),scheme)); + dto.setI13(getData(type,valueType.getValueList().get(12),scheme)); + dto.setI14(getData(type,valueType.getValueList().get(13),scheme)); + dto.setI15(getData(type,valueType.getValueList().get(14),scheme)); + dto.setI16(getData(type,valueType.getValueList().get(15),scheme)); + dto.setI17(getData(type,valueType.getValueList().get(16),scheme)); + dto.setI18(getData(type,valueType.getValueList().get(17),scheme)); + dto.setI19(getData(type,valueType.getValueList().get(18),scheme)); + dto.setI20(getData(type,valueType.getValueList().get(19),scheme)); + dto.setI21(getData(type,valueType.getValueList().get(20),scheme)); + + dto.setI22(getData(type,valueType.getValueList().get(21),scheme)); + dto.setI23(getData(type,valueType.getValueList().get(22),scheme)); + dto.setI24(getData(type,valueType.getValueList().get(23),scheme)); + dto.setI25(getData(type,valueType.getValueList().get(24),scheme)); + dto.setI26(getData(type,valueType.getValueList().get(25),scheme)); + dto.setI27(getData(type,valueType.getValueList().get(26),scheme)); + dto.setI28(getData(type,valueType.getValueList().get(27),scheme)); + dto.setI29(getData(type,valueType.getValueList().get(28),scheme)); + dto.setI30(getData(type,valueType.getValueList().get(29),scheme)); + dto.setI31(getData(type,valueType.getValueList().get(30),scheme)); + + dto.setI32(getData(type,valueType.getValueList().get(31),scheme)); + dto.setI33(getData(type,valueType.getValueList().get(32),scheme)); + dto.setI34(getData(type,valueType.getValueList().get(33),scheme)); + dto.setI35(getData(type,valueType.getValueList().get(34),scheme)); + dto.setI36(getData(type,valueType.getValueList().get(35),scheme)); + dto.setI37(getData(type,valueType.getValueList().get(36),scheme)); + dto.setI38(getData(type,valueType.getValueList().get(37),scheme)); + dto.setI39(getData(type,valueType.getValueList().get(38),scheme)); + dto.setI40(getData(type,valueType.getValueList().get(39),scheme)); + + dto.setI41(getData(type,valueType.getValueList().get(40),scheme)); + dto.setI42(getData(type,valueType.getValueList().get(41),scheme)); + dto.setI43(getData(type,valueType.getValueList().get(42),scheme)); + dto.setI44(getData(type,valueType.getValueList().get(43),scheme)); + dto.setI45(getData(type,valueType.getValueList().get(44),scheme)); + dto.setI46(getData(type,valueType.getValueList().get(45),scheme)); + dto.setI47(getData(type,valueType.getValueList().get(46),scheme)); + dto.setI48(getData(type,valueType.getValueList().get(47),scheme)); + dto.setI49(getData(type,valueType.getValueList().get(48),scheme)); + dto.setI50(getData(type,valueType.getValueList().get(50),scheme)); + } + + public void channelDataInHarmVHandler(CommonMinuteDto.ValueType pojo1, CommonMinuteDto.ValueType pojo2, DataInHarmVDto dto, boolean scheme) { + CommonMinuteDto.ValueType valueType; + String type; + if (dto.getValueType().equalsIgnoreCase(InfluxDbSqlConstant.CP95) && !scheme) { + valueType = pojo2; + type = "CP95"; + } else { + valueType = pojo1; + type = pojo1.getValueType(); + } + //按照指标集合排列顺序取值 + dto.setV1(getData(type,valueType.getValueList().get(0),scheme)); + dto.setV2(getData(type,valueType.getValueList().get(1),scheme)); + dto.setV3(getData(type,valueType.getValueList().get(2),scheme)); + dto.setV4(getData(type,valueType.getValueList().get(3),scheme)); + dto.setV5(getData(type,valueType.getValueList().get(4),scheme)); + dto.setV6(getData(type,valueType.getValueList().get(5),scheme)); + dto.setV7(getData(type,valueType.getValueList().get(6),scheme)); + dto.setV8(getData(type,valueType.getValueList().get(7),scheme)); + dto.setV9(getData(type,valueType.getValueList().get(8),scheme)); + dto.setV10(getData(type,valueType.getValueList().get(9),scheme)); + dto.setV11(getData(type,valueType.getValueList().get(10),scheme)); + + dto.setV12(getData(type,valueType.getValueList().get(11),scheme)); + dto.setV13(getData(type,valueType.getValueList().get(12),scheme)); + dto.setV14(getData(type,valueType.getValueList().get(13),scheme)); + dto.setV15(getData(type,valueType.getValueList().get(14),scheme)); + dto.setV16(getData(type,valueType.getValueList().get(15),scheme)); + dto.setV17(getData(type,valueType.getValueList().get(16),scheme)); + dto.setV18(getData(type,valueType.getValueList().get(17),scheme)); + dto.setV19(getData(type,valueType.getValueList().get(18),scheme)); + dto.setV20(getData(type,valueType.getValueList().get(19),scheme)); + dto.setV21(getData(type,valueType.getValueList().get(20),scheme)); + + dto.setV22(getData(type,valueType.getValueList().get(21),scheme)); + dto.setV23(getData(type,valueType.getValueList().get(22),scheme)); + dto.setV24(getData(type,valueType.getValueList().get(23),scheme)); + dto.setV25(getData(type,valueType.getValueList().get(24),scheme)); + dto.setV26(getData(type,valueType.getValueList().get(25),scheme)); + dto.setV27(getData(type,valueType.getValueList().get(26),scheme)); + dto.setV28(getData(type,valueType.getValueList().get(27),scheme)); + dto.setV29(getData(type,valueType.getValueList().get(28),scheme)); + dto.setV30(getData(type,valueType.getValueList().get(29),scheme)); + dto.setV31(getData(type,valueType.getValueList().get(30),scheme)); + + dto.setV32(getData(type,valueType.getValueList().get(31),scheme)); + dto.setV33(getData(type,valueType.getValueList().get(32),scheme)); + dto.setV34(getData(type,valueType.getValueList().get(33),scheme)); + dto.setV35(getData(type,valueType.getValueList().get(34),scheme)); + dto.setV36(getData(type,valueType.getValueList().get(35),scheme)); + dto.setV37(getData(type,valueType.getValueList().get(36),scheme)); + dto.setV38(getData(type,valueType.getValueList().get(37),scheme)); + dto.setV39(getData(type,valueType.getValueList().get(38),scheme)); + dto.setV40(getData(type,valueType.getValueList().get(39),scheme)); + + dto.setV41(getData(type,valueType.getValueList().get(40),scheme)); + dto.setV42(getData(type,valueType.getValueList().get(41),scheme)); + dto.setV43(getData(type,valueType.getValueList().get(42),scheme)); + dto.setV44(getData(type,valueType.getValueList().get(43),scheme)); + dto.setV45(getData(type,valueType.getValueList().get(44),scheme)); + dto.setV46(getData(type,valueType.getValueList().get(45),scheme)); + dto.setV47(getData(type,valueType.getValueList().get(46),scheme)); + dto.setV48(getData(type,valueType.getValueList().get(47),scheme)); + dto.setV49(getData(type,valueType.getValueList().get(48),scheme)); + dto.setV50(getData(type,valueType.getValueList().get(50),scheme)); + } + + public void channelDataPltHandler(CommonMinuteDto.ValueType pojo1, DataPltDto dto, String valueType, boolean scheme) { + dto.setPlt(getData(valueType,pojo1.getValueList().get(0),scheme)); + } + //数据类型处理 //cp95值的计算有点区别,会用到cp95的集合或者平均值的集合 public Double getData(String valueType, List list, boolean scheme) { diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateIFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateIFeignClient.java new file mode 100644 index 0000000..c74ce38 --- /dev/null +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateIFeignClient.java @@ -0,0 +1,27 @@ +package com.njcn.dataProcess.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.dataProcess.api.fallback.DataHarmRateIFeignClientFallbackFactory; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author xy + */ +@FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/dataHarmRateI", fallbackFactory = DataHarmRateIFeignClientFallbackFactory.class, contextId = "dataHarmRateI") +public interface DataHarmRateIFeignClient { + + @PostMapping("/getBaseData") + HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/addList") + HttpResult addList(@RequestBody List list); + +} diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateVFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateVFeignClient.java index 467a9af..b8e784e 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateVFeignClient.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmRateVFeignClient.java @@ -4,7 +4,9 @@ import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.fallback.DataHarmRateVFeignClientFallbackFactory; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -20,4 +22,10 @@ public interface DataHarmRateVFeignClient { @PostMapping("/getRawData") HttpResult> getRawData(@RequestBody LineCountEvaluateParam lineParam); + @PostMapping("/getBaseData") + HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/addList") + HttpResult addList(@RequestBody List list); + } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmpowerSFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmpowerSFeignClient.java index 2695da4..7e2097e 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmpowerSFeignClient.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataHarmpowerSFeignClient.java @@ -2,9 +2,11 @@ package com.njcn.dataProcess.api; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; - import com.njcn.dataProcess.api.fallback.DataIFeignClientFallbackFactory; import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -24,4 +26,10 @@ public interface DataHarmpowerSFeignClient { @PostMapping("/batchInsertion") HttpResult batchInsertion(@RequestBody List dataHarmpowerSDTOList); + @PostMapping("/getBaseData") + HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/addList") + HttpResult addList(@RequestBody List data); + } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmIFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmIFeignClient.java index 5359178..2e6911b 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmIFeignClient.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmIFeignClient.java @@ -5,6 +5,10 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.fallback.DataInharmIFeignClientFallbackFactory; import com.njcn.dataProcess.dto.DataInharmIDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -19,9 +23,13 @@ import java.util.List; @FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/dataInharmI", fallbackFactory = DataInharmIFeignClientFallbackFactory.class, contextId = "dataInharmI") public interface DataInharmIFeignClient { - - @PostMapping("/batchInsertion") HttpResult batchInsertion(@RequestBody List dataInharmIDTOList); + @PostMapping("/getBaseData") + HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/addList") + HttpResult addList(@RequestBody List list); + } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmVFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmVFeignClient.java index 5ef1f86..e9115cb 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmVFeignClient.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataInharmVFeignClient.java @@ -6,7 +6,10 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.fallback.DataInharmVFeignClientFallbackFactory; import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmVDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -29,4 +32,10 @@ public interface DataInharmVFeignClient { @PostMapping("/getRawData") HttpResult> getRawData(@RequestBody LineCountEvaluateParam lineParam); + @PostMapping("/getBaseData") + HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/addList") + HttpResult addList(@RequestBody List list); + } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataPltFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataPltFeignClient.java index 167b412..7abe494 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataPltFeignClient.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/DataPltFeignClient.java @@ -5,6 +5,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.fallback.DataPltFeignClientFallbackFactory; import com.njcn.dataProcess.dto.DataPltDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataPltDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -28,4 +29,10 @@ public interface DataPltFeignClient { @PostMapping("/getRawData") HttpResult> getRawData(@RequestBody LineCountEvaluateParam lineParam); + @PostMapping("/getBaseData") + HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/addList") + HttpResult addList(@RequestBody List list); + } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateIFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateIFeignClientFallbackFactory.java new file mode 100644 index 0000000..ee6d32e --- /dev/null +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateIFeignClientFallbackFactory.java @@ -0,0 +1,55 @@ +package com.njcn.dataProcess.api.fallback; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.dataProcess.api.DataHarmRateIFeignClient; +import com.njcn.dataProcess.api.DataHarmRateVFeignClient; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto; +import com.njcn.dataProcess.util.DataProcessingEnumUtil; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author xy + */ +@Slf4j +@Component +public class DataHarmRateIFeignClientFallbackFactory implements FallbackFactory { + + /** + * 输出远程请求接口异常日志 + * @param cause RPC请求异常 + */ + @Override + public DataHarmRateIFeignClient create(Throwable cause) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if(cause.getCause() instanceof BusinessException){ + BusinessException businessException = (BusinessException) cause.getCause(); + exceptionEnum = DataProcessingEnumUtil.getExceptionEnum(businessException.getResult()); + } + Enum finalExceptionEnum = exceptionEnum; + return new DataHarmRateIFeignClient() { + + @Override + public HttpResult> getBaseData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取预处理数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult addList(List list) { + log.error("{}异常,降级处理,异常为:{}","日表存储数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + }; + } +} diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateVFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateVFeignClientFallbackFactory.java index 694f1b6..cd228d8 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateVFeignClientFallbackFactory.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmRateVFeignClientFallbackFactory.java @@ -5,7 +5,9 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.DataHarmRateVFeignClient; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; import com.njcn.dataProcess.util.DataProcessingEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -41,6 +43,18 @@ public class DataHarmRateVFeignClientFallbackFactory implements FallbackFactory< throw new BusinessException(finalExceptionEnum); } + @Override + public HttpResult> getBaseData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取预处理数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult addList(List list) { + log.error("{}异常,降级处理,异常为:{}","日表存储数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmpowerSFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmpowerSFeignClientFallbackFactory.java index 06133d2..a293624 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmpowerSFeignClientFallbackFactory.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataHarmpowerSFeignClientFallbackFactory.java @@ -5,6 +5,9 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.DataHarmpowerSFeignClient; import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; import com.njcn.dataProcess.util.DataProcessingEnumUtil; import com.njcn.system.utils.SystemEnumUtil; import feign.hystrix.FallbackFactory; @@ -44,6 +47,18 @@ public class DataHarmpowerSFeignClientFallbackFactory implements FallbackFactory throw new BusinessException(finalExceptionEnum); } + @Override + public HttpResult> getBaseData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取预处理数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult addList(List data) { + log.error("{}异常,降级处理,异常为:{}","日表存储数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmIFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmIFeignClientFallbackFactory.java index c9dd021..31b952d 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmIFeignClientFallbackFactory.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmIFeignClientFallbackFactory.java @@ -5,6 +5,9 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.DataInharmIFeignClient; import com.njcn.dataProcess.dto.DataInharmIDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; import com.njcn.dataProcess.util.DataProcessingEnumUtil; import com.njcn.system.utils.SystemEnumUtil; import feign.hystrix.FallbackFactory; @@ -44,6 +47,18 @@ public class DataInharmIFeignClientFallbackFactory implements FallbackFactory> getBaseData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取预处理数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult addList(List list) { + log.error("{}异常,降级处理,异常为:{}","日表存储数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmVFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmVFeignClientFallbackFactory.java index bf3defa..aa69395 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmVFeignClientFallbackFactory.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataInharmVFeignClientFallbackFactory.java @@ -6,7 +6,9 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.DataInharmVFeignClient; import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmVDto; import com.njcn.dataProcess.util.DataProcessingEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -51,6 +53,18 @@ public class DataInharmVFeignClientFallbackFactory implements FallbackFactory> getBaseData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取预处理数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult addList(List list) { + log.error("{}异常,降级处理,异常为:{}","日表存储数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataPltFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataPltFeignClientFallbackFactory.java index d952de3..443738b 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataPltFeignClientFallbackFactory.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/DataPltFeignClientFallbackFactory.java @@ -6,6 +6,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.DataPltFeignClient; import com.njcn.dataProcess.dto.DataPltDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataPltDto; import com.njcn.dataProcess.util.DataProcessingEnumUtil; import feign.hystrix.FallbackFactory; @@ -51,6 +52,18 @@ public class DataPltFeignClientFallbackFactory implements FallbackFactory> getBaseData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取预处理数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult addList(List list) { + log.error("{}异常,降级处理,异常为:{}","日表存储数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateIController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateIController.java new file mode 100644 index 0000000..5f6cc48 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateIController.java @@ -0,0 +1,66 @@ +package com.njcn.dataProcess.controller; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.dataProcess.annotation.InsertBean; +import com.njcn.dataProcess.annotation.QueryBean; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto; +import com.njcn.dataProcess.service.IDataHarmRateI; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Controller; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author xy + * @version 1.0 + * @data 2025/3/3 10:00 + */ +@Validated +@Slf4j +@Controller +@RestController +@RequestMapping("/dataHarmRateI") +@Api(tags = "谐波电流含有率") +public class DataHarmRateIController extends BaseController { + + @QueryBean + private IDataHarmRateI dataHarmRateIQuery; + + @InsertBean + private IDataHarmRateI dataHarmRateIInsert; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY) + @PostMapping("/getBaseData") + @ApiOperation("获取算法基础数据") + public HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getBaseData"); + List data = dataHarmRateIQuery.getBaseData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/addList") + @ApiOperation("关系型数据库插入数据") + public HttpResult addList(@RequestBody List list) { + String methodDescribe = getMethodDescribe("addList"); + dataHarmRateIInsert.addList(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe); + } + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateVController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateVController.java index d9f21be..6d7e400 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateVController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmRateVController.java @@ -10,7 +10,9 @@ import com.njcn.dataProcess.annotation.InsertBean; import com.njcn.dataProcess.annotation.QueryBean; import com.njcn.dataProcess.dto.DataHarmrateVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; import com.njcn.dataProcess.service.IDataHarmRateV; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -63,4 +65,22 @@ public class DataHarmRateVController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY) + @PostMapping("/getBaseData") + @ApiOperation("获取算法基础数据") + public HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getBaseData"); + List data = dataHarmRateVQuery.getBaseData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/addList") + @ApiOperation("关系型数据库插入数据") + public HttpResult addList(@RequestBody List list) { + String methodDescribe = getMethodDescribe("addList"); + dataHarmRateVInsert.addList(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe); + } + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmpowerSController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmpowerSController.java index c09aff1..c1d44de 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmpowerSController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataHarmpowerSController.java @@ -9,6 +9,10 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.dataProcess.dto.DataHarmpowerSDTO; import com.njcn.dataProcess.annotation.InsertBean; import com.njcn.dataProcess.annotation.QueryBean; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerQDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; import com.njcn.dataProcess.service.IDataHarmpowerS; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -52,9 +56,22 @@ public class DataHarmpowerSController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY) + @PostMapping("/getBaseData") + @ApiOperation("获取算法基础数据") + public HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getBaseData"); + List data = dataHarmpowerSQuery.getBaseData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); + } - - - + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/addList") + @ApiOperation("关系型数据库插入数据") + public HttpResult addList(@RequestBody List list) { + String methodDescribe = getMethodDescribe("addList"); + dataHarmpowerSInsert.addList(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmIController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmIController.java index 2be1bfc..4fe44d2 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmIController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmIController.java @@ -6,9 +6,12 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.dataProcess.dto.DataInharmIDTO; import com.njcn.dataProcess.annotation.InsertBean; import com.njcn.dataProcess.annotation.QueryBean; +import com.njcn.dataProcess.dto.DataInharmIDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; import com.njcn.dataProcess.service.IDataInharmI; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -53,9 +56,22 @@ public class DataInharmIController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY) + @PostMapping("/getBaseData") + @ApiOperation("获取算法基础数据") + public HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getBaseData"); + List data = dataInharmIQuery.getBaseData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); + } - - - + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/addList") + @ApiOperation("关系型数据库插入数据") + public HttpResult addList(@RequestBody List list) { + String methodDescribe = getMethodDescribe("addList"); + dataInharmIInsert.addList(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmVController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmVController.java index 0f33268..e40a3fa 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmVController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataInharmVController.java @@ -6,11 +6,13 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.annotation.InsertBean; import com.njcn.dataProcess.annotation.QueryBean; +import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmVDto; import com.njcn.dataProcess.service.IDataInharmV; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -64,5 +66,23 @@ public class DataInharmVController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY) + @PostMapping("/getBaseData") + @ApiOperation("获取算法基础数据") + public HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getBaseData"); + List data = dataInharmVQuery.getBaseData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/addList") + @ApiOperation("关系型数据库插入数据") + public HttpResult addList(@RequestBody List list) { + String methodDescribe = getMethodDescribe("addList"); + dataInharmVInsert.addList(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe); + } + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataPltController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataPltController.java index b047ddc..eaccf94 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataPltController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataPltController.java @@ -10,6 +10,7 @@ import com.njcn.dataProcess.annotation.InsertBean; import com.njcn.dataProcess.annotation.QueryBean; import com.njcn.dataProcess.dto.DataPltDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataPltDto; import com.njcn.dataProcess.service.IDataPlt; import com.njcn.web.controller.BaseController; @@ -64,5 +65,22 @@ public class DataPltController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.QUERY) + @PostMapping("/getBaseData") + @ApiOperation("获取算法基础数据") + public HttpResult> getBaseData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getBaseData"); + List data = dataPltQuery.getBaseData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/addList") + @ApiOperation("关系型数据库插入数据") + public HttpResult addList(@RequestBody List list) { + String methodDescribe = getMethodDescribe("addList"); + dataPltInsert.addList(list); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "", methodDescribe); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateIMapper.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateIMapper.java new file mode 100644 index 0000000..f932e05 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateIMapper.java @@ -0,0 +1,11 @@ +package com.njcn.dataProcess.dao.imapper; + +import com.njcn.dataProcess.po.influx.DataHarmrateI; +import com.njcn.influx.base.InfluxDbBaseMapper; + +/** + * @author xy + */ +public interface DataHarmRateIMapper extends InfluxDbBaseMapper { + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateVMapper.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateVMapper.java deleted file mode 100644 index 63303ad..0000000 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmRateVMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.njcn.dataProcess.dao.imapper; - -import com.njcn.dataProcess.po.influx.DataHarmrateV; -import com.njcn.influx.base.InfluxDbBaseMapper; - - -/** - * @author xy - */ -public interface DataHarmRateVMapper extends InfluxDbBaseMapper { - - - -} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmrateVMapper.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmrateVMapper.java index 63303ad..16a2805 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmrateVMapper.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/dao/imapper/DataHarmrateVMapper.java @@ -3,12 +3,9 @@ package com.njcn.dataProcess.dao.imapper; import com.njcn.dataProcess.po.influx.DataHarmrateV; import com.njcn.influx.base.InfluxDbBaseMapper; - /** * @author xy */ public interface DataHarmRateVMapper extends InfluxDbBaseMapper { - - } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateI.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateI.java new file mode 100644 index 0000000..09eeb99 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateI.java @@ -0,0 +1,27 @@ +package com.njcn.dataProcess.service; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmRateID; + +import java.util.List; + +/** + * @author xy + */ +public interface IDataHarmRateI extends IMppService { + + /** + * 获取预处理数据 + * @param lineParam 监测点参数 + */ + List getBaseData(LineCountEvaluateParam lineParam); + + /** + * 批量插入数据 + */ + void addList(List list); + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateV.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateV.java index 541cf47..b3dcd04 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateV.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmRateV.java @@ -1,8 +1,12 @@ package com.njcn.dataProcess.service; +import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.dataProcess.dto.DataHarmrateVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD; import java.util.List; @@ -10,7 +14,7 @@ import java.util.List; * @author xy */ public interface -IDataHarmRateV { +IDataHarmRateV extends IMppService { /** * 获取原始数据 @@ -20,4 +24,15 @@ IDataHarmRateV { List getRawData(LineCountEvaluateParam lineParam); void batchInsertion (List dataHarmrateVDTOList); + + /** + * 获取预处理数据 + * @param lineParam 监测点参数 + */ + List getBaseData(LineCountEvaluateParam lineParam); + + /** + * 批量插入数据 + */ + void addList(List list); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmpowerS.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmpowerS.java index 3b18f27..9da3c56 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmpowerS.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataHarmpowerS.java @@ -1,6 +1,11 @@ package com.njcn.dataProcess.service; +import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmPowerSD; import java.util.List; @@ -11,6 +16,17 @@ import java.util.List; * @author clam * @version V1.0.0 */ -public interface IDataHarmpowerS { +public interface IDataHarmpowerS extends IMppService { void batchInsertion(List dataIDTOList); + + /** + * 获取预处理数据 + * @param lineParam 监测点参数 + */ + List getBaseData(LineCountEvaluateParam lineParam); + + /** + * 批量插入数据 + */ + void addList(List list); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmI.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmI.java index 6d3d209..b051d9e 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmI.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmI.java @@ -1,6 +1,11 @@ package com.njcn.dataProcess.service; +import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.dataProcess.dto.DataInharmIDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; +import com.njcn.dataProcess.pojo.po.RStatDataInHarmID; import java.util.List; @@ -11,7 +16,18 @@ import java.util.List; * @author clam * @version V1.0.0 */ -public interface IDataInharmI { +public interface IDataInharmI extends IMppService { void batchInsertion(List dataIDTOList); + + /** + * 获取预处理数据 + * @param lineParam 监测点参数 + */ + List getBaseData(LineCountEvaluateParam lineParam); + + /** + * 批量插入数据 + */ + void addList(List list); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmV.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmV.java index 190559b..bbd11af 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmV.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataInharmV.java @@ -1,8 +1,12 @@ package com.njcn.dataProcess.service; +import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmVDto; +import com.njcn.dataProcess.pojo.po.RStatDataInHarmVD; import java.util.List; @@ -13,7 +17,7 @@ import java.util.List; * @author clam * @version V1.0.0 */ -public interface IDataInharmV { +public interface IDataInharmV extends IMppService { void batchInsertion(List dataIDTOList); @@ -23,4 +27,16 @@ public interface IDataInharmV { * @return */ List getRawData(LineCountEvaluateParam lineParam); + + /** + * 获取预处理数据 + * @param lineParam 监测点参数 + */ + List getBaseData(LineCountEvaluateParam lineParam); + + /** + * 批量插入数据 + */ + void addList(List list); + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataPlt.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataPlt.java index eb64703..8c3d499 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataPlt.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IDataPlt.java @@ -1,9 +1,11 @@ package com.njcn.dataProcess.service; +import com.github.jeffreyning.mybatisplus.service.IMppService; import com.njcn.dataProcess.dto.DataPltDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; -import com.njcn.dataProcess.pojo.dto.DataIDto; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataPltDto; +import com.njcn.dataProcess.pojo.po.RStatDataPltD; import java.util.List; @@ -14,7 +16,7 @@ import java.util.List; * @author clam * @version V1.0.0 */ -public interface IDataPlt { +public interface IDataPlt extends IMppService { void batchInsertion(List dataPltDTOList); /** @@ -23,4 +25,15 @@ public interface IDataPlt { * @return */ List getRawData(LineCountEvaluateParam lineParam); + + /** + * 获取预处理数据 + * @param lineParam 监测点参数 + */ + List getBaseData(LineCountEvaluateParam lineParam); + + /** + * 批量插入数据 + */ + void addList(List list); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateIImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateIImpl.java new file mode 100644 index 0000000..175c0a5 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateIImpl.java @@ -0,0 +1,190 @@ +package com.njcn.dataProcess.service.impl.influxdb; + +import cn.hutool.core.collection.CollectionUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.common.utils.HarmonicTimesUtil; +import com.njcn.dataProcess.dao.imapper.DataHarmRateIMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateIRelationMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.po.influx.DataHarmrateI; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmRateID; +import com.njcn.dataProcess.service.IDataHarmRateI; +import com.njcn.dataProcess.util.TimeUtils; +import com.njcn.influx.constant.InfluxDbSqlConstant; +import com.njcn.influx.query.InfluxQueryWrapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author xy + */ +@Service("InfluxdbDataHarmRateIImpl") +public class InfluxdbDataHarmRateIImpl extends MppServiceImpl implements IDataHarmRateI { + + private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()); + @Resource + private DataHarmRateIMapper dataHarmRateIMapper; + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + List data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime()); + if (CollectionUtil.isNotEmpty(data)) { + String time = TimeUtils.StringTimeToString(lineParam.getStartTime()); + //以监测点分组 + Map> lineMap = data.stream().collect(Collectors.groupingBy(DataHarmrateI::getLineId)); + lineMap.forEach((line,lineList)->{ + CommonMinuteDto dto = new CommonMinuteDto(); + dto.setLineId(line); + dto.setTime(time); + dto.setQualityFlag(lineList.get(0).getQualityFlag()); + //以相别分组 + Map> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataHarmrateI::getPhasicType)); + List phasicTypes = new ArrayList<>(); + phasicTypeMap.forEach((phasicType,phasicTypeList)->{ + CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType(); + type.setPhasicType(phasicType); + //以数据类型分组 + Map> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataHarmrateI::getValueType)); + List valueTypes = new ArrayList<>(); + valueTypeMap.forEach((valueType,valueTypeList)->{ + CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); + value.setValueType(valueType); + //规定好集合指标参数 + List data12 = valueTypeList.stream().map(DataHarmrateI::getI1).collect(Collectors.toList()); + List data13 = valueTypeList.stream().map(DataHarmrateI::getI2).collect(Collectors.toList()); + List data14 = valueTypeList.stream().map(DataHarmrateI::getI3).collect(Collectors.toList()); + List data15 = valueTypeList.stream().map(DataHarmrateI::getI4).collect(Collectors.toList()); + List data16 = valueTypeList.stream().map(DataHarmrateI::getI5).collect(Collectors.toList()); + List data17 = valueTypeList.stream().map(DataHarmrateI::getI6).collect(Collectors.toList()); + List data18 = valueTypeList.stream().map(DataHarmrateI::getI7).collect(Collectors.toList()); + List data19 = valueTypeList.stream().map(DataHarmrateI::getI8).collect(Collectors.toList()); + List data20 = valueTypeList.stream().map(DataHarmrateI::getI9).collect(Collectors.toList()); + List data21 = valueTypeList.stream().map(DataHarmrateI::getI10).collect(Collectors.toList()); + List data22 = valueTypeList.stream().map(DataHarmrateI::getI11).collect(Collectors.toList()); + List data23 = valueTypeList.stream().map(DataHarmrateI::getI12).collect(Collectors.toList()); + List data24 = valueTypeList.stream().map(DataHarmrateI::getI13).collect(Collectors.toList()); + List data25 = valueTypeList.stream().map(DataHarmrateI::getI14).collect(Collectors.toList()); + List data26 = valueTypeList.stream().map(DataHarmrateI::getI15).collect(Collectors.toList()); + List data27 = valueTypeList.stream().map(DataHarmrateI::getI16).collect(Collectors.toList()); + List data28 = valueTypeList.stream().map(DataHarmrateI::getI17).collect(Collectors.toList()); + List data29 = valueTypeList.stream().map(DataHarmrateI::getI18).collect(Collectors.toList()); + List data30 = valueTypeList.stream().map(DataHarmrateI::getI19).collect(Collectors.toList()); + List data31 = valueTypeList.stream().map(DataHarmrateI::getI20).collect(Collectors.toList()); + List data32 = valueTypeList.stream().map(DataHarmrateI::getI21).collect(Collectors.toList()); + List data33 = valueTypeList.stream().map(DataHarmrateI::getI22).collect(Collectors.toList()); + List data34 = valueTypeList.stream().map(DataHarmrateI::getI23).collect(Collectors.toList()); + List data35 = valueTypeList.stream().map(DataHarmrateI::getI24).collect(Collectors.toList()); + List data36 = valueTypeList.stream().map(DataHarmrateI::getI25).collect(Collectors.toList()); + List data37 = valueTypeList.stream().map(DataHarmrateI::getI26).collect(Collectors.toList()); + List data38 = valueTypeList.stream().map(DataHarmrateI::getI27).collect(Collectors.toList()); + List data39 = valueTypeList.stream().map(DataHarmrateI::getI28).collect(Collectors.toList()); + List data40 = valueTypeList.stream().map(DataHarmrateI::getI29).collect(Collectors.toList()); + List data41 = valueTypeList.stream().map(DataHarmrateI::getI30).collect(Collectors.toList()); + List data42 = valueTypeList.stream().map(DataHarmrateI::getI31).collect(Collectors.toList()); + List data43 = valueTypeList.stream().map(DataHarmrateI::getI32).collect(Collectors.toList()); + List data44 = valueTypeList.stream().map(DataHarmrateI::getI33).collect(Collectors.toList()); + List data45 = valueTypeList.stream().map(DataHarmrateI::getI34).collect(Collectors.toList()); + List data46 = valueTypeList.stream().map(DataHarmrateI::getI35).collect(Collectors.toList()); + List data47 = valueTypeList.stream().map(DataHarmrateI::getI36).collect(Collectors.toList()); + List data48 = valueTypeList.stream().map(DataHarmrateI::getI37).collect(Collectors.toList()); + List data49 = valueTypeList.stream().map(DataHarmrateI::getI38).collect(Collectors.toList()); + List data50 = valueTypeList.stream().map(DataHarmrateI::getI39).collect(Collectors.toList()); + List data51 = valueTypeList.stream().map(DataHarmrateI::getI40).collect(Collectors.toList()); + List data52 = valueTypeList.stream().map(DataHarmrateI::getI41).collect(Collectors.toList()); + List data53 = valueTypeList.stream().map(DataHarmrateI::getI42).collect(Collectors.toList()); + List data54 = valueTypeList.stream().map(DataHarmrateI::getI43).collect(Collectors.toList()); + List data55 = valueTypeList.stream().map(DataHarmrateI::getI44).collect(Collectors.toList()); + List data56 = valueTypeList.stream().map(DataHarmrateI::getI45).collect(Collectors.toList()); + List data57 = valueTypeList.stream().map(DataHarmrateI::getI46).collect(Collectors.toList()); + List data58 = valueTypeList.stream().map(DataHarmrateI::getI47).collect(Collectors.toList()); + List data59 = valueTypeList.stream().map(DataHarmrateI::getI48).collect(Collectors.toList()); + List data60 = valueTypeList.stream().map(DataHarmrateI::getI49).collect(Collectors.toList()); + List data61 = valueTypeList.stream().map(DataHarmrateI::getI50).collect(Collectors.toList()); + + List> lists = Arrays.asList(data12,data13,data14 + ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 + ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 + ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 + ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 + ,data55,data56,data57,data58,data59,data60,data61); + value.setValueList(lists); + valueTypes.add(value); + }); + type.setValueTypeList(valueTypes); + phasicTypes.add(type); + }); + dto.setPhasicTypeList(phasicTypes); + result.add(dto); + }); + } + return result; + } + + @Override + public void addList(List list) { + + } + + /** + * 按监测点集合、时间条件获取分钟数据 + * timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理 + * 需要进行剔除异常数据时,这里会有三种情况判断 + * 1.无异常数据,则直接返回集合; + * 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据; + * 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常 + */ + public List getMinuteData(List lineList, String startTime, String endTime, Map> timeMap) { + List result = new ArrayList<>(); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmrateI.class); + influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.I, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1)); + influxQueryWrapper.regular(DataHarmrateI::getLineId, lineList) + .select(DataHarmrateI::getLineId) + .select(DataHarmrateI::getPhasicType) + .select(DataHarmrateI::getValueType) + .select(DataHarmrateI::getQualityFlag) + .between(DataHarmrateI::getTime, startTime, endTime) + .eq(DataHarmrateI::getQualityFlag,"0"); + List list = dataHarmRateIMapper.selectByQueryWrapper(influxQueryWrapper); + Map> lineMap = list.stream().collect(Collectors.groupingBy(DataHarmrateI::getLineId)); + //有异常数据 + if (CollectionUtil.isNotEmpty(timeMap)) { + lineMap.forEach((k,v)->{ + List timeList = timeMap.get(k); + //有异常数据,当前监测点自身的异常数据 + if (CollectionUtil.isNotEmpty(timeList)) { + List filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList()); + //1.过滤掉异常数据后还有正常数据,则用正常数据计算 + if (CollectionUtil.isNotEmpty(filterList)) { + result.addAll(filterList); + } + //2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的 + else { + v.parallelStream().forEach(item -> item.setQualityFlag("1")); + result.addAll(v); + } + } + //没有异常数据,则使用原数据 + else { + result.addAll(v); + } + }); + } + //没有异常数据,则使用原数据 + else { + result.addAll(list); + } + return result; + } + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateVImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateVImpl.java index b97ff46..3e0050d 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateVImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmRateVImpl.java @@ -1,14 +1,19 @@ package com.njcn.dataProcess.service.impl.influxdb; import cn.hutool.core.collection.CollectionUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.common.utils.HarmonicTimesUtil; import com.njcn.dataProcess.dao.imapper.DataHarmRateVMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateVRelationMapper; import com.njcn.dataProcess.dto.DataHarmrateVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.influx.DataHarmrateV; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD; import com.njcn.dataProcess.service.IDataHarmRateV; -import com.njcn.dataProcess.util.BeanFeildUtils; +import com.njcn.dataProcess.util.TimeUtils; import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.query.InfluxQueryWrapper; import lombok.RequiredArgsConstructor; @@ -19,6 +24,7 @@ import org.springframework.stereotype.Service; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -28,7 +34,7 @@ import java.util.stream.Collectors; */ @Service("InfluxdbDataHarmRateVImpl") @RequiredArgsConstructor -public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV { +public class InfluxdbDataHarmRateVImpl extends MppServiceImpl implements IDataHarmRateV { private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()); @@ -37,7 +43,7 @@ public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV { @Override public List getRawData(LineCountEvaluateParam lineParam) { List result = new ArrayList<>(); - List list = getMinuteDataI(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(), lineParam.getAbnormalTime()); + List list = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(), lineParam.getAbnormalTime()); list.forEach(item->{ DataHarmDto dto = new DataHarmDto(); BeanUtils.copyProperties(item,dto); @@ -47,18 +53,138 @@ public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV { return result; } + @Override + public void batchInsertion(List dataHarmrateVDTOList) { + int totalCount = dataHarmrateVDTOList.size(); + if(totalCount<=0){ + return; + } + + List collect = dataHarmrateVDTOList.stream().flatMap(temp -> DataHarmrateV.relationToInfluxDB(temp).stream()).collect(Collectors.toList()); + int minSize = Math.min(1200000, collect.size()); + + List> partition = ListUtils.partition(collect, minSize); + for (List dataHarmrateVList : partition) { + List sublistAsOriginalListType = new ArrayList<>(dataHarmrateVList); + + dataHarmRateVMapper.insertBatch(sublistAsOriginalListType); + + } + } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + List data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime()); + if (CollectionUtil.isNotEmpty(data)) { + String time = TimeUtils.StringTimeToString(lineParam.getStartTime()); + //以监测点分组 + Map> lineMap = data.stream().collect(Collectors.groupingBy(DataHarmrateV::getLineId)); + lineMap.forEach((line,lineList)->{ + CommonMinuteDto dto = new CommonMinuteDto(); + dto.setLineId(line); + dto.setTime(time); + dto.setQualityFlag(lineList.get(0).getQualityFlag()); + //以相别分组 + Map> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataHarmrateV::getPhasicType)); + List phasicTypes = new ArrayList<>(); + phasicTypeMap.forEach((phasicType,phasicTypeList)->{ + CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType(); + type.setPhasicType(phasicType); + //以数据类型分组 + Map> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataHarmrateV::getValueType)); + List valueTypes = new ArrayList<>(); + valueTypeMap.forEach((valueType,valueTypeList)->{ + CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); + value.setValueType(valueType); + //规定好集合指标参数 + List data12 = valueTypeList.stream().map(DataHarmrateV::getV1).collect(Collectors.toList()); + List data13 = valueTypeList.stream().map(DataHarmrateV::getV2).collect(Collectors.toList()); + List data14 = valueTypeList.stream().map(DataHarmrateV::getV3).collect(Collectors.toList()); + List data15 = valueTypeList.stream().map(DataHarmrateV::getV4).collect(Collectors.toList()); + List data16 = valueTypeList.stream().map(DataHarmrateV::getV5).collect(Collectors.toList()); + List data17 = valueTypeList.stream().map(DataHarmrateV::getV6).collect(Collectors.toList()); + List data18 = valueTypeList.stream().map(DataHarmrateV::getV7).collect(Collectors.toList()); + List data19 = valueTypeList.stream().map(DataHarmrateV::getV8).collect(Collectors.toList()); + List data20 = valueTypeList.stream().map(DataHarmrateV::getV9).collect(Collectors.toList()); + List data21 = valueTypeList.stream().map(DataHarmrateV::getV10).collect(Collectors.toList()); + List data22 = valueTypeList.stream().map(DataHarmrateV::getV11).collect(Collectors.toList()); + List data23 = valueTypeList.stream().map(DataHarmrateV::getV12).collect(Collectors.toList()); + List data24 = valueTypeList.stream().map(DataHarmrateV::getV13).collect(Collectors.toList()); + List data25 = valueTypeList.stream().map(DataHarmrateV::getV14).collect(Collectors.toList()); + List data26 = valueTypeList.stream().map(DataHarmrateV::getV15).collect(Collectors.toList()); + List data27 = valueTypeList.stream().map(DataHarmrateV::getV16).collect(Collectors.toList()); + List data28 = valueTypeList.stream().map(DataHarmrateV::getV17).collect(Collectors.toList()); + List data29 = valueTypeList.stream().map(DataHarmrateV::getV18).collect(Collectors.toList()); + List data30 = valueTypeList.stream().map(DataHarmrateV::getV19).collect(Collectors.toList()); + List data31 = valueTypeList.stream().map(DataHarmrateV::getV20).collect(Collectors.toList()); + List data32 = valueTypeList.stream().map(DataHarmrateV::getV21).collect(Collectors.toList()); + List data33 = valueTypeList.stream().map(DataHarmrateV::getV22).collect(Collectors.toList()); + List data34 = valueTypeList.stream().map(DataHarmrateV::getV23).collect(Collectors.toList()); + List data35 = valueTypeList.stream().map(DataHarmrateV::getV24).collect(Collectors.toList()); + List data36 = valueTypeList.stream().map(DataHarmrateV::getV25).collect(Collectors.toList()); + List data37 = valueTypeList.stream().map(DataHarmrateV::getV26).collect(Collectors.toList()); + List data38 = valueTypeList.stream().map(DataHarmrateV::getV27).collect(Collectors.toList()); + List data39 = valueTypeList.stream().map(DataHarmrateV::getV28).collect(Collectors.toList()); + List data40 = valueTypeList.stream().map(DataHarmrateV::getV29).collect(Collectors.toList()); + List data41 = valueTypeList.stream().map(DataHarmrateV::getV30).collect(Collectors.toList()); + List data42 = valueTypeList.stream().map(DataHarmrateV::getV31).collect(Collectors.toList()); + List data43 = valueTypeList.stream().map(DataHarmrateV::getV32).collect(Collectors.toList()); + List data44 = valueTypeList.stream().map(DataHarmrateV::getV33).collect(Collectors.toList()); + List data45 = valueTypeList.stream().map(DataHarmrateV::getV34).collect(Collectors.toList()); + List data46 = valueTypeList.stream().map(DataHarmrateV::getV35).collect(Collectors.toList()); + List data47 = valueTypeList.stream().map(DataHarmrateV::getV36).collect(Collectors.toList()); + List data48 = valueTypeList.stream().map(DataHarmrateV::getV37).collect(Collectors.toList()); + List data49 = valueTypeList.stream().map(DataHarmrateV::getV38).collect(Collectors.toList()); + List data50 = valueTypeList.stream().map(DataHarmrateV::getV39).collect(Collectors.toList()); + List data51 = valueTypeList.stream().map(DataHarmrateV::getV40).collect(Collectors.toList()); + List data52 = valueTypeList.stream().map(DataHarmrateV::getV41).collect(Collectors.toList()); + List data53 = valueTypeList.stream().map(DataHarmrateV::getV42).collect(Collectors.toList()); + List data54 = valueTypeList.stream().map(DataHarmrateV::getV43).collect(Collectors.toList()); + List data55 = valueTypeList.stream().map(DataHarmrateV::getV44).collect(Collectors.toList()); + List data56 = valueTypeList.stream().map(DataHarmrateV::getV45).collect(Collectors.toList()); + List data57 = valueTypeList.stream().map(DataHarmrateV::getV46).collect(Collectors.toList()); + List data58 = valueTypeList.stream().map(DataHarmrateV::getV47).collect(Collectors.toList()); + List data59 = valueTypeList.stream().map(DataHarmrateV::getV48).collect(Collectors.toList()); + List data60 = valueTypeList.stream().map(DataHarmrateV::getV49).collect(Collectors.toList()); + List data61 = valueTypeList.stream().map(DataHarmrateV::getV50).collect(Collectors.toList()); + + List> lists = Arrays.asList(data12,data13,data14 + ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 + ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 + ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 + ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 + ,data55,data56,data57,data58,data59,data60,data61); + value.setValueList(lists); + valueTypes.add(value); + }); + type.setValueTypeList(valueTypes); + phasicTypes.add(type); + }); + dto.setPhasicTypeList(phasicTypes); + result.add(dto); + }); + } + return result; + } + + @Override + public void addList(List list) { + + } + /** - * 按监测点集合、时间条件获取dataI分钟数据 + * 按监测点集合、时间条件获取分钟数据 * timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理 * 需要进行剔除异常数据时,这里会有三种情况判断 * 1.无异常数据,则直接返回集合; * 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据; * 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常 */ - public List getMinuteDataI(List lineList, String startTime, String endTime, Map> timeMap) { + public List getMinuteData(List lineList, String startTime, String endTime, Map> timeMap) { List result = new ArrayList<>(); InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmrateV.class); - influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.V, "", HarmonicTimesUtil.harmonicTimesList(2, 50, 1)); + influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.V, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1)); influxQueryWrapper.regular(DataHarmrateV::getLineId, lineList) .select(DataHarmrateV::getLineId) .select(DataHarmrateV::getPhasicType) @@ -98,27 +224,4 @@ public class InfluxdbDataHarmRateVImpl implements IDataHarmRateV { return result; } - - - - - @Override - public void batchInsertion(List dataHarmrateVDTOList) { - int totalCount = dataHarmrateVDTOList.size(); - if(totalCount<=0){ - return; - } - - List collect = dataHarmrateVDTOList.stream().flatMap(temp -> DataHarmrateV.relationToInfluxDB(temp).stream()).collect(Collectors.toList()); - int minSize = Math.min(1200000, collect.size()); - - List> partition = ListUtils.partition(collect, minSize); - for (List dataHarmrateVList : partition) { - List sublistAsOriginalListType = new ArrayList<>(dataHarmrateVList); - - dataHarmRateVMapper.insertBatch(sublistAsOriginalListType); - - } - } - } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerSImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerSImpl.java index 1a7ec4f..a9f7084 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerSImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerSImpl.java @@ -1,15 +1,30 @@ package com.njcn.dataProcess.service.impl.influxdb; -import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import cn.hutool.core.collection.CollectionUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.common.utils.HarmonicTimesUtil; import com.njcn.dataProcess.dao.imapper.DataHarmpowerSMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmPowerSRelationMapper; +import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.influx.DataHarmpowerS; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmPowerSD; import com.njcn.dataProcess.service.IDataHarmpowerS; +import com.njcn.dataProcess.util.TimeUtils; +import com.njcn.influx.constant.InfluxDbSqlConstant; +import com.njcn.influx.query.InfluxQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.stereotype.Service; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -21,8 +36,9 @@ import java.util.stream.Collectors; */ @Service("InfluxdbDataHarmpowerSImpl") @RequiredArgsConstructor -public class InfluxdbDataHarmpowerSImpl implements IDataHarmpowerS { +public class InfluxdbDataHarmpowerSImpl extends MppServiceImpl implements IDataHarmpowerS { + private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()); private final DataHarmpowerSMapper dataHarmpowerSMapper; @@ -43,4 +59,160 @@ public class InfluxdbDataHarmpowerSImpl implements IDataHarmpowerS { } } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + List data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime()); + if (CollectionUtil.isNotEmpty(data)) { + String time = TimeUtils.StringTimeToString(lineParam.getStartTime()); + //以监测点分组 + Map> lineMap = data.stream().collect(Collectors.groupingBy(DataHarmpowerS::getLineId)); + lineMap.forEach((line,lineList)->{ + CommonMinuteDto dto = new CommonMinuteDto(); + dto.setLineId(line); + dto.setTime(time); + dto.setQualityFlag(lineList.get(0).getQualityFlag()); + //以相别分组 + Map> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataHarmpowerS::getPhasicType)); + List phasicTypes = new ArrayList<>(); + phasicTypeMap.forEach((phasicType,phasicTypeList)->{ + CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType(); + type.setPhasicType(phasicType); + //以数据类型分组 + Map> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataHarmpowerS::getValueType)); + List valueTypes = new ArrayList<>(); + valueTypeMap.forEach((valueType,valueTypeList)->{ + CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); + value.setValueType(valueType); + //规定好集合指标参数 + List data1 = valueTypeList.stream().map(DataHarmpowerS::getS).collect(Collectors.toList()); + + List data12 = valueTypeList.stream().map(DataHarmpowerS::getS1).collect(Collectors.toList()); + List data13 = valueTypeList.stream().map(DataHarmpowerS::getS2).collect(Collectors.toList()); + List data14 = valueTypeList.stream().map(DataHarmpowerS::getS3).collect(Collectors.toList()); + List data15 = valueTypeList.stream().map(DataHarmpowerS::getS4).collect(Collectors.toList()); + List data16 = valueTypeList.stream().map(DataHarmpowerS::getS5).collect(Collectors.toList()); + List data17 = valueTypeList.stream().map(DataHarmpowerS::getS6).collect(Collectors.toList()); + List data18 = valueTypeList.stream().map(DataHarmpowerS::getS7).collect(Collectors.toList()); + List data19 = valueTypeList.stream().map(DataHarmpowerS::getS8).collect(Collectors.toList()); + List data20 = valueTypeList.stream().map(DataHarmpowerS::getS9).collect(Collectors.toList()); + List data21 = valueTypeList.stream().map(DataHarmpowerS::getS10).collect(Collectors.toList()); + List data22 = valueTypeList.stream().map(DataHarmpowerS::getS11).collect(Collectors.toList()); + List data23 = valueTypeList.stream().map(DataHarmpowerS::getS12).collect(Collectors.toList()); + List data24 = valueTypeList.stream().map(DataHarmpowerS::getS13).collect(Collectors.toList()); + List data25 = valueTypeList.stream().map(DataHarmpowerS::getS14).collect(Collectors.toList()); + List data26 = valueTypeList.stream().map(DataHarmpowerS::getS15).collect(Collectors.toList()); + List data27 = valueTypeList.stream().map(DataHarmpowerS::getS16).collect(Collectors.toList()); + List data28 = valueTypeList.stream().map(DataHarmpowerS::getS17).collect(Collectors.toList()); + List data29 = valueTypeList.stream().map(DataHarmpowerS::getS18).collect(Collectors.toList()); + List data30 = valueTypeList.stream().map(DataHarmpowerS::getS19).collect(Collectors.toList()); + List data31 = valueTypeList.stream().map(DataHarmpowerS::getS20).collect(Collectors.toList()); + List data32 = valueTypeList.stream().map(DataHarmpowerS::getS21).collect(Collectors.toList()); + List data33 = valueTypeList.stream().map(DataHarmpowerS::getS22).collect(Collectors.toList()); + List data34 = valueTypeList.stream().map(DataHarmpowerS::getS23).collect(Collectors.toList()); + List data35 = valueTypeList.stream().map(DataHarmpowerS::getS24).collect(Collectors.toList()); + List data36 = valueTypeList.stream().map(DataHarmpowerS::getS25).collect(Collectors.toList()); + List data37 = valueTypeList.stream().map(DataHarmpowerS::getS26).collect(Collectors.toList()); + List data38 = valueTypeList.stream().map(DataHarmpowerS::getS27).collect(Collectors.toList()); + List data39 = valueTypeList.stream().map(DataHarmpowerS::getS28).collect(Collectors.toList()); + List data40 = valueTypeList.stream().map(DataHarmpowerS::getS29).collect(Collectors.toList()); + List data41 = valueTypeList.stream().map(DataHarmpowerS::getS30).collect(Collectors.toList()); + List data42 = valueTypeList.stream().map(DataHarmpowerS::getS31).collect(Collectors.toList()); + List data43 = valueTypeList.stream().map(DataHarmpowerS::getS32).collect(Collectors.toList()); + List data44 = valueTypeList.stream().map(DataHarmpowerS::getS33).collect(Collectors.toList()); + List data45 = valueTypeList.stream().map(DataHarmpowerS::getS34).collect(Collectors.toList()); + List data46 = valueTypeList.stream().map(DataHarmpowerS::getS35).collect(Collectors.toList()); + List data47 = valueTypeList.stream().map(DataHarmpowerS::getS36).collect(Collectors.toList()); + List data48 = valueTypeList.stream().map(DataHarmpowerS::getS37).collect(Collectors.toList()); + List data49 = valueTypeList.stream().map(DataHarmpowerS::getS38).collect(Collectors.toList()); + List data50 = valueTypeList.stream().map(DataHarmpowerS::getS39).collect(Collectors.toList()); + List data51 = valueTypeList.stream().map(DataHarmpowerS::getS40).collect(Collectors.toList()); + List data52 = valueTypeList.stream().map(DataHarmpowerS::getS41).collect(Collectors.toList()); + List data53 = valueTypeList.stream().map(DataHarmpowerS::getS42).collect(Collectors.toList()); + List data54 = valueTypeList.stream().map(DataHarmpowerS::getS43).collect(Collectors.toList()); + List data55 = valueTypeList.stream().map(DataHarmpowerS::getS44).collect(Collectors.toList()); + List data56 = valueTypeList.stream().map(DataHarmpowerS::getS45).collect(Collectors.toList()); + List data57 = valueTypeList.stream().map(DataHarmpowerS::getS46).collect(Collectors.toList()); + List data58 = valueTypeList.stream().map(DataHarmpowerS::getS47).collect(Collectors.toList()); + List data59 = valueTypeList.stream().map(DataHarmpowerS::getS48).collect(Collectors.toList()); + List data60 = valueTypeList.stream().map(DataHarmpowerS::getS49).collect(Collectors.toList()); + List data61 = valueTypeList.stream().map(DataHarmpowerS::getS50).collect(Collectors.toList()); + + List> lists = Arrays.asList(data1,data12,data13,data14 + ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 + ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 + ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 + ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 + ,data55,data56,data57,data58,data59,data60,data61); + value.setValueList(lists); + valueTypes.add(value); + }); + type.setValueTypeList(valueTypes); + phasicTypes.add(type); + }); + dto.setPhasicTypeList(phasicTypes); + result.add(dto); + }); + } + return result; + } + + @Override + public void addList(List list) { + + } + + /** + * 按监测点集合、时间条件获取分钟数据 + * timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理 + * 需要进行剔除异常数据时,这里会有三种情况判断 + * 1.无异常数据,则直接返回集合; + * 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据; + * 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常 + */ + public List getMinuteData(List lineList, String startTime, String endTime, Map> timeMap) { + List result = new ArrayList<>(); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataHarmpowerS.class); + influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.S, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1)); + influxQueryWrapper.regular(DataHarmpowerS::getLineId, lineList) + .select(DataHarmpowerS::getLineId) + .select(DataHarmpowerS::getPhasicType) + .select(DataHarmpowerS::getValueType) + .select(DataHarmpowerS::getS) + .select(DataHarmpowerS::getQualityFlag) + .between(DataHarmpowerS::getTime, startTime, endTime) + .eq(DataHarmpowerS::getQualityFlag,"0"); + List list = dataHarmpowerSMapper.selectByQueryWrapper(influxQueryWrapper); + Map> lineMap = list.stream().collect(Collectors.groupingBy(DataHarmpowerS::getLineId)); + //有异常数据 + if (CollectionUtil.isNotEmpty(timeMap)) { + lineMap.forEach((k,v)->{ + List timeList = timeMap.get(k); + //有异常数据,当前监测点自身的异常数据 + if (CollectionUtil.isNotEmpty(timeList)) { + List filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList()); + //1.过滤掉异常数据后还有正常数据,则用正常数据计算 + if (CollectionUtil.isNotEmpty(filterList)) { + result.addAll(filterList); + } + //2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的 + else { + v.parallelStream().forEach(item -> item.setQualityFlag("1")); + result.addAll(v); + } + } + //没有异常数据,则使用原数据 + else { + result.addAll(v); + } + }); + } + //没有异常数据,则使用原数据 + else { + result.addAll(list); + } + return result; + } + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmIImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmIImpl.java index 4334bad..3593a41 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmIImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmIImpl.java @@ -1,15 +1,30 @@ package com.njcn.dataProcess.service.impl.influxdb; -import com.njcn.dataProcess.dto.DataInharmIDTO; +import cn.hutool.core.collection.CollectionUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.common.utils.HarmonicTimesUtil; import com.njcn.dataProcess.dao.imapper.DataInharmIMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmIRelationMapper; +import com.njcn.dataProcess.dto.DataInharmIDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.influx.DataInharmI; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; +import com.njcn.dataProcess.pojo.po.RStatDataInHarmID; import com.njcn.dataProcess.service.IDataInharmI; +import com.njcn.dataProcess.util.TimeUtils; +import com.njcn.influx.constant.InfluxDbSqlConstant; +import com.njcn.influx.query.InfluxQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.stereotype.Service; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -21,9 +36,10 @@ import java.util.stream.Collectors; */ @Service("InfluxdbDataInharmIImpl") @RequiredArgsConstructor -public class InfluxdbDataInharmIImpl implements IDataInharmI { +public class InfluxdbDataInharmIImpl extends MppServiceImpl implements IDataInharmI { private final DataInharmIMapper dataInharmIMapper; + private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()); @Override @@ -43,4 +59,157 @@ public class InfluxdbDataInharmIImpl implements IDataInharmI { } } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + List data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime()); + if (CollectionUtil.isNotEmpty(data)) { + String time = TimeUtils.StringTimeToString(lineParam.getStartTime()); + //以监测点分组 + Map> lineMap = data.stream().collect(Collectors.groupingBy(DataInharmI::getLineId)); + lineMap.forEach((line,lineList)->{ + CommonMinuteDto dto = new CommonMinuteDto(); + dto.setLineId(line); + dto.setTime(time); + dto.setQualityFlag(lineList.get(0).getQualityFlag()); + //以相别分组 + Map> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataInharmI::getPhasicType)); + List phasicTypes = new ArrayList<>(); + phasicTypeMap.forEach((phasicType,phasicTypeList)->{ + CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType(); + type.setPhasicType(phasicType); + //以数据类型分组 + Map> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataInharmI::getValueType)); + List valueTypes = new ArrayList<>(); + valueTypeMap.forEach((valueType,valueTypeList)->{ + CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); + value.setValueType(valueType); + //规定好集合指标参数 + List data12 = valueTypeList.stream().map(DataInharmI::getI1).collect(Collectors.toList()); + List data13 = valueTypeList.stream().map(DataInharmI::getI2).collect(Collectors.toList()); + List data14 = valueTypeList.stream().map(DataInharmI::getI3).collect(Collectors.toList()); + List data15 = valueTypeList.stream().map(DataInharmI::getI4).collect(Collectors.toList()); + List data16 = valueTypeList.stream().map(DataInharmI::getI5).collect(Collectors.toList()); + List data17 = valueTypeList.stream().map(DataInharmI::getI6).collect(Collectors.toList()); + List data18 = valueTypeList.stream().map(DataInharmI::getI7).collect(Collectors.toList()); + List data19 = valueTypeList.stream().map(DataInharmI::getI8).collect(Collectors.toList()); + List data20 = valueTypeList.stream().map(DataInharmI::getI9).collect(Collectors.toList()); + List data21 = valueTypeList.stream().map(DataInharmI::getI10).collect(Collectors.toList()); + List data22 = valueTypeList.stream().map(DataInharmI::getI11).collect(Collectors.toList()); + List data23 = valueTypeList.stream().map(DataInharmI::getI12).collect(Collectors.toList()); + List data24 = valueTypeList.stream().map(DataInharmI::getI13).collect(Collectors.toList()); + List data25 = valueTypeList.stream().map(DataInharmI::getI14).collect(Collectors.toList()); + List data26 = valueTypeList.stream().map(DataInharmI::getI15).collect(Collectors.toList()); + List data27 = valueTypeList.stream().map(DataInharmI::getI16).collect(Collectors.toList()); + List data28 = valueTypeList.stream().map(DataInharmI::getI17).collect(Collectors.toList()); + List data29 = valueTypeList.stream().map(DataInharmI::getI18).collect(Collectors.toList()); + List data30 = valueTypeList.stream().map(DataInharmI::getI19).collect(Collectors.toList()); + List data31 = valueTypeList.stream().map(DataInharmI::getI20).collect(Collectors.toList()); + List data32 = valueTypeList.stream().map(DataInharmI::getI21).collect(Collectors.toList()); + List data33 = valueTypeList.stream().map(DataInharmI::getI22).collect(Collectors.toList()); + List data34 = valueTypeList.stream().map(DataInharmI::getI23).collect(Collectors.toList()); + List data35 = valueTypeList.stream().map(DataInharmI::getI24).collect(Collectors.toList()); + List data36 = valueTypeList.stream().map(DataInharmI::getI25).collect(Collectors.toList()); + List data37 = valueTypeList.stream().map(DataInharmI::getI26).collect(Collectors.toList()); + List data38 = valueTypeList.stream().map(DataInharmI::getI27).collect(Collectors.toList()); + List data39 = valueTypeList.stream().map(DataInharmI::getI28).collect(Collectors.toList()); + List data40 = valueTypeList.stream().map(DataInharmI::getI29).collect(Collectors.toList()); + List data41 = valueTypeList.stream().map(DataInharmI::getI30).collect(Collectors.toList()); + List data42 = valueTypeList.stream().map(DataInharmI::getI31).collect(Collectors.toList()); + List data43 = valueTypeList.stream().map(DataInharmI::getI32).collect(Collectors.toList()); + List data44 = valueTypeList.stream().map(DataInharmI::getI33).collect(Collectors.toList()); + List data45 = valueTypeList.stream().map(DataInharmI::getI34).collect(Collectors.toList()); + List data46 = valueTypeList.stream().map(DataInharmI::getI35).collect(Collectors.toList()); + List data47 = valueTypeList.stream().map(DataInharmI::getI36).collect(Collectors.toList()); + List data48 = valueTypeList.stream().map(DataInharmI::getI37).collect(Collectors.toList()); + List data49 = valueTypeList.stream().map(DataInharmI::getI38).collect(Collectors.toList()); + List data50 = valueTypeList.stream().map(DataInharmI::getI39).collect(Collectors.toList()); + List data51 = valueTypeList.stream().map(DataInharmI::getI40).collect(Collectors.toList()); + List data52 = valueTypeList.stream().map(DataInharmI::getI41).collect(Collectors.toList()); + List data53 = valueTypeList.stream().map(DataInharmI::getI42).collect(Collectors.toList()); + List data54 = valueTypeList.stream().map(DataInharmI::getI43).collect(Collectors.toList()); + List data55 = valueTypeList.stream().map(DataInharmI::getI44).collect(Collectors.toList()); + List data56 = valueTypeList.stream().map(DataInharmI::getI45).collect(Collectors.toList()); + List data57 = valueTypeList.stream().map(DataInharmI::getI46).collect(Collectors.toList()); + List data58 = valueTypeList.stream().map(DataInharmI::getI47).collect(Collectors.toList()); + List data59 = valueTypeList.stream().map(DataInharmI::getI48).collect(Collectors.toList()); + List data60 = valueTypeList.stream().map(DataInharmI::getI49).collect(Collectors.toList()); + List data61 = valueTypeList.stream().map(DataInharmI::getI50).collect(Collectors.toList()); + + List> lists = Arrays.asList(data12,data13,data14 + ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 + ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 + ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 + ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 + ,data55,data56,data57,data58,data59,data60,data61); + value.setValueList(lists); + valueTypes.add(value); + }); + type.setValueTypeList(valueTypes); + phasicTypes.add(type); + }); + dto.setPhasicTypeList(phasicTypes); + result.add(dto); + }); + } + return result; + } + + @Override + public void addList(List list) { + + } + + /** + * 按监测点集合、时间条件获取分钟数据 + * timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理 + * 需要进行剔除异常数据时,这里会有三种情况判断 + * 1.无异常数据,则直接返回集合; + * 2.异常数据和无异常数据参杂,剔除异常数据,只计算正常数据; + * 3.全是异常数据,则使用异常数据进行计算,但是日表中需要标记出来,此数据有异常 + */ + public List getMinuteData(List lineList, String startTime, String endTime, Map> timeMap) { + List result = new ArrayList<>(); + InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataInharmI.class); + influxQueryWrapper.samePrefixAndSuffix(InfluxDbSqlConstant.I, "", HarmonicTimesUtil.harmonicTimesList(1, 50, 1)); + influxQueryWrapper.regular(DataInharmI::getLineId, lineList) + .select(DataInharmI::getLineId) + .select(DataInharmI::getPhasicType) + .select(DataInharmI::getValueType) + .select(DataInharmI::getQualityFlag) + .between(DataInharmI::getTime, startTime, endTime) + .eq(DataInharmI::getQualityFlag,"0"); + List list = dataInharmIMapper.selectByQueryWrapper(influxQueryWrapper); + Map> lineMap = list.stream().collect(Collectors.groupingBy(DataInharmI::getLineId)); + //有异常数据 + if (CollectionUtil.isNotEmpty(timeMap)) { + lineMap.forEach((k,v)->{ + List timeList = timeMap.get(k); + //有异常数据,当前监测点自身的异常数据 + if (CollectionUtil.isNotEmpty(timeList)) { + List filterList = v.stream().filter(item -> !timeList.contains(DATE_TIME_FORMATTER.format(item.getTime()))).collect(Collectors.toList()); + //1.过滤掉异常数据后还有正常数据,则用正常数据计算 + if (CollectionUtil.isNotEmpty(filterList)) { + result.addAll(filterList); + } + //2.过滤掉异常数据后没有正常数据,则用所有异常数据计算,但是需要标记数据为异常的 + else { + v.parallelStream().forEach(item -> item.setQualityFlag("1")); + result.addAll(v); + } + } + //没有异常数据,则使用原数据 + else { + result.addAll(v); + } + }); + } + //没有异常数据,则使用原数据 + else { + result.addAll(list); + } + return result; + } + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmVImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmVImpl.java index 100dbe9..14d3ea1 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmVImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataInharmVImpl.java @@ -1,14 +1,20 @@ package com.njcn.dataProcess.service.impl.influxdb; import cn.hutool.core.collection.CollectionUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.common.utils.HarmonicTimesUtil; import com.njcn.dataProcess.dao.imapper.DataInharmVMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmVRelationMapper; import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.influx.DataI; import com.njcn.dataProcess.po.influx.DataInharmV; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmVDto; +import com.njcn.dataProcess.pojo.po.RStatDataInHarmVD; import com.njcn.dataProcess.service.IDataInharmV; +import com.njcn.dataProcess.util.TimeUtils; import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.query.InfluxQueryWrapper; import lombok.RequiredArgsConstructor; @@ -19,6 +25,7 @@ import org.springframework.stereotype.Service; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -33,7 +40,7 @@ import java.util.stream.Collectors; */ @Service("InfluxdbDataInharmVImpl") @RequiredArgsConstructor -public class InfluxdbDataInharmVImpl implements IDataInharmV { +public class InfluxdbDataInharmVImpl extends MppServiceImpl implements IDataInharmV { private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()); @@ -71,6 +78,107 @@ public class InfluxdbDataInharmVImpl implements IDataInharmV { return result; } + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + List data = getMinuteData(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime()); + if (CollectionUtil.isNotEmpty(data)) { + String time = TimeUtils.StringTimeToString(lineParam.getStartTime()); + //以监测点分组 + Map> lineMap = data.stream().collect(Collectors.groupingBy(DataInharmV::getLineId)); + lineMap.forEach((line,lineList)->{ + CommonMinuteDto dto = new CommonMinuteDto(); + dto.setLineId(line); + dto.setTime(time); + dto.setQualityFlag(lineList.get(0).getQualityFlag()); + //以相别分组 + Map> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataInharmV::getPhasicType)); + List phasicTypes = new ArrayList<>(); + phasicTypeMap.forEach((phasicType,phasicTypeList)->{ + CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType(); + type.setPhasicType(phasicType); + //以数据类型分组 + Map> valueTypeMap = phasicTypeList.stream().collect(Collectors.groupingBy(DataInharmV::getValueType)); + List valueTypes = new ArrayList<>(); + valueTypeMap.forEach((valueType,valueTypeList)->{ + CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); + value.setValueType(valueType); + //规定好集合指标参数 + List data12 = valueTypeList.stream().map(DataInharmV::getV1).collect(Collectors.toList()); + List data13 = valueTypeList.stream().map(DataInharmV::getV2).collect(Collectors.toList()); + List data14 = valueTypeList.stream().map(DataInharmV::getV3).collect(Collectors.toList()); + List data15 = valueTypeList.stream().map(DataInharmV::getV4).collect(Collectors.toList()); + List data16 = valueTypeList.stream().map(DataInharmV::getV5).collect(Collectors.toList()); + List data17 = valueTypeList.stream().map(DataInharmV::getV6).collect(Collectors.toList()); + List data18 = valueTypeList.stream().map(DataInharmV::getV7).collect(Collectors.toList()); + List data19 = valueTypeList.stream().map(DataInharmV::getV8).collect(Collectors.toList()); + List data20 = valueTypeList.stream().map(DataInharmV::getV9).collect(Collectors.toList()); + List data21 = valueTypeList.stream().map(DataInharmV::getV10).collect(Collectors.toList()); + List data22 = valueTypeList.stream().map(DataInharmV::getV11).collect(Collectors.toList()); + List data23 = valueTypeList.stream().map(DataInharmV::getV12).collect(Collectors.toList()); + List data24 = valueTypeList.stream().map(DataInharmV::getV13).collect(Collectors.toList()); + List data25 = valueTypeList.stream().map(DataInharmV::getV14).collect(Collectors.toList()); + List data26 = valueTypeList.stream().map(DataInharmV::getV15).collect(Collectors.toList()); + List data27 = valueTypeList.stream().map(DataInharmV::getV16).collect(Collectors.toList()); + List data28 = valueTypeList.stream().map(DataInharmV::getV17).collect(Collectors.toList()); + List data29 = valueTypeList.stream().map(DataInharmV::getV18).collect(Collectors.toList()); + List data30 = valueTypeList.stream().map(DataInharmV::getV19).collect(Collectors.toList()); + List data31 = valueTypeList.stream().map(DataInharmV::getV20).collect(Collectors.toList()); + List data32 = valueTypeList.stream().map(DataInharmV::getV21).collect(Collectors.toList()); + List data33 = valueTypeList.stream().map(DataInharmV::getV22).collect(Collectors.toList()); + List data34 = valueTypeList.stream().map(DataInharmV::getV23).collect(Collectors.toList()); + List data35 = valueTypeList.stream().map(DataInharmV::getV24).collect(Collectors.toList()); + List data36 = valueTypeList.stream().map(DataInharmV::getV25).collect(Collectors.toList()); + List data37 = valueTypeList.stream().map(DataInharmV::getV26).collect(Collectors.toList()); + List data38 = valueTypeList.stream().map(DataInharmV::getV27).collect(Collectors.toList()); + List data39 = valueTypeList.stream().map(DataInharmV::getV28).collect(Collectors.toList()); + List data40 = valueTypeList.stream().map(DataInharmV::getV29).collect(Collectors.toList()); + List data41 = valueTypeList.stream().map(DataInharmV::getV30).collect(Collectors.toList()); + List data42 = valueTypeList.stream().map(DataInharmV::getV31).collect(Collectors.toList()); + List data43 = valueTypeList.stream().map(DataInharmV::getV32).collect(Collectors.toList()); + List data44 = valueTypeList.stream().map(DataInharmV::getV33).collect(Collectors.toList()); + List data45 = valueTypeList.stream().map(DataInharmV::getV34).collect(Collectors.toList()); + List data46 = valueTypeList.stream().map(DataInharmV::getV35).collect(Collectors.toList()); + List data47 = valueTypeList.stream().map(DataInharmV::getV36).collect(Collectors.toList()); + List data48 = valueTypeList.stream().map(DataInharmV::getV37).collect(Collectors.toList()); + List data49 = valueTypeList.stream().map(DataInharmV::getV38).collect(Collectors.toList()); + List data50 = valueTypeList.stream().map(DataInharmV::getV39).collect(Collectors.toList()); + List data51 = valueTypeList.stream().map(DataInharmV::getV40).collect(Collectors.toList()); + List data52 = valueTypeList.stream().map(DataInharmV::getV41).collect(Collectors.toList()); + List data53 = valueTypeList.stream().map(DataInharmV::getV42).collect(Collectors.toList()); + List data54 = valueTypeList.stream().map(DataInharmV::getV43).collect(Collectors.toList()); + List data55 = valueTypeList.stream().map(DataInharmV::getV44).collect(Collectors.toList()); + List data56 = valueTypeList.stream().map(DataInharmV::getV45).collect(Collectors.toList()); + List data57 = valueTypeList.stream().map(DataInharmV::getV46).collect(Collectors.toList()); + List data58 = valueTypeList.stream().map(DataInharmV::getV47).collect(Collectors.toList()); + List data59 = valueTypeList.stream().map(DataInharmV::getV48).collect(Collectors.toList()); + List data60 = valueTypeList.stream().map(DataInharmV::getV49).collect(Collectors.toList()); + List data61 = valueTypeList.stream().map(DataInharmV::getV50).collect(Collectors.toList()); + + List> lists = Arrays.asList(data12,data13,data14 + ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 + ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 + ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 + ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 + ,data55,data56,data57,data58,data59,data60,data61); + value.setValueList(lists); + valueTypes.add(value); + }); + type.setValueTypeList(valueTypes); + phasicTypes.add(type); + }); + dto.setPhasicTypeList(phasicTypes); + result.add(dto); + }); + } + return result; + } + + @Override + public void addList(List list) { + + } + /** * 按监测点集合、时间条件获取dataI分钟数据 * timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理 diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataPltImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataPltImpl.java index 0a77ae4..2184c55 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataPltImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataPltImpl.java @@ -1,15 +1,17 @@ package com.njcn.dataProcess.service.impl.influxdb; import cn.hutool.core.collection.CollectionUtil; -import com.njcn.common.utils.HarmonicTimesUtil; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.imapper.DataPltMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataPltRelationMapper; import com.njcn.dataProcess.dto.DataPltDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; -import com.njcn.dataProcess.po.influx.DataI; import com.njcn.dataProcess.po.influx.DataPlt; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataPltDto; +import com.njcn.dataProcess.pojo.po.RStatDataPltD; import com.njcn.dataProcess.service.IDataPlt; -import com.njcn.influx.constant.InfluxDbSqlConstant; +import com.njcn.dataProcess.util.TimeUtils; import com.njcn.influx.query.InfluxQueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; @@ -18,9 +20,7 @@ import org.springframework.stereotype.Service; import java.time.ZoneId; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -32,7 +32,7 @@ import java.util.stream.Collectors; */ @Service("InfluxdbDataPltImpl") @RequiredArgsConstructor -public class InfluxdbDataPltImpl implements IDataPlt { +public class InfluxdbDataPltImpl extends MppServiceImpl implements IDataPlt { private final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault()); @@ -70,6 +70,52 @@ public class InfluxdbDataPltImpl implements IDataPlt { return result; } + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + List data = getMinuteDataPlt(lineParam.getLineId(), lineParam.getStartTime(), lineParam.getEndTime(),lineParam.getAbnormalTime()); + if (CollectionUtil.isNotEmpty(data)) { + String time = TimeUtils.StringTimeToString(lineParam.getStartTime()); + //以监测点分组 + Map> lineMap = data.stream().collect(Collectors.groupingBy(DataPlt::getLineId)); + lineMap.forEach((line,lineList)->{ + CommonMinuteDto dto = new CommonMinuteDto(); + dto.setLineId(line); + dto.setTime(time); + dto.setQualityFlag(lineList.get(0).getQualityFlag()); + //以相别分组 + Map> phasicTypeMap = lineList.stream().collect(Collectors.groupingBy(DataPlt::getPhasicType)); + List phasicTypes = new ArrayList<>(); + phasicTypeMap.forEach((phasicType,phasicTypeList)->{ + CommonMinuteDto.PhasicType type = new CommonMinuteDto.PhasicType(); + type.setPhasicType(phasicType); + + List valueTypes = new ArrayList<>(); + CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); + value.setValueType(null); + + //规定好集合指标参数 + List data1 = phasicTypeList.stream().map(DataPlt::getPlt).collect(Collectors.toList()); + + List> lists = Collections.singletonList(data1); + value.setValueList(lists); + valueTypes.add(value); + + type.setValueTypeList(valueTypes); + phasicTypes.add(type); + }); + dto.setPhasicTypeList(phasicTypes); + result.add(dto); + }); + } + return result; + } + + @Override + public void addList(List list) { + + } + /** * 按监测点集合、时间条件获取dataI分钟数据 * timeMap参数来判断是否进行数据处理 timeMap为空则不进行数据处理 diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateIImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateIImpl.java new file mode 100644 index 0000000..21f2575 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateIImpl.java @@ -0,0 +1,48 @@ +package com.njcn.dataProcess.service.impl.relation; + +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateIRelationMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateIDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmRateID; +import com.njcn.dataProcess.service.IDataHarmRateI; +import com.njcn.dataProcess.util.TimeUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * @author xy + */ +@Service("RelationDataHarmRateIImpl") +@RequiredArgsConstructor +public class RelationDataHarmRateIImpl extends MppServiceImpl implements IDataHarmRateI { + + @Resource + private IDataHarmRateI dataHarmRateI; + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } + + @Override + public void addList(List list) { + List result = new ArrayList<>(); + list.forEach(item->{ + RStatDataHarmRateID data = new RStatDataHarmRateID(); + data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime())); + data.setPhasicType(item.getPhasicType()); + data.setQualityFlag(Integer.valueOf(item.getQualityFlag())); + BeanUtils.copyProperties(item, data); + result.add(data); + }); + dataHarmRateI.saveOrUpdateBatchByMultiId(result); + } +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateVImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateVImpl.java index 3933454..0e15d6d 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateVImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmRateVImpl.java @@ -1,13 +1,19 @@ package com.njcn.dataProcess.service.impl.relation; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.DataHarmrateVRelationMapper; import com.njcn.dataProcess.dao.relation.mapper.DataIRelationMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmRateVRelationMapper; import com.njcn.dataProcess.dto.DataHarmrateVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.relation.DataHarmrateV; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataHarmRateVDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmRateVD; import com.njcn.dataProcess.service.IDataHarmRateV; import com.njcn.dataProcess.util.BeanFeildUtils; +import com.njcn.dataProcess.util.TimeUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.beans.BeanUtils; @@ -24,11 +30,13 @@ import java.util.stream.Collectors; */ @Service("RelationDataHarmRateVImpl") @RequiredArgsConstructor -public class RelationDataHarmRateVImpl implements IDataHarmRateV { +public class RelationDataHarmRateVImpl extends MppServiceImpl implements IDataHarmRateV { @Resource private DataIRelationMapper dataIRelationMapper; private final DataHarmrateVRelationMapper dataHarmrateVRelationMapper; + @Resource + private IDataHarmRateV dataHarmRateV; @Override public List getRawData(LineCountEvaluateParam lineParam) { @@ -62,4 +70,23 @@ public class RelationDataHarmRateVImpl implements IDataHarmRateV { } } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } + + @Override + public void addList(List list) { + List result = new ArrayList<>(); + list.forEach(item->{ + RStatDataHarmRateVD data = new RStatDataHarmRateVD(); + data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime())); + data.setPhasicType(item.getPhasicType()); + data.setQualityFlag(Integer.valueOf(item.getQualityFlag())); + BeanUtils.copyProperties(item, data); + result.add(data); + }); + dataHarmRateV.saveOrUpdateBatchByMultiId(result); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmpowerSImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmpowerSImpl.java index 4a6eaf4..4c248e8 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmpowerSImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataHarmpowerSImpl.java @@ -1,15 +1,25 @@ package com.njcn.dataProcess.service.impl.relation; -import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.DataHarmpowerSRelationMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataHarmPowerSRelationMapper; +import com.njcn.dataProcess.dto.DataHarmpowerSDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.relation.DataHarmpowerS; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataHarmPowerSDto; +import com.njcn.dataProcess.pojo.po.RStatDataHarmPowerSD; import com.njcn.dataProcess.service.IDataHarmpowerS; import com.njcn.dataProcess.util.BeanFeildUtils; +import com.njcn.dataProcess.util.TimeUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -22,8 +32,12 @@ import java.util.stream.Collectors; */ @Service("RelationDataHarmpowerSImpl") @RequiredArgsConstructor -public class RelationDataHarmpowerSImpl implements IDataHarmpowerS { +public class RelationDataHarmpowerSImpl extends MppServiceImpl implements IDataHarmpowerS { + private final DataHarmpowerSRelationMapper dataHarmpowerSRelationMapper; + @Resource + private IDataHarmpowerS dataHarmPowerS; + @Override public void batchInsertion(List dataHarmpowerSDTOList) { int totalCount = dataHarmpowerSDTOList.size(); @@ -49,4 +63,23 @@ public class RelationDataHarmpowerSImpl implements IDataHarmpowerS { } } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } + + @Override + public void addList(List list) { + List result = new ArrayList<>(); + list.forEach(item->{ + RStatDataHarmPowerSD data = new RStatDataHarmPowerSD(); + data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime())); + data.setPhasicType(item.getPhasicType()); + data.setQualityFlag(Integer.valueOf(item.getQualityFlag())); + BeanUtils.copyProperties(item, data); + result.add(data); + }); + dataHarmPowerS.saveOrUpdateBatchByMultiId(result); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmIImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmIImpl.java index cc15b61..cb07f86 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmIImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmIImpl.java @@ -1,16 +1,25 @@ package com.njcn.dataProcess.service.impl.relation; -import com.njcn.dataProcess.dto.DataInharmIDTO; - +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.DataInharmIRelationMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmIRelationMapper; +import com.njcn.dataProcess.dto.DataInharmIDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.relation.DataInharmI; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmIDto; +import com.njcn.dataProcess.pojo.po.RStatDataInHarmID; import com.njcn.dataProcess.service.IDataInharmI; import com.njcn.dataProcess.util.BeanFeildUtils; +import com.njcn.dataProcess.util.TimeUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -21,9 +30,11 @@ import java.util.stream.Collectors; */ @Service("RelationDataInharmIImpl") @RequiredArgsConstructor -public class RelationDataInharmIImpl implements IDataInharmI { - private final DataInharmIRelationMapper dataVInharmIMapper; +public class RelationDataInharmIImpl extends MppServiceImpl implements IDataInharmI { + private final DataInharmIRelationMapper dataVInharmIMapper; + @Resource + private IDataInharmI dataInharmI; @Override public void batchInsertion(List dataInharmIDTOList) { @@ -50,4 +61,23 @@ public class RelationDataInharmIImpl implements IDataInharmI { dataVInharmIMapper.insertBatchSomeColumn(dataInharmIList); } } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } + + @Override + public void addList(List list) { + List result = new ArrayList<>(); + list.forEach(item->{ + RStatDataInHarmID data = new RStatDataInHarmID(); + data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime())); + data.setPhasicType(item.getPhasicType()); + data.setQualityFlag(Integer.valueOf(item.getQualityFlag())); + BeanUtils.copyProperties(item, data); + result.add(data); + }); + dataInharmI.saveOrUpdateBatchByMultiId(result); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmVImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmVImpl.java index ff33e6d..9cb1b9e 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmVImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataInharmVImpl.java @@ -1,18 +1,25 @@ package com.njcn.dataProcess.service.impl.relation; -import com.njcn.dataProcess.dto.DataInharmVDTO; - +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.DataVInharmVRelationMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataInHarmVRelationMapper; +import com.njcn.dataProcess.dto.DataInharmVDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.relation.DataInharmV; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataHarmDto; +import com.njcn.dataProcess.pojo.dto.DataInHarmVDto; +import com.njcn.dataProcess.pojo.po.RStatDataInHarmVD; import com.njcn.dataProcess.service.IDataInharmV; import com.njcn.dataProcess.util.BeanFeildUtils; +import com.njcn.dataProcess.util.TimeUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -24,8 +31,11 @@ import java.util.stream.Collectors; */ @Service("RelationDataInharmVImpl") @RequiredArgsConstructor -public class RelationDataInharmVImpl implements IDataInharmV { +public class RelationDataInharmVImpl extends MppServiceImpl implements IDataInharmV { + private final DataVInharmVRelationMapper dataVInharmVRelationMapper; + @Resource + private IDataInharmV dataInHarmV; @Override @@ -59,4 +69,23 @@ public class RelationDataInharmVImpl implements IDataInharmV { public List getRawData(LineCountEvaluateParam lineParam) { return Collections.emptyList(); } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } + + @Override + public void addList(List list) { + List result = new ArrayList<>(); + list.forEach(item->{ + RStatDataInHarmVD data = new RStatDataInHarmVD(); + data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime())); + data.setPhasicType(item.getPhasicType()); + data.setQualityFlag(Integer.valueOf(item.getQualityFlag())); + BeanUtils.copyProperties(item, data); + result.add(data); + }); + dataInHarmV.saveOrUpdateBatchByMultiId(result); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataPltImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataPltImpl.java index ca02ea2..09c3d1d 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataPltImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationDataPltImpl.java @@ -1,18 +1,23 @@ package com.njcn.dataProcess.service.impl.relation; -import com.njcn.dataProcess.dto.DataPltDTO; - +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.DataPltRelationMapper; +import com.njcn.dataProcess.dao.relation.mapper.RStatDataPltRelationMapper; +import com.njcn.dataProcess.dto.DataPltDTO; import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.relation.DataPlt; +import com.njcn.dataProcess.pojo.dto.CommonMinuteDto; import com.njcn.dataProcess.pojo.dto.DataPltDto; +import com.njcn.dataProcess.pojo.po.RStatDataPltD; import com.njcn.dataProcess.service.IDataPlt; import com.njcn.dataProcess.util.BeanFeildUtils; +import com.njcn.dataProcess.util.TimeUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.ListUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -26,9 +31,11 @@ import java.util.stream.Collectors; */ @Service("RelationDataPltImpl") @RequiredArgsConstructor -public class RelationDataPltImpl implements IDataPlt { +public class RelationDataPltImpl extends MppServiceImpl implements IDataPlt { private final DataPltRelationMapper dataPltRelationMapper; + private final IDataPlt dataPlt; + @Override public void batchInsertion(List dataPltDTOList) { int totalCount = dataPltDTOList.size(); @@ -59,4 +66,23 @@ public class RelationDataPltImpl implements IDataPlt { public List getRawData(LineCountEvaluateParam lineParam) { return Collections.emptyList(); } + + @Override + public List getBaseData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } + + @Override + public void addList(List list) { + List result = new ArrayList<>(); + list.forEach(item->{ + RStatDataPltD data = new RStatDataPltD(); + data.setTime(TimeUtils.LocalDataTimeToLocalDate2(item.getTime())); + data.setPhasicType(item.getPhasicType()); + data.setQualityFlag(Integer.valueOf(item.getQualityFlag())); + BeanUtils.copyProperties(item, data); + result.add(data); + }); + dataPlt.saveOrUpdateBatchByMultiId(result); + } }