miaolijing 3 gadi atpakaļ
vecāks
revīzija
3ef979a78f

+ 17 - 7
src/main/java/com/persagy/apm/diagnose/maintenance/service/impl/ProjectDataRecordServiceImpl.java

@@ -583,18 +583,28 @@ public class ProjectDataRecordServiceImpl implements IProjectDataRecordService {
         queryMonitorIndicatorRecordDTO.setTimeTo(checkEndDate);  // <
         List<MonitorIndicatorRecord> recordList = monitorIndicatorRecordService.queryMonitorIndicatorRecordList(queryMonitorIndicatorRecordDTO);
         if (!CollectionUtils.isEmpty(recordList) && recordList.size() > 0) {
-            //倒序排
-            recordList.sort(Comparator.comparing(MonitorIndicatorRecord::getDataTime).reversed());
-            Date checkDate = alarmDate;
-            for (MonitorIndicatorRecord record : recordList) {
+            if (recordList.size() == 1){
+                MonitorIndicatorRecord record = recordList.get(0);
                 boolean isFlag = isAccordWith(operator, Double.valueOf(tempFormula), record.getDataValue());
                 if (!isFlag) {
                     return record.getDataTime();
+                }else{
+                    return alarmDate;
                 }
-                checkDate = record.getDataTime();
+            }else{
+                //倒序排
+                recordList.sort(Comparator.comparing(MonitorIndicatorRecord::getDataTime).reversed());
+                Date checkDate = alarmDate;
+                for (MonitorIndicatorRecord record : recordList) {
+                    boolean isFlag = isAccordWith(operator, Double.valueOf(tempFormula), record.getDataValue());
+                    if (!isFlag) {
+                        return record.getDataTime();
+                    }
+                    checkDate = record.getDataTime();
+                }
+                //继续往前找报警开始日期
+                return getStartAlarmDate(checkDate, projectId, objId, indicatorId, operator, tempFormula);
             }
-            //继续往前找报警开始日期
-            return getStartAlarmDate(checkDate, projectId, objId, indicatorId, operator, tempFormula);
         }
         return alarmDate;
     }