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 a44d642..69ab099 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 @@ -1,9 +1,7 @@ package com.njcn.algorithm.executor; -import com.njcn.algorithm.service.line.IDataCleanService; -import com.njcn.algorithm.service.line.IDataCrossingService; -import com.njcn.algorithm.service.line.IDataIntegrityService; -import com.njcn.algorithm.service.line.IDayDataService; +import com.njcn.algorithm.pojo.bo.CalculatedParam; +import com.njcn.algorithm.service.line.*; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.core.NodeComponent; @@ -33,17 +31,20 @@ public class MeasurementExecutor extends BaseExecutor { private IDataCrossingService dataCrossingService; @Resource private IDataIntegrityService dataIntegrityService; - + @Resource + private IEventDetailService eventDetailService; /** * 数据清洗 电压表 * dataV表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataVClean", nodeType = NodeTypeEnum.COMMON) public boolean dataVCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataVClean", nodeType = NodeTypeEnum.COMMON) public void dataVCleanProcess(NodeComponent bindCmp) { dataCleanService.dataVCleanHandler(bindCmp.getRequestData()); @@ -52,12 +53,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 电流表 * dataI表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataIClean", nodeType = NodeTypeEnum.COMMON) public boolean dataICleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataIClean", nodeType = NodeTypeEnum.COMMON) public void dataICleanProcess(NodeComponent bindCmp) { dataCleanService.dataICleanHandler(bindCmp.getRequestData()); @@ -66,12 +69,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 长闪表 * dataPlt表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataPltClean", nodeType = NodeTypeEnum.COMMON) public boolean dataPltCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataPltClean", nodeType = NodeTypeEnum.COMMON) public void dataPltCleanProcess(NodeComponent bindCmp) { dataCleanService.dataPltCleanHandler(bindCmp.getRequestData()); @@ -80,12 +85,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 间谐波电压表 * DataInHarmV表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataInHarmVClean", nodeType = NodeTypeEnum.COMMON) public boolean dataInHarmVCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataInHarmVClean", nodeType = NodeTypeEnum.COMMON) public void dataInHarmVCleanProcess(NodeComponent bindCmp) { dataCleanService.dataInHarmVCleanHandler(bindCmp.getRequestData()); @@ -94,12 +101,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 谐波电压含有率 * DataHarmRateV表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataHarmRateVClean", nodeType = NodeTypeEnum.COMMON) public boolean dataHarmRateVCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmRateVClean", nodeType = NodeTypeEnum.COMMON) public void dataHarmRateVCleanProcess(NodeComponent bindCmp) { dataCleanService.dataHarmRateVCleanHandler(bindCmp.getRequestData()); @@ -108,12 +117,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 有功功率表 * DataHarmPowerP表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataHarmPowerPClean", nodeType = NodeTypeEnum.COMMON) public boolean dataHarmPowerPCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPowerPClean", nodeType = NodeTypeEnum.COMMON) public void dataHarmPowerPCleanProcess(NodeComponent bindCmp) { dataCleanService.dataHarmPowerPCleanHandler(bindCmp.getRequestData()); @@ -122,12 +133,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 谐波电压角度表 * DataHarmPhasicV表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataHarmPhasicVClean", nodeType = NodeTypeEnum.COMMON) public boolean dataHarmPhasicVCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPhasicVClean", nodeType = NodeTypeEnum.COMMON) public void dataHarmPhasicVCleanProcess(NodeComponent bindCmp) { dataCleanService.dataHarmPhasicVCleanHandler(bindCmp.getRequestData()); @@ -136,12 +149,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 电压波动表 * DataFluc表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataFlucClean", nodeType = NodeTypeEnum.COMMON) public boolean dataFlucCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataFlucClean", nodeType = NodeTypeEnum.COMMON) public void dataFlucCleanProcess(NodeComponent bindCmp) { dataCleanService.dataFlucCleanHandler(bindCmp.getRequestData()); @@ -150,12 +165,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 数据清洗 * DataFlicker表 + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataFlickerClean", nodeType = NodeTypeEnum.COMMON) public boolean dataFlickerCleanAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataFlickerClean", nodeType = NodeTypeEnum.COMMON) public void dataFlickerCleanProcess(NodeComponent bindCmp) { dataCleanService.dataFlickerCleanHandler(bindCmp.getRequestData()); @@ -164,12 +181,14 @@ public class MeasurementExecutor extends BaseExecutor { /** * 监测点报表_日表(r_stat_data_*_d) + * * @author xy */ @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataV", nodeType = NodeTypeEnum.COMMON) public boolean dataVToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataV", nodeType = NodeTypeEnum.COMMON) public void dataVToDayProcess(NodeComponent bindCmp) { dayDataService.dataVHandler(bindCmp.getRequestData()); @@ -179,6 +198,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataIToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataI", nodeType = NodeTypeEnum.COMMON) public void dataIToDayProcess(NodeComponent bindCmp) { dayDataService.dataIHandler(bindCmp.getRequestData()); @@ -188,6 +208,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataFlickerToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataFlicker", nodeType = NodeTypeEnum.COMMON) public void dataFlickerToDayProcess(NodeComponent bindCmp) { dayDataService.dataFlickerHandler(bindCmp.getRequestData()); @@ -197,6 +218,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataFlucToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataFluc", nodeType = NodeTypeEnum.COMMON) public void dataFlucToDayProcess(NodeComponent bindCmp) { dayDataService.dataFlucHandler(bindCmp.getRequestData()); @@ -206,6 +228,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataHarmPhasicIToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPhasicI", nodeType = NodeTypeEnum.COMMON) public void dataHarmPhasicIToDayProcess(NodeComponent bindCmp) { dayDataService.dataHarmPhasicIHandler(bindCmp.getRequestData()); @@ -215,6 +238,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataHarmPhasicVToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPhasicV", nodeType = NodeTypeEnum.COMMON) public void dataHarmPhasicVToDayProcess(NodeComponent bindCmp) { dayDataService.dataHarmPhasicVHandler(bindCmp.getRequestData()); @@ -224,6 +248,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataHarmPowerPToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPowerP", nodeType = NodeTypeEnum.COMMON) public void dataHarmPowerPToDayProcess(NodeComponent bindCmp) { dayDataService.dataHarmPowerPHandler(bindCmp.getRequestData()); @@ -233,6 +258,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataHarmPowerQToDayAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataHarmPowerQ", nodeType = NodeTypeEnum.COMMON) public void dataHarmPowerQToDayProcess(NodeComponent bindCmp) { dayDataService.dataHarmPowerQHandler(bindCmp.getRequestData()); @@ -242,6 +268,7 @@ public class MeasurementExecutor extends BaseExecutor { 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()); @@ -251,6 +278,7 @@ public class MeasurementExecutor extends BaseExecutor { 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()); @@ -260,6 +288,7 @@ public class MeasurementExecutor extends BaseExecutor { 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()); @@ -269,6 +298,7 @@ public class MeasurementExecutor extends BaseExecutor { 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()); @@ -278,6 +308,7 @@ public class MeasurementExecutor extends BaseExecutor { 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()); @@ -287,17 +318,51 @@ public class MeasurementExecutor extends BaseExecutor { 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()); } + @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rMpEventDetail", nodeType = NodeTypeEnum.COMMON) + public boolean processRMpEventDetailAccess(NodeComponent bindCmp) { + return isAccess(bindCmp); + } + + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rMpEventDetail", nodeType = NodeTypeEnum.COMMON) + public void processRMpEventDetailProcess(NodeComponent bindCmp) { + String tag = bindCmp.getTag(); + CalculatedParam calculatedParam = bindCmp.getRequestData(); + if ("r_mp_event_detail_d".equalsIgnoreCase(tag)) { + //日表 + eventDetailService.dataDayHandle(calculatedParam); + } else if ("r_mp_event_detail_m".equalsIgnoreCase(tag)) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //月表 + eventDetailService.dataMonthHandle(calculatedParam); + } + } else if ("r_mp_event_detail_q".equalsIgnoreCase(tag)) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //季表 + eventDetailService.dataQuarterHandle(calculatedParam); + } + } else if ("r_mp_event_detail_y".equalsIgnoreCase(tag)) { + //数据补招不执行非日表算法 + if (!calculatedParam.isRepair()) { + //年表 + eventDetailService.dataYearHandle(calculatedParam); + } + } + } @LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "dataLimitRate", nodeType = NodeTypeEnum.COMMON) public boolean dataLimitRateAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataLimitRate", nodeType = NodeTypeEnum.COMMON) public void dataLimitRateProcess(NodeComponent bindCmp) { dataCrossingService.limitRateHandler(bindCmp.getRequestData()); @@ -307,6 +372,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataLimitTargetAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataLimitTarget", nodeType = NodeTypeEnum.COMMON) public void dataLimitTargetProcess(NodeComponent bindCmp) { dataCrossingService.limitTargetHandler(bindCmp.getRequestData()); @@ -316,6 +382,7 @@ public class MeasurementExecutor extends BaseExecutor { public boolean dataIntegrityAccess(NodeComponent bindCmp) { return isAccess(bindCmp); } + @LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "dataIntegrity", nodeType = NodeTypeEnum.COMMON) public void dataIntegrityProcess(NodeComponent bindCmp) { dataIntegrityService.dataIntegrity(bindCmp.getRequestData()); diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java index db7d8c6..305eeda 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java @@ -24,7 +24,6 @@ import com.njcn.influx.pojo.constant.InfluxDBTableConstant; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.ListUtils; -import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -34,7 +33,6 @@ import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.lang.reflect.Field; import java.lang.reflect.Method; -import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.function.Function; diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IEventDetailServiceImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IEventDetailServiceImpl.java index ba036bb..46a6f99 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IEventDetailServiceImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IEventDetailServiceImpl.java @@ -1,13 +1,39 @@ package com.njcn.algorithm.serviceimpl.line; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.util.ObjectUtil; import com.njcn.algorithm.pojo.bo.CalculatedParam; import com.njcn.algorithm.service.line.IEventDetailService; +import com.njcn.dataProcess.api.EventDetailFeignClient; +import com.njcn.dataProcess.api.RmpEventDetailFeignClient; +import com.njcn.dataProcess.dto.RmpEventDetailDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; +import com.njcn.dataProcess.pojo.dto.DataLimitDetailDto; +import com.njcn.dataProcess.util.TimeUtils; +import com.njcn.device.biz.pojo.po.Overlimit; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.pojo.po.DictData; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.ListUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import javax.annotation.Resource; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + /** * @author wr * @description @@ -17,26 +43,163 @@ import org.springframework.stereotype.Component; @Component @RequiredArgsConstructor public class IEventDetailServiceImpl implements IEventDetailService { - private static final Logger logger = LoggerFactory.getLogger(IDataOnlineRateServiceImpl.class); + @Value("${line.num}") + private Integer NUM = 100; + @Resource + private RmpEventDetailFeignClient eventDetailFeignClient; + @Resource + private DicDataFeignClient dicDataFeignClient; + @Resource + private EventDetailFeignClient eventDetailCountFeignClient; @Override public void dataDayHandle(CalculatedParam calculatedParam) { + logger.info("{},r_mp_event_detail_d算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfDay(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfDay(calculatedParam.getDataDate())); + List lineIds = calculatedParam.getIdList(); + + DictData dip = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_DIP.getCode()).getData(); + DictData rise = dicDataFeignClient.getDicDataByCode(DicDataEnum.VOLTAGE_RISE.getCode()).getData(); + DictData interruptions = dicDataFeignClient.getDicDataByCode(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getData(); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(lineIds, NUM); + for (List pendingId : pendingIds) { + lineParam.setLineId(pendingId); + List data = eventDetailFeignClient.getRawData(lineParam).getData(); + if (CollUtil.isNotEmpty(data)) { + Map> eventDetailMap = + data.stream().collect(Collectors.groupingBy(RmpEventDetailDTO::getMeasurementPointId)); + eventDetailMap.forEach((key, value) -> { + DataEventDetailDto dto = new DataEventDetailDto(); + dto.setMeasurementPointId(key); + dto.setDataDate(LocalDateTimeUtil.parseDate(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)); + dto.setSwellTimes((int) value.stream().filter(x -> isData(x, dip)).count()); + dto.setSagTimes((int) value.stream().filter(x -> isData(x, rise)).count()); + dto.setInterruptTimes((int) value.stream().filter(x -> isData(x, interruptions)).count()); + result.add(dto); + }); + } + } + if(CollUtil.isNotEmpty(result)){ + eventDetailCountFeignClient.batchInsertionD(result); + } } + public Boolean isData(RmpEventDetailDTO dto, DictData dictData) { + if (ObjectUtil.isNull(dictData)) { + return false; + } else { + if (dictData.getId().trim().equals(dto.getEventType().trim())) { + return true; + } else { + return false; + } + } + } + + @Override public void dataMonthHandle(CalculatedParam calculatedParam) { - + logger.info("{},r_mp_event_detail_m算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfMonth(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfMonth(calculatedParam.getDataDate())); + List lineIds = calculatedParam.getIdList(); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(lineIds, NUM); + for (List pendingId : pendingIds) { + lineParam.setLineId(pendingId); + List data = eventDetailCountFeignClient.getRawDataD(lineParam).getData(); + if (CollUtil.isNotEmpty(data)) { + Map> eventDetailMap = + data.stream().collect(Collectors.groupingBy(DataEventDetailDto::getMeasurementPointId)); + eventDetailMap.forEach((key, value) -> { + DataEventDetailDto dto = new DataEventDetailDto(); + dto.setMeasurementPointId(key); + dto.setDataDate(LocalDateTimeUtil.parseDate(lineParam.getStartTime(), DatePattern.NORM_DATETIME_PATTERN)); + dto.setSwellTimes(value.stream().mapToInt(DataEventDetailDto::getSwellTimes).sum()); + dto.setSagTimes(value.stream().mapToInt(DataEventDetailDto::getSagTimes).sum()); + dto.setInterruptTimes(value.stream().mapToInt(DataEventDetailDto::getInterruptTimes).sum()); + result.add(dto); + }); + } + } + if(CollUtil.isNotEmpty(result)){ + eventDetailCountFeignClient.batchInsertionM(result); + } } @Override public void dataQuarterHandle(CalculatedParam calculatedParam) { - + logger.info("{},r_mp_event_detail_q算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfQuarter(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfQuarter(calculatedParam.getDataDate())); + List lineIds = calculatedParam.getIdList(); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(lineIds, NUM); + for (List pendingId : pendingIds) { + lineParam.setLineId(pendingId); + List data = eventDetailCountFeignClient.getRawDataM(lineParam).getData(); + if (CollUtil.isNotEmpty(data)) { + Map> eventDetailMap = + data.stream().collect(Collectors.groupingBy(DataEventDetailDto::getMeasurementPointId)); + eventDetailMap.forEach((key, value) -> { + DataEventDetailDto dto = new DataEventDetailDto(); + dto.setMeasurementPointId(key); + dto.setDataDate(LocalDateTimeUtil.parseDate(lineParam.getStartTime(), DatePattern.NORM_DATETIME_PATTERN)); + dto.setSwellTimes(value.stream().mapToInt(DataEventDetailDto::getSwellTimes).sum()); + dto.setSagTimes(value.stream().mapToInt(DataEventDetailDto::getSagTimes).sum()); + dto.setInterruptTimes(value.stream().mapToInt(DataEventDetailDto::getInterruptTimes).sum()); + result.add(dto); + }); + } + } + if(CollUtil.isNotEmpty(result)){ + eventDetailCountFeignClient.batchInsertionQ(result); + } } @Override public void dataYearHandle(CalculatedParam calculatedParam) { - + logger.info("{},r_mp_event_detail_y算法开始=====》", LocalDateTime.now()); + List result = new ArrayList<>(); + //远程接口获取分钟数据 + LineCountEvaluateParam lineParam = new LineCountEvaluateParam(); + lineParam.setStartTime(TimeUtils.getBeginOfYear(calculatedParam.getDataDate())); + lineParam.setEndTime(TimeUtils.getEndOfYear(calculatedParam.getDataDate())); + List lineIds = calculatedParam.getIdList(); + //以100个监测点分片处理 + List> pendingIds = ListUtils.partition(lineIds, NUM); + for (List pendingId : pendingIds) { + lineParam.setLineId(pendingId); + List data = eventDetailCountFeignClient.getRawDataQ(lineParam).getData(); + if (CollUtil.isNotEmpty(data)) { + Map> eventDetailMap = + data.stream().collect(Collectors.groupingBy(DataEventDetailDto::getMeasurementPointId)); + eventDetailMap.forEach((key, value) -> { + DataEventDetailDto dto = new DataEventDetailDto(); + dto.setMeasurementPointId(key); + dto.setDataDate(LocalDateTimeUtil.parseDate(lineParam.getStartTime(), DatePattern.NORM_DATETIME_PATTERN)); + dto.setSwellTimes(value.stream().mapToInt(DataEventDetailDto::getSwellTimes).sum()); + dto.setSagTimes(value.stream().mapToInt(DataEventDetailDto::getSagTimes).sum()); + dto.setInterruptTimes(value.stream().mapToInt(DataEventDetailDto::getInterruptTimes).sum()); + result.add(dto); + }); + } + } + if(CollUtil.isNotEmpty(result)){ + eventDetailCountFeignClient.batchInsertionY(result); + } } } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/EventDetailFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/EventDetailFeignClient.java new file mode 100644 index 0000000..e2b3b1f --- /dev/null +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/EventDetailFeignClient.java @@ -0,0 +1,42 @@ +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.EventDetailFeignClientClientFallbackFactory; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @Description: + * @Author: wr + * @Date: 2025/3/7 9:30 + */ +@FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/eventDetailCount", fallbackFactory = EventDetailFeignClientClientFallbackFactory.class, contextId = "eventDetailCount") +public interface EventDetailFeignClient { + + @PostMapping("/batchInsertionD") + HttpResult batchInsertionD(@RequestBody List eventDetailDto); + + @PostMapping("/batchInsertionM") + HttpResult batchInsertionM(@RequestBody List eventDetailDto); + + @PostMapping("/batchInsertionQ") + HttpResult batchInsertionQ(@RequestBody List eventDetailDto); + + @PostMapping("/batchInsertionY") + HttpResult batchInsertionY(@RequestBody List eventDetailDto); + + @PostMapping("/getRawDataD") + HttpResult> getRawDataD(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/getRawDataM") + HttpResult> getRawDataM(@RequestBody LineCountEvaluateParam lineParam); + + @PostMapping("/getRawDataQ") + HttpResult> getRawDataQ(@RequestBody LineCountEvaluateParam lineParam); +} diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/RmpEventDetailFeignClient.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/RmpEventDetailFeignClient.java index 659e8e2..848d31f 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/RmpEventDetailFeignClient.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/RmpEventDetailFeignClient.java @@ -5,10 +5,13 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.fallback.RmpEventFeignClientFallbackFactory; import com.njcn.dataProcess.dto.RmpEventDetailDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; 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 denghuajun * @version 1.0.0 @@ -17,9 +20,9 @@ import org.springframework.web.bind.annotation.RequestBody; @FeignClient(value = ServerInfo.PLATFORM_DATA_PROCESSING_BOOT, path = "/rmpEventDetail", fallbackFactory = RmpEventFeignClientFallbackFactory.class, contextId = "rmpEventDetail") public interface RmpEventDetailFeignClient { - - @PostMapping("/batchInsertion") HttpResult batchInsertion(@RequestBody RmpEventDetailDTO rmpEventDetailDTO); + @PostMapping("/getRawData") + HttpResult> getRawData(@RequestBody LineCountEvaluateParam lineParam); } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/EventDetailFeignClientClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/EventDetailFeignClientClientFallbackFactory.java new file mode 100644 index 0000000..402f4f4 --- /dev/null +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/EventDetailFeignClientClientFallbackFactory.java @@ -0,0 +1,86 @@ +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.EventDetailFeignClient; +import com.njcn.dataProcess.api.PqDataVerifyFeignClient; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; +import com.njcn.dataProcess.pojo.po.PqDataVerify; +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 + * @version 1.0.0 + * @date 2025年02月13日 20:13 + */ +@Slf4j +@Component +public class EventDetailFeignClientClientFallbackFactory implements FallbackFactory { + + /** + * 输出远程请求接口异常日志 + * @param cause RPC请求异常 + */ + @Override + public EventDetailFeignClient 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 EventDetailFeignClient() { + + + @Override + public HttpResult batchInsertionD(List eventDetailDto) { + log.error("{}异常,降级处理,异常为:{}","暂态事件(天)统计批量插入",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult batchInsertionM(List eventDetailDto) { + log.error("{}异常,降级处理,异常为:{}","暂态事件(月)统计批量插入",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult batchInsertionQ(List eventDetailDto) { + log.error("{}异常,降级处理,异常为:{}","暂态事件(季)统计批量插入",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult batchInsertionY(List eventDetailDto) { + log.error("{}异常,降级处理,异常为:{}","暂态事件(年)统计批量插入",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getRawDataD(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取(天)原始数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getRawDataM(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取(月)原始数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getRawDataQ(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取(季)原始数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/RmpEventFeignClientFallbackFactory.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/RmpEventFeignClientFallbackFactory.java index 116e5ae..b2a7cbc 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/RmpEventFeignClientFallbackFactory.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/api/fallback/RmpEventFeignClientFallbackFactory.java @@ -5,12 +5,14 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.dataProcess.api.RmpEventDetailFeignClient; import com.njcn.dataProcess.dto.RmpEventDetailDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.util.DataProcessingEnumUtil; -import com.njcn.system.utils.SystemEnumUtil; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; +import java.util.List; + /** * @author denghuajun * @version 1.0.0 @@ -42,6 +44,12 @@ public class RmpEventFeignClientFallbackFactory implements FallbackFactory> getRawData(LineCountEvaluateParam lineParam) { + log.error("{}异常,降级处理,异常为:{}","获取时间范围数据",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; } } diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/RmpEventDetailDTO.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/RmpEventDetailDTO.java index 19cdf38..1159a41 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/RmpEventDetailDTO.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/dto/RmpEventDetailDTO.java @@ -20,7 +20,6 @@ public class RmpEventDetailDTO implements Serializable { @ApiModelProperty(value = "暂时事件ID") private String eventId; - @ApiModelProperty(value = "监测点ID(复制)") private String measurementPointId; diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/util/TimeUtils.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/util/TimeUtils.java index 0823b80..2d4886e 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/util/TimeUtils.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/util/TimeUtils.java @@ -105,4 +105,45 @@ public class TimeUtils { DateUtil.parse(time, DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATETIME_PATTERN); } + /** + * 根据日期获取当月零点时间 + * String类型的yyyy-MM-dd转成yyyy-MM-dd HH:mm:ss + */ + public static String getBeginOfQuarter(String time) { + return DateUtil.format( + DateUtil.beginOfQuarter( + DateUtil.parse(time, DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATETIME_PATTERN); + } + + /** + * 根据日期获取当月结束时间 + * String类型的yyyy-MM-dd转成yyyy-MM-dd HH:mm:ss + */ + public static String getEndOfQuarter(String time) { + return DateUtil.format( + DateUtil.endOfQuarter( + DateUtil.parse(time, DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATETIME_PATTERN); + } + + + /** + * 根据日期获取当月零点时间 + * String类型的yyyy-MM-dd转成yyyy-MM-dd HH:mm:ss + */ + public static String getBeginOfYear(String time) { + return DateUtil.format( + DateUtil.beginOfYear( + DateUtil.parse(time, DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATETIME_PATTERN); + } + + /** + * 根据日期获取当月结束时间 + * String类型的yyyy-MM-dd转成yyyy-MM-dd HH:mm:ss + */ + public static String getEndOfYear(String time) { + return DateUtil.format( + DateUtil.endOfYear( + DateUtil.parse(time, DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATETIME_PATTERN); + } + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailController.java index 4685319..238184e 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailController.java @@ -9,6 +9,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.dataProcess.dto.RmpEventDetailDTO; import com.njcn.dataProcess.annotation.InsertBean; import com.njcn.dataProcess.annotation.QueryBean; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.service.IRmpEventDetail; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -21,6 +22,8 @@ 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 hongawen * @version 1.0 @@ -46,14 +49,22 @@ public class RmpEventDetailController extends BaseController { @ApiOperation("批量插入") public HttpResult batchInsertion(@RequestBody RmpEventDetailDTO rmpEventDetailDTO) { String methodDescribe = getMethodDescribe("batchInsertion"); - iRmpEventDetailInsert.batchInsertion(rmpEventDetailDTO); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/getRawData") + @ApiOperation("获取时间范围数据") + public HttpResult> getRawData(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getRawData"); + List rawData = iRmpEventDetailInsert.getRawData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe); + } + + - } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailDController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailDController.java new file mode 100644 index 0000000..5aa0dee --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailDController.java @@ -0,0 +1,69 @@ +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.DataEventDetailDto; +import com.njcn.dataProcess.service.*; +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 hongawen + * @version 1.0 + * @data 2024/11/6 19:48 + */ +@Validated +@Slf4j +@Controller +@RestController +@RequestMapping("/eventDetailCount") +@Api(tags = "暂态事件统计") +public class RmpEventDetailDController extends BaseController { + + @QueryBean + private IRmpEventDetailD eventDetailDQuery; + @InsertBean + private IRmpEventDetailD eventDetailDInsert; + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/batchInsertionD") + @ApiOperation("暂态事件(天)统计批量插入") + public HttpResult batchInsertionD(@RequestBody List eventDetailDto) { + String methodDescribe = getMethodDescribe("batchInsertionD"); + eventDetailDInsert.batchInsertion(eventDetailDto); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getRawDataD") + @ApiOperation("获取(天)原始数据") + public HttpResult> getRawDataD(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getRawDataD"); + List rawData = eventDetailDInsert.getRawData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe); + } + + + + + + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailMController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailMController.java new file mode 100644 index 0000000..1258636 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailMController.java @@ -0,0 +1,71 @@ +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.DataEventDetailDto; +import com.njcn.dataProcess.service.IRmpEventDetailM; +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 hongawen + * @version 1.0 + * @data 2024/11/6 19:48 + */ +@Validated +@Slf4j +@Controller +@RestController +@RequestMapping("/eventDetailCount") +@Api(tags = "暂态事件统计") +public class RmpEventDetailMController extends BaseController { + + + @QueryBean + private IRmpEventDetailM eventDetailMQuery; + @InsertBean + private IRmpEventDetailM eventDetailMInsert; + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/batchInsertionM") + @ApiOperation("暂态事件(月)统计批量插入") + public HttpResult batchInsertionM(@RequestBody List eventDetailDto) { + String methodDescribe = getMethodDescribe("batchInsertionM"); + eventDetailMInsert.batchInsertion(eventDetailDto); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getRawDataM") + @ApiOperation("获取(月)原始数据") + public HttpResult> getRawDataM(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getRawDataM"); + List rawData = eventDetailMInsert.getRawData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe); + } + + + + + + + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailQController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailQController.java new file mode 100644 index 0000000..98a6266 --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailQController.java @@ -0,0 +1,71 @@ +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.DataEventDetailDto; +import com.njcn.dataProcess.service.IRmpEventDetailQ; +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 hongawen + * @version 1.0 + * @data 2024/11/6 19:48 + */ +@Validated +@Slf4j +@Controller +@RestController +@RequestMapping("/eventDetailCount") +@Api(tags = "暂态事件统计") +public class RmpEventDetailQController extends BaseController { + + + @QueryBean + private IRmpEventDetailQ eventDetailQQuery; + @InsertBean + private IRmpEventDetailQ eventDetailQInsert; + + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/batchInsertionQ") + @ApiOperation("暂态事件(季)统计批量插入") + public HttpResult batchInsertionQ(@RequestBody List eventDetailDto) { + String methodDescribe = getMethodDescribe("batchInsertionQ"); + eventDetailQInsert.batchInsertion(eventDetailDto); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getRawDataQ") + @ApiOperation("获取(季)原始数据") + public HttpResult> getRawDataQ(@RequestBody LineCountEvaluateParam lineParam) { + String methodDescribe = getMethodDescribe("getRawDataQ"); + List rawData = eventDetailQInsert.getRawData(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe); + } + + + + + + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailYController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailYController.java new file mode 100644 index 0000000..b4875fb --- /dev/null +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/RmpEventDetailYController.java @@ -0,0 +1,56 @@ +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.pojo.dto.DataEventDetailDto; +import com.njcn.dataProcess.service.IRmpEventDetailY; +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 hongawen + * @version 1.0 + * @data 2024/11/6 19:48 + */ +@Validated +@Slf4j +@Controller +@RestController +@RequestMapping("/eventDetailCount") +@Api(tags = "暂态事件统计") +public class RmpEventDetailYController extends BaseController { + + @QueryBean + private IRmpEventDetailY eventDetailYQuery; + @InsertBean + private IRmpEventDetailY eventDetailYInsert; + + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/batchInsertionY") + @ApiOperation("暂态事件(年)统计批量插入") + public HttpResult batchInsertionY(@RequestBody List eventDetailDto) { + String methodDescribe = getMethodDescribe("batchInsertionY"); + eventDetailYInsert.batchInsertion(eventDetailDto); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + + +} diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetail.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetail.java index 6565651..04a2cc7 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetail.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetail.java @@ -1,6 +1,10 @@ package com.njcn.dataProcess.service; import com.njcn.dataProcess.dto.RmpEventDetailDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; +import com.njcn.dataProcess.pojo.dto.PqsCommunicateDto; + +import java.util.List; /** * Description: @@ -10,5 +14,13 @@ import com.njcn.dataProcess.dto.RmpEventDetailDTO; * @version V1.0.0 */ public interface IRmpEventDetail { + void batchInsertion(RmpEventDetailDTO rmpEventDetailDTO); + + /** + * 获取时间范围数据 + * @param lineParam + * @return + */ + List getRawData(LineCountEvaluateParam lineParam); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailDService.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailD.java similarity index 64% rename from data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailDService.java rename to data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailD.java index cba374a..ab0dfa3 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailDService.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailD.java @@ -2,6 +2,7 @@ package com.njcn.dataProcess.service; import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailD; @@ -12,7 +13,7 @@ import java.util.List; * @Author: wr * @Date: 2025/3/14 13:49 */ -public interface IRmpEventDetailDService extends IMppService { +public interface IRmpEventDetailD extends IMppService { /** * 批量插入数据 @@ -22,4 +23,11 @@ public interface IRmpEventDetailDService extends IMppService { */ void batchInsertion(List eventDetailDto); + + /** + * 获取原始数据 + * @param lineParam + */ + List getRawData(LineCountEvaluateParam lineParam); + } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailMService.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailM.java similarity index 64% rename from data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailMService.java rename to data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailM.java index 5b816b1..5d4411c 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailMService.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailM.java @@ -2,6 +2,7 @@ package com.njcn.dataProcess.service; import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailM; @@ -12,7 +13,7 @@ import java.util.List; * @Author: wr * @Date: 2025/3/14 13:49 */ -public interface IRmpEventDetailMService extends IMppService { +public interface IRmpEventDetailM extends IMppService { /** * 批量插入数据 * @param eventDetailDto @@ -21,4 +22,9 @@ public interface IRmpEventDetailMService extends IMppService { */ void batchInsertion(List eventDetailDto); + /** + * 获取原始数据 + * @param lineParam + */ + List getRawData(LineCountEvaluateParam lineParam); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailQService.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailQ.java similarity index 64% rename from data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailQService.java rename to data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailQ.java index 7a6ec75..bbd2f21 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailQService.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailQ.java @@ -2,6 +2,7 @@ package com.njcn.dataProcess.service; import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailQ; @@ -12,7 +13,7 @@ import java.util.List; * @Author: wr * @Date: 2025/3/14 13:49 */ -public interface IRmpEventDetailQService extends IMppService { +public interface IRmpEventDetailQ extends IMppService { /** * 批量插入数据 * @param eventDetailDto @@ -21,4 +22,9 @@ public interface IRmpEventDetailQService extends IMppService { */ void batchInsertion(List eventDetailDto); + /** + * 获取原始数据 + * @param lineParam + */ + List getRawData(LineCountEvaluateParam lineParam); } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailYService.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailY.java similarity index 86% rename from data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailYService.java rename to data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailY.java index 576eef7..6defdc7 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailYService.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/IRmpEventDetailY.java @@ -12,7 +12,7 @@ import java.util.List; * @Author: wr * @Date: 2025/3/14 13:49 */ -public interface IRmpEventDetailYService extends IMppService { +public interface IRmpEventDetailY extends IMppService { /** * 批量插入数据 diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailDImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailDImpl.java index 51b3fc9..ebcafe9 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailDImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailDImpl.java @@ -2,12 +2,14 @@ package com.njcn.dataProcess.service.impl.influxdb; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailDMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailD; -import com.njcn.dataProcess.service.IRmpEventDetailDService; +import com.njcn.dataProcess.service.IRmpEventDetailD; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; /** @@ -17,11 +19,16 @@ import java.util.List; */ @Service("InfluxdbRmpEventDetailDImpl") @RequiredArgsConstructor -public class InfluxdbRmpEventDetailDImpl extends MppServiceImpl implements IRmpEventDetailDService { +public class InfluxdbRmpEventDetailDImpl extends MppServiceImpl implements IRmpEventDetailD { @Override public void batchInsertion(List eventDetailDto) { } + + @Override + public List getRawData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailImpl.java index a2be645..96750ff 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailImpl.java @@ -1,10 +1,14 @@ package com.njcn.dataProcess.service.impl.influxdb; import com.njcn.dataProcess.dto.RmpEventDetailDTO; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.service.IRmpEventDetail; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; +import java.util.List; + /** * Description: * Date: 2024/11/28 9:07【需求编号】 @@ -20,5 +24,10 @@ public class InfluxdbRmpEventDetailImpl implements IRmpEventDetail { + } + + @Override + public List getRawData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailMImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailMImpl.java index aa198cf..928e862 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailMImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailMImpl.java @@ -2,12 +2,14 @@ package com.njcn.dataProcess.service.impl.influxdb; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailMMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailM; -import com.njcn.dataProcess.service.IRmpEventDetailMService; +import com.njcn.dataProcess.service.IRmpEventDetailM; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; /** @@ -15,13 +17,18 @@ import java.util.List; * @Author: wr * @Date: 2025/3/14 13:54 */ -@Service("InfluxdbRmpEventDetailDImpl") +@Service("InfluxdbRmpEventDetailMImpl") @RequiredArgsConstructor -public class InfluxdbRmpEventDetailMImpl extends MppServiceImpl implements IRmpEventDetailMService { +public class InfluxdbRmpEventDetailMImpl extends MppServiceImpl implements IRmpEventDetailM { @Override public void batchInsertion(List eventDetailDto) { } + + @Override + public List getRawData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailQImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailQImpl.java index 7f468dc..9998f22 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailQImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailQImpl.java @@ -2,12 +2,14 @@ package com.njcn.dataProcess.service.impl.influxdb; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailQMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailQ; -import com.njcn.dataProcess.service.IRmpEventDetailQService; +import com.njcn.dataProcess.service.IRmpEventDetailQ; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; /** @@ -17,11 +19,16 @@ import java.util.List; */ @Service("InfluxdbRmpEventDetailQImpl") @RequiredArgsConstructor -public class InfluxdbRmpEventDetailQImpl extends MppServiceImpl implements IRmpEventDetailQService { +public class InfluxdbRmpEventDetailQImpl extends MppServiceImpl implements IRmpEventDetailQ { @Override public void batchInsertion(List eventDetailDto) { } + + @Override + public List getRawData(LineCountEvaluateParam lineParam) { + return Collections.emptyList(); + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailYImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailYImpl.java index 4b8b066..ea23f88 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailYImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbRmpEventDetailYImpl.java @@ -4,7 +4,7 @@ import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailYMapper; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailY; -import com.njcn.dataProcess.service.IRmpEventDetailYService; +import com.njcn.dataProcess.service.IRmpEventDetailY; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -17,7 +17,7 @@ import java.util.List; */ @Service("InfluxdbRmpEventDetailYImpl") @RequiredArgsConstructor -public class InfluxdbRmpEventDetailYImpl extends MppServiceImpl implements IRmpEventDetailYService { +public class InfluxdbRmpEventDetailYImpl extends MppServiceImpl implements IRmpEventDetailY { @Override diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailDImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailDImpl.java index 459becc..310a844 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailDImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailDImpl.java @@ -1,10 +1,13 @@ package com.njcn.dataProcess.service.impl.relation; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailDMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailD; -import com.njcn.dataProcess.service.IRmpEventDetailDService; +import com.njcn.dataProcess.service.IRmpEventDetailD; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -19,7 +22,7 @@ import java.util.List; */ @Service("RelationRmpEventDetailDImpl") @RequiredArgsConstructor -public class RelationRmpEventDetailDImpl extends MppServiceImpl implements IRmpEventDetailDService { +public class RelationRmpEventDetailDImpl extends MppServiceImpl implements IRmpEventDetailD { @Override @@ -32,4 +35,21 @@ public class RelationRmpEventDetailDImpl extends MppServiceImpl getRawData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RMpEventDetailD::getMeasurementPointId,lineParam.getLineId()) + .ge(RMpEventDetailD::getDataDate,lineParam.getStartTime()) + .le(RMpEventDetailD::getDataDate,lineParam.getEndTime()); + List list = this.list(lambdaQueryWrapper); + + list.forEach(item->{ + DataEventDetailDto dto = new DataEventDetailDto(); + BeanUtils.copyProperties(item,dto); + result.add(dto); + }); + return result; + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailImpl.java index bed202a..08e9f6f 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailImpl.java @@ -1,16 +1,26 @@ package com.njcn.dataProcess.service.impl.relation; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.njcn.dataProcess.constant.PhaseType; import com.njcn.dataProcess.dto.RmpEventDetailDTO; import com.njcn.dataProcess.dao.relation.mapper.RmpEventDetailMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.po.relation.RmpEventDetail; +import com.njcn.dataProcess.pojo.dto.DataLimitRateDto; +import com.njcn.dataProcess.pojo.po.RStatLimitRateD; import com.njcn.dataProcess.service.IRmpEventDetail; import com.njcn.dataProcess.util.BeanFeildUtils; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + /** * Description: * Date: 2024/11/28 9:07【需求编号】 @@ -24,8 +34,6 @@ public class RelationRmpEventDetailImpl implements IRmpEventDetail { private final RmpEventDetailMapper rmpEventDetailMapper; @Override public void batchInsertion(RmpEventDetailDTO rmpEventDetailDTO) { - - RmpEventDetail rmpEventDetail = new RmpEventDetail(); BeanUtils.copyProperties(rmpEventDetailDTO,rmpEventDetail, BeanFeildUtils.getNullPropertyNames(rmpEventDetailDTO)); rmpEventDetailMapper.delete(new QueryWrapper() @@ -36,4 +44,20 @@ public class RelationRmpEventDetailImpl implements IRmpEventDetail { rmpEventDetailMapper.insert(rmpEventDetail); } + + @Override + public List getRawData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RmpEventDetail::getMeasurementPointId,lineParam.getLineId()) + .ge(RmpEventDetail::getStartTime,lineParam.getStartTime()) + .le(RmpEventDetail::getStartTime,lineParam.getEndTime()); + List rmpEventDetails = rmpEventDetailMapper.selectList(lambdaQueryWrapper); + rmpEventDetails.forEach(item->{ + RmpEventDetailDTO dto = new RmpEventDetailDTO(); + BeanUtils.copyProperties(item,dto); + result.add(dto); + }); + return result; + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailMImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailMImpl.java index b989caf..06c224e 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailMImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailMImpl.java @@ -1,10 +1,13 @@ package com.njcn.dataProcess.service.impl.relation; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailMMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailM; -import com.njcn.dataProcess.service.IRmpEventDetailMService; +import com.njcn.dataProcess.service.IRmpEventDetailM; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -19,7 +22,7 @@ import java.util.List; */ @Service("RelationRmpEventDetailMImpl") @RequiredArgsConstructor -public class RelationRmpEventDetailMImpl extends MppServiceImpl implements IRmpEventDetailMService { +public class RelationRmpEventDetailMImpl extends MppServiceImpl implements IRmpEventDetailM { @Override @@ -32,4 +35,21 @@ public class RelationRmpEventDetailMImpl extends MppServiceImpl getRawData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RMpEventDetailM::getMeasurementPointId,lineParam.getLineId()) + .ge(RMpEventDetailM::getDataDate,lineParam.getStartTime()) + .le(RMpEventDetailM::getDataDate,lineParam.getEndTime()); + List list = this.list(lambdaQueryWrapper); + + list.forEach(item->{ + DataEventDetailDto dto = new DataEventDetailDto(); + BeanUtils.copyProperties(item,dto); + result.add(dto); + }); + return result; + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailQImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailQImpl.java index 629fa7b..7d477c5 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailQImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailQImpl.java @@ -1,10 +1,13 @@ package com.njcn.dataProcess.service.impl.relation; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailQMapper; +import com.njcn.dataProcess.param.LineCountEvaluateParam; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailQ; -import com.njcn.dataProcess.service.IRmpEventDetailQService; +import com.njcn.dataProcess.service.IRmpEventDetailQ; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -19,7 +22,7 @@ import java.util.List; */ @Service("RelationRmpEventDetailQImpl") @RequiredArgsConstructor -public class RelationRmpEventDetailQImpl extends MppServiceImpl implements IRmpEventDetailQService { +public class RelationRmpEventDetailQImpl extends MppServiceImpl implements IRmpEventDetailQ { @Override @@ -32,4 +35,21 @@ public class RelationRmpEventDetailQImpl extends MppServiceImpl getRawData(LineCountEvaluateParam lineParam) { + List result = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RMpEventDetailQ::getMeasurementPointId,lineParam.getLineId()) + .ge(RMpEventDetailQ::getDataDate,lineParam.getStartTime()) + .le(RMpEventDetailQ::getDataDate,lineParam.getEndTime()); + List list = this.list(lambdaQueryWrapper); + + list.forEach(item->{ + DataEventDetailDto dto = new DataEventDetailDto(); + BeanUtils.copyProperties(item,dto); + result.add(dto); + }); + return result; + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailYImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailYImpl.java index 7701ec0..1ad64db 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailYImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/relation/RelationRmpEventDetailYImpl.java @@ -4,7 +4,7 @@ import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.dataProcess.dao.relation.mapper.RMpEventDetailYMapper; import com.njcn.dataProcess.pojo.dto.DataEventDetailDto; import com.njcn.dataProcess.pojo.po.RMpEventDetailY; -import com.njcn.dataProcess.service.IRmpEventDetailYService; +import com.njcn.dataProcess.service.IRmpEventDetailY; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -19,7 +19,7 @@ import java.util.List; */ @Service("RelationRmpEventDetailYImpl") @RequiredArgsConstructor -public class RelationRmpEventDetailYImpl extends MppServiceImpl implements IRmpEventDetailYService { +public class RelationRmpEventDetailYImpl extends MppServiceImpl implements IRmpEventDetailY{ @Override