| | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | import org.apache.commons.lang3.time.DateUtils; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | /** |
| | | * 大屏首页-抓拍跟踪信息-展示AI时间图片 |
| | | * 展示图片的业务逻辑:每个库区展示一张,图片为当天十点以后最新的一张 |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | |
| | | // Date start =DateUtils.setHours(DateUtil.getNewByDay(new Date(), -3), 10); |
| | | //param.setStart(start); |
| | | // param.setEnd(DateUtil.getNewByDay(new Date(), -3)); |
| | | Date start =DateUtils.setHours(new Date(), 10); |
| | | Date start =DateUtil.getNewByDay(new Date(), -10); |
| | | param.setStart(start); |
| | | param.setEnd(new Date()); |
| | | |
| | | //获取当日的抓拍信息 |
| | | List<EventInfo> listByParam = eventInfoService.getListByParam(param); |
| | | if (null == listByParam || listByParam.isEmpty()) { |
| | | return new PageResponse<>(RespCodeEnum.CODE_0000, new ArrayList<>()); |
| | | } |
| | | //筛选time大于Start时间的数据 |
| | | listByParam = listByParam.stream().filter(info -> info.getTime().after(start)).collect(Collectors.toList()); |
| | | |
| | | //获取所有的库区信息 |
| | | List<Dept> deptList = deptService.getDeptByUserType(null); |
| | |
| | | |
| | | for (Dept dept : deptList) { |
| | | EventInfo latestEvent = null; |
| | | //从listByParam中筛选出与当前id匹配的数据 |
| | | List<EventInfo> collect = listByParam.stream().filter(info -> info.getDeptId().equals(dept.getId())).collect(Collectors.toList()); |
| | | if (!collect.isEmpty()) { |
| | | //根据时间排序并找到最新一条数据 |
| | | latestEvent = collect.stream().sorted(Comparator.comparing(EventInfo::getTime).reversed()).findFirst().get(); |
| | | } |
| | | if (latestEvent != null) { |
| | | resultList.add(latestEvent); |
| | | //从listByParam中筛选出与当前id匹配的数据 |
| | | List<EventInfo> collect = listByParam.stream().filter(info -> info.getDeptId().equals(dept.getId())).sorted(Comparator.comparing(EventInfo::getTime).reversed()).collect(Collectors.toList()); |
| | | //每个库区获取最新的3张图片 |
| | | int i = 0; |
| | | for (EventInfo info : collect) { |
| | | if (i > 2) break; |
| | | resultList.add(info); |
| | | i++; |
| | | } |
| | | } |
| | | if (null != resultList && !resultList.isEmpty()) { |