From 4e46025c7484cfb70de0dd4daff98ae32c31c875 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 30 Jul 2025 11:06:08 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E6=8B=9B=E6=95=B0=E6=8D=AE=E5=A4=96=E9=83=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DataRecallController.java | 24 +++++++++++++ .../njcn/dataProcess/job/DataRecallJob.java | 35 ------------------- 2 files changed, 24 insertions(+), 35 deletions(-) delete mode 100644 data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/job/DataRecallJob.java diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java index aab325d..71ee2ac 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java @@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.time.Duration; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -67,7 +68,13 @@ public class DataRecallController extends BaseController { List guidList = new ArrayList<>(); List runMonitorIds = new ArrayList<>(); List recallDTOList = new ArrayList<>(); + Duration duration = Duration.between(param.getReCallStartTime(), param.getReCallEndTime()); + // 获取剩余的分钟数,如果要精确到分钟可以这样做 + long minutes = duration.toMinutes() ; + if(minutes>60){ + throw new BusinessException("全量补招时间区间不能超过一个小时"); + } if(CollectionUtils.isEmpty(param.getMonitorId())){ throw new BusinessException("请选择监测点"); }else { @@ -251,6 +258,23 @@ public class DataRecallController extends BaseController { return start.format(formatter) + "~" + end.format(formatter); } + public static void main(String[] args) { + // 创建两个LocalDateTime对象 + LocalDateTime dateTime1 = LocalDateTime.of(2023, 1, 1, 10, 0); // 例如:2023年1月1日 10:00 + LocalDateTime dateTime2 = LocalDateTime.of(2023, 1, 2, 15, 30); // 例如:2023年1月1日 15:30 + + // 使用Duration计算两个时间之间的差异 + Duration duration = Duration.between(dateTime1, dateTime2); + + + + // 获取剩余的分钟数,如果要精确到分钟可以这样做 + long minutes = duration.toMinutes() ; + + // 输出结果 + System.out.println("时间差(分钟): " + minutes); + + } } diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/job/DataRecallJob.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/job/DataRecallJob.java deleted file mode 100644 index 645f15e..0000000 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/job/DataRecallJob.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.njcn.dataProcess.job; - -import com.njcn.dataProcess.controller.DataRecallController; -import com.njcn.message.message.RecallMessage; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.temporal.ChronoUnit; - -/** - * Description: - * Date: 2025/07/24 下午 2:22【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -@Component -@EnableScheduling -@RequiredArgsConstructor -@Slf4j -public class DataRecallJob { - private final DataRecallController dataRecallController; - @Scheduled(cron="0 50 14 * * ?") - public void executeHours() { - RecallMessage param = new RecallMessage(); - param.setReCallStartTime(LocalDate.now().minusDays(1)); - param.setReCallEndTime(LocalDate.now()); - dataRecallController.recall(param); - } -} From 4a02526db0f5344ccb24b152344da942958e6d2b Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 30 Jul 2025 11:16:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E6=8B=9B=E6=95=B0=E6=8D=AE=E5=A4=96=E9=83=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DataRecallController.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java index 71ee2ac..bbd8f70 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/controller/DataRecallController.java @@ -68,13 +68,13 @@ public class DataRecallController extends BaseController { List guidList = new ArrayList<>(); List runMonitorIds = new ArrayList<>(); List recallDTOList = new ArrayList<>(); - Duration duration = Duration.between(param.getReCallStartTime(), param.getReCallEndTime()); - // 获取剩余的分钟数,如果要精确到分钟可以这样做 - long minutes = duration.toMinutes() ; - if(minutes>60){ - throw new BusinessException("全量补招时间区间不能超过一个小时"); - - } +// Duration duration = Duration.between(param.getReCallStartTime(), param.getReCallEndTime()); +// // 获取剩余的分钟数,如果要精确到分钟可以这样做 +// long minutes = duration.toMinutes() ; +// if(minutes>60){ +// throw new BusinessException("全量补招时间区间不能超过一个小时"); +// +// } if(CollectionUtils.isEmpty(param.getMonitorId())){ throw new BusinessException("请选择监测点"); }else { From d94384668cc8e320ca6ac77c86a35cd601cd332c Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 30 Jul 2025 14:49:11 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A1=A5=E6=8B=9B=E6=95=B0=E6=8D=AE=E5=A4=96=E9=83=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stat/service/impl/MessageAnalysisServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/analysis/stat/stat-boot/src/main/java/com/njcn/stat/service/impl/MessageAnalysisServiceImpl.java b/analysis/stat/stat-boot/src/main/java/com/njcn/stat/service/impl/MessageAnalysisServiceImpl.java index ddd8f9e..63ea6a7 100644 --- a/analysis/stat/stat-boot/src/main/java/com/njcn/stat/service/impl/MessageAnalysisServiceImpl.java +++ b/analysis/stat/stat-boot/src/main/java/com/njcn/stat/service/impl/MessageAnalysisServiceImpl.java @@ -92,7 +92,10 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService { if(Objects.equals(DataTypeEnum.HARMONIC.getCode(),dataType)){ MessageHarmonicDataSet messageHarmonicDataSet = JSONObject.parseObject(value, MessageHarmonicDataSet.class); LocalDateTime localDateTime = messageHarmonicDataSet.getTIME(); - + //排除上电下电等情况前置上送上不是整分的数据 + if(!(localDateTime.getSecond() == 0)){ + return; + } Integer flag = messageHarmonicDataSet.getFLAG(); MessageP pq = messageHarmonicDataSet.getPQ(); MessageV v = messageHarmonicDataSet.getV(); @@ -384,6 +387,9 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService { }else if(Objects.equals(DataTypeEnum.FLUC.getCode(),dataType)){ MessageFlucDataSet messageFlucDataSet = JSONObject.parseObject(value, MessageFlucDataSet.class); LocalDateTime localDateTime = messageFlucDataSet.getTIME(); //LocalDateTime.ofInstant(messageFlucDataSet.getTIME(), ZoneId.systemDefault()).withNano(0).withSecond(0); + if(!(localDateTime.getSecond() == 0)){ + return; + } Integer flag = messageFlucDataSet.getFLAG(); MessageFs fs = messageFlucDataSet.getFs(); //短时闪变ABC @@ -458,6 +464,9 @@ public class MessageAnalysisServiceImpl implements MessageAnalysisService { LocalDateTime localDateTime = messagePltDataSet.getTIME(); Integer flag = messagePltDataSet.getFLAG(); MessageFl fl = messagePltDataSet.getFl(); + if(!(localDateTime.getSecond() == 0)){ + return; + } //长时闪变ABC if(Objects.nonNull(fl)){ MessagePlt a = fl.getA();