diff --git a/agri-quartz/src/main/java/com/agri/quartz/task/RollerAutoTask.java b/agri-quartz/src/main/java/com/agri/quartz/task/RollerAutoTask.java index 5daaf87..97a4050 100644 --- a/agri-quartz/src/main/java/com/agri/quartz/task/RollerAutoTask.java +++ b/agri-quartz/src/main/java/com/agri/quartz/task/RollerAutoTask.java @@ -158,19 +158,11 @@ public class RollerAutoTask { // todo 当前卷膜参考温度设置为空 continue; } + // 优化:明确标注为当前roller的参考温度快照(仅解析一次) BigDecimal currentTemp = new BigDecimal(tempObj.toString()); // 每个roller单独定义isFirstRun(作用域:当前roller) - boolean isFirstRun = true; - // 判断对应卷膜是否是今天第一次操作 - // todayLogByRoller为空铁定第一次操作,否则,就是todayLogByRoller.getRoller为空是第一次操作 - if (todayLogByRoller != null && !todayLogByRoller.isEmpty()) { - Integer logOfRoller = todayLogByRoller.getOrDefault(roller, 0); - // 只要当前Roller今日有操作记录,就不是首次 仅影响当前roller的isFirstRun - if (logOfRoller > 0) { - isFirstRun = false; - } - } + boolean isFirstRun = todayLogByRoller.getOrDefault(roller, 0) == 0; // 遍历当前roller的所有term(改用普通for循环,可读性更高) for (RollerTermVO term : terms) { @@ -193,8 +185,6 @@ public class RollerAutoTask { } } } - - } } diff --git a/agri-system/src/main/java/com/agri/system/service/impl/SysDevOperLogServiceImpl.java b/agri-system/src/main/java/com/agri/system/service/impl/SysDevOperLogServiceImpl.java index b4ccaef..a7c3797 100644 --- a/agri-system/src/main/java/com/agri/system/service/impl/SysDevOperLogServiceImpl.java +++ b/agri-system/src/main/java/com/agri/system/service/impl/SysDevOperLogServiceImpl.java @@ -3,10 +3,7 @@ package com.agri.system.service.impl; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import com.agri.common.utils.DateUtils; @@ -135,7 +132,7 @@ public class SysDevOperLogServiceImpl extends ServiceImpl()); + nestedCountMap.put(imei, Collections.emptyMap()); } // 4.2 填充统计结果 for (Map row : sqlResult) {