瀏覽代碼

跳过sop任务时间区间调整

luolinsong 1 天之前
父節點
當前提交
722144d0e1
共有 1 個文件被更改,包括 13 次插入13 次删除
  1. 13 13
      fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

+ 13 - 13
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -583,7 +583,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                 for (SopParam sopParam : dayList) {
                 for (SopParam sopParam : dayList) {
                     String dayNum = sopParam.getDayNum();
                     String dayNum = sopParam.getDayNum();
                     if (day == Long.valueOf(dayNum)) {
                     if (day == Long.valueOf(dayNum)) {
-                        log.info("跳过当前sop任务,任务id:{},跳过第:{}天", ruleTimeVO.getId(), dayNum);
+                        log.info("跳过当前sop任务,任务id:{},qwtask天数{},跳过第:{}天", ruleTimeVO.getId(), day, dayNum);
                         return;
                         return;
                     }
                     }
                 }
                 }
@@ -601,18 +601,6 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                     LocalTime elementLocalTime = LocalTime.parse(content.getTime());
                     LocalTime elementLocalTime = LocalTime.parse(content.getTime());
                     LocalDateTime elementDateTime = LocalDateTime.of(currentTime.toLocalDate(), elementLocalTime);
                     LocalDateTime elementDateTime = LocalDateTime.of(currentTime.toLocalDate(), elementLocalTime);
 
 
-                    List<SopParam> dayTimeList = timeMap.get(day + "");
-                    if (CollectionUtils.isNotEmpty(dayTimeList)) {
-                        for (SopParam sopParam : dayTimeList) {
-                            LocalTime start = LocalTime.parse(sopParam.getStartDate());
-                            LocalTime end = LocalTime.parse(sopParam.getEndDate());
-                            if (elementLocalTime.isAfter(start) && elementLocalTime.isBefore(end)) {
-                                log.info("跳过当前sop任务,任务id:{},跳过时间段:{}-{}", ruleTimeVO.getId(), start, end);
-                                return;
-                            }
-                        }
-                    }
-
                     // 动态调整 elementDateTime 的日期
                     // 动态调整 elementDateTime 的日期
                     if (elementLocalTime.isBefore(currentTime.toLocalTime())) {
                     if (elementLocalTime.isBefore(currentTime.toLocalTime())) {
                         elementDateTime = elementDateTime.plusDays(1);
                         elementDateTime = elementDateTime.plusDays(1);
@@ -627,6 +615,18 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
                         endRange = endRange.plusDays(1); // 将 endRange 调整为第二天
                         endRange = endRange.plusDays(1); // 将 endRange 调整为第二天
                     }
                     }
                     if (!elementDateTime.isBefore(startRange) && !elementDateTime.isAfter(endRange.minusMinutes(1))) {
                     if (!elementDateTime.isBefore(startRange) && !elementDateTime.isAfter(endRange.minusMinutes(1))) {
+                        
+                        List<SopParam> dayTimeList = timeMap.get(day + "");
+                        if (CollectionUtils.isNotEmpty(dayTimeList)) {
+                            for (SopParam sopParam : dayTimeList) {
+                                LocalTime start = LocalTime.parse(sopParam.getStartDate());
+                                LocalTime end = LocalTime.parse(sopParam.getEndDate());
+                                if (elementDateTime.toLocalTime().isAfter(start) && elementDateTime.toLocalTime().isBefore(end)) {
+                                    log.info("跳过当前sop任务,任务id:{},qwtask时间{},跳过时间段:{}-{}", ruleTimeVO.getId(), elementDateTime, start, end);
+                                    return;
+                                }
+                            }
+                        }
 
 
                         // 如果时间差在目标范围内,更新记录
                         // 如果时间差在目标范围内,更新记录
                         // 组合年月日和element的时间
                         // 组合年月日和element的时间