diff --git a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java index 10878cb..568446b 100644 --- a/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java +++ b/src/main/java/com/gunshi/project/xyt/service/OsmoticPressRService.java @@ -392,24 +392,26 @@ public class OsmoticPressRService extends ServiceImpl stationCodes = list.stream().map(OsmoticPressVo::getStationCode).collect(Collectors.toList()); - String maxTm = list.stream().filter(o->o.getTm() != null).max(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); - String minTm = list.stream().filter(o->o.getTm() != null).min(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); - so.setStationCodes(stationCodes); - DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); - dateTimeRangeSo.setStart(DateUtil.convertStringToDate(minTm)); - dateTimeRangeSo.setEnd(DateUtil.convertStringToDate(maxTm)); - so.setDateTimeRangeSo(dateTimeRangeSo); - List warnList = baseMapper.queryWarn(so); - list.stream().map(o->{ - if(o.getTm() != null && DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(o.getTm()), new Date()) > 48){ - o.setFlag(1); - } - Boolean b = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm())).findAny().isPresent(); - if(b){ - o.setStatus(1); - } - return o; - }).collect(Collectors.toList()); + if(list.stream().filter(o->o.getTm() != null).collect(Collectors.toList()).size() > 0 ){ + String maxTm = list.stream().filter(o->o.getTm() != null).max(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); + String minTm = list.stream().filter(o->o.getTm() != null).min(Comparator.comparing(OsmoticPressVo::getTm)).get().getTm(); + so.setStationCodes(stationCodes); + DateTimeRangeSo dateTimeRangeSo = new DateTimeRangeSo(); + dateTimeRangeSo.setStart(DateUtil.convertStringToDate(minTm)); + dateTimeRangeSo.setEnd(DateUtil.convertStringToDate(maxTm)); + so.setDateTimeRangeSo(dateTimeRangeSo); + List warnList = baseMapper.queryWarn(so); + list.stream().map(o->{ + if(o.getTm() != null && DateUtil.hoursBetweenDate(DateUtil.convertStringToDate(o.getTm()), new Date()) > 48){ + o.setFlag(1); + } + Boolean b = warnList.stream().filter(t->t.getStationCode().equals(o.getStationCode()) && t.getTm().equals(o.getTm())).findAny().isPresent(); + if(b){ + o.setStatus(1); + } + return o; + }).collect(Collectors.toList()); + } return list; }