|
@@ -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;
|
|
|
}
|