From 8153a3fc84b249b808aee7ad049b9a7034ff5e75 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期五, 14 二月 2025 09:09:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunLDGTankFactorPredTask.java | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunLDGTankFactorPredTask.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunLDGTankFactorPredTask.java index 7685922..8390d55 100644 --- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunLDGTankFactorPredTask.java +++ b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunLDGTankFactorPredTask.java @@ -9,6 +9,9 @@ import org.springframework.stereotype.Component; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @description: LDG柜容预测 监听触发 @@ -39,18 +42,25 @@ public void run(String params) { logger.info("runLDGTankFactorPredTask定时任务正在执行,参数为:{}", params); try { + //一次查询所有pointNo,减少请求 + List<String> allPointNos = checkPoints.values().stream().flatMap(List::stream).collect(Collectors.toList()); + Map<String, Object> pointsRealValue = dataPointApi.queryPointsRealValue(allPointNos); + for (Map.Entry<String, List<String>> entry : checkPoints.entrySet()) { - Map<String, Object> pointsRealValue = dataPointApi.queryPointsRealValue(entry.getValue()); for (Map.Entry<String, Object> pointRealValue : pointsRealValue.entrySet()) { String pointNo = pointRealValue.getKey(); - Double value = (Double) pointRealValue.getValue(); + Double value = null == pointRealValue.getValue() ? null : Double.valueOf(pointRealValue.getValue().toString()); //如果有旧值,且旧值为0,且新值不为null,且新值>0 触发模型 - if (pointsLastValue.containsKey(pointNo) && pointsLastValue.get(pointNo).equals(0.0) && null != value && value.compareTo(0.0) > 0){ + if (null != pointsLastValue.get(pointNo) && pointsLastValue.get(pointNo).equals(0.0) && null != value && value.compareTo(0.0) > 0){ runPredictModuleTask.run(entry.getKey()); break; } } - + } + //记录pointsLastValue + for (Map.Entry<String, Object> pointRealValue : pointsRealValue.entrySet()) { + Double value = null == pointRealValue.getValue() ? null : Double.valueOf(pointRealValue.getValue().toString()); + pointsLastValue.put(pointRealValue.getKey(),value); } } catch (Exception ex) { logger.error("runLDGTankFactorPredTask运行异常",ex); -- Gitblit v1.9.3