Commit 102acda8 authored by duanruiming's avatar duanruiming

[add] 绿波诱导屏优化;绿波列表状态优化

parent 2a2ad463
......@@ -3,6 +3,8 @@ package net.wanji.opt.controller.induce;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper;
import com.google.common.collect.Maps;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
......@@ -21,11 +23,15 @@ import net.wanji.opt.dto.induce.GreenwaveInducesDTO;
import net.wanji.opt.dto.induce.InduceDTO;
import net.wanji.opt.entity.DeviceInduces;
import net.wanji.opt.entity.GreenwaveInduces;
import net.wanji.opt.entity.InduceHist;
import net.wanji.opt.entity.InduceTemplate;
import net.wanji.opt.service.DeviceInducesService;
import net.wanji.opt.service.induce.GreenwaveInducesHistService;
import net.wanji.opt.service.induce.GreenwaveInducesService;
import net.wanji.opt.service.induce.InduceHistService;
import net.wanji.opt.service.induce.InduceTemplateService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.lucene.search.similarities.Lambda;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
......@@ -34,6 +40,7 @@ import javax.validation.constraints.NotBlank;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
......@@ -70,6 +77,9 @@ public class GreenwaveInducesController {
@Resource
private GreenwaveInducesHistService greenwaveInducesHistService;
@Resource
private InduceHistService induceHistService;
/**
* 获取所有记录
*
......@@ -222,8 +232,30 @@ public class GreenwaveInducesController {
//induceDTO.setInduceTemplateList(induceTemplateList.stream().filter(z -> Objects.isNull(z.getEquipCode()) || z.getEquipCode().equals(o.getEquipCode())).collect(Collectors.toList()));
list.add(induceDTO);
});
jsonView.success(list);
// 优化诱导屏列表逻辑
// 过滤空名称诱导屏,查询历史表是否有下发记录
LambdaQueryWrapper<InduceHist> queryWrapper = new LambdaQueryWrapper<>();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
queryWrapper.ge(InduceHist::getCreateTime, format.format(new Date()));
List<InduceHist> results = induceHistService.list(queryWrapper);
Set<String> codes = new HashSet<>();
List<InduceDTO> returnList = new ArrayList<>();
if (!CollectionUtils.isEmpty(results) && !CollectionUtils.isEmpty(list)) {
for (InduceHist result : results) {
String equipCode = result.getEquipCode();
codes.add(equipCode);
}
for (InduceDTO induceDTO : list) {
String equipCode = induceDTO.getEquipCode();
if (codes.contains(equipCode)) {
induceDTO.setStatus(1);
}
if (Objects.nonNull(induceDTO.getEquipName())) {
returnList.add(induceDTO);
}
}
}
jsonView.success(returnList);
} catch (Exception e) {
jsonView.fail(I18nResourceBundle.getConstants("GET_FAILED_MSG"));
log.error("{} getByWhere error,jsonStr:{}", this.getClass().getSimpleName(), jsonStr, e);
......
......@@ -213,6 +213,7 @@ public class TrendServiceImpl implements TrendService {
Double trafficIndex = 0.0;
int travelTime = 0;
Integer stopTimes = 0;
Integer realtimeStatus = 1;
GreenwaveListVO wDirVo = new GreenwaveListVO();
for (GreenwaveListVO greenwaveListVO : value) {
speed += greenwaveListVO.getSpeed() == null ? 0.0 : greenwaveListVO.getSpeed();
......@@ -224,9 +225,10 @@ public class TrendServiceImpl implements TrendService {
wDirVo.setWkt(greenwaveListVO.getWkt());
wDirVo.setDuration(greenwaveListVO.getDuration());
wDirVo.setStartTime(greenwaveListVO.getStartTime());
wDirVo.setRealtimeStatus(greenwaveListVO.getRealtimeStatus());
realtimeStatus = realtimeStatus >= greenwaveListVO.getRealtimeStatus() ? realtimeStatus : greenwaveListVO.getRealtimeStatus();
wDirVo.setInfoStatus(greenwaveListVO.getInfoStatus());
}
wDirVo.setRealtimeStatus(realtimeStatus);
wDirVo.setSpeed(speed / 2);
wDirVo.setStopTimes((int) (stopTimes / 2));
wDirVo.setTrafficIndex(trafficIndex / 2 < 1 ? 1 : trafficIndex / 2);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment