Commit f4340281 authored by duanruiming's avatar duanruiming

[add] 绿波图优化

parent 835bcd72
...@@ -37,8 +37,8 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService { ...@@ -37,8 +37,8 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
} }
ObjectMapper mapper = JacksonUtils.getInstance(); ObjectMapper mapper = JacksonUtils.getInstance();
QueryWrapper<StrategyGreenOptHistEntity> queryWrapper = new QueryWrapper<>(); QueryWrapper<StrategyGreenOptHistEntity> queryWrapper = new QueryWrapper<>();
String customOrderBy = "ABS(DATEDIFF(control_time, '" + queryDate + "'))"; queryWrapper.eq("green_id", greenId);
queryWrapper.orderByAsc(true, customOrderBy); queryWrapper.orderByDesc("control_time");
queryWrapper.last("LIMIT 2"); queryWrapper.last("LIMIT 2");
List<StrategyGreenOptHistEntity> entities = strategyGreenOptHistMapper.selectList(queryWrapper); List<StrategyGreenOptHistEntity> entities = strategyGreenOptHistMapper.selectList(queryWrapper);
if (!CollectionUtils.isEmpty(entities)) { if (!CollectionUtils.isEmpty(entities)) {
...@@ -54,7 +54,6 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService { ...@@ -54,7 +54,6 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
setBeltInfo(mapper, entities, greenBeltInfoVO, dirGreenDetails); setBeltInfo(mapper, entities, greenBeltInfoVO, dirGreenDetails);
} }
greenBeltInfoVO.setDirGreenDetails(dirGreenDetails); greenBeltInfoVO.setDirGreenDetails(dirGreenDetails);
System.err.println(greenBeltInfoVO);
GreenBeltChartVO greenBeltChartVO = calGreenChart(greenBeltInfoVO); GreenBeltChartVO greenBeltChartVO = calGreenChart(greenBeltInfoVO);
return greenBeltChartVO; return greenBeltChartVO;
} }
...@@ -96,6 +95,9 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService { ...@@ -96,6 +95,9 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
Map<String, Double> crossGreenStartMap = new TreeMap<>(); Map<String, Double> crossGreenStartMap = new TreeMap<>();
Map<String, Double> backCrossGreenStartMap = new TreeMap<>(); Map<String, Double> backCrossGreenStartMap = new TreeMap<>();
Map<String, Double> distanceMap = new TreeMap<>(); Map<String, Double> distanceMap = new TreeMap<>();
Map<String, Double> backDistanceMap = new TreeMap<>();
String decideSpeed = "";
String backDecideSpeed = "";
// 处理绿波时序图数据 // 处理绿波时序图数据
List<GreenBeltInfoVO.DirGreenDetail> dirGreenDetails = greenBeltInfoVO.getDirGreenDetails(); List<GreenBeltInfoVO.DirGreenDetail> dirGreenDetails = greenBeltInfoVO.getDirGreenDetails();
Double greenWidthTime = 0.0; Double greenWidthTime = 0.0;
...@@ -108,12 +110,14 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService { ...@@ -108,12 +110,14 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
greenWidthTime = dirGreenDetail.getGreenWidthTime(); greenWidthTime = dirGreenDetail.getGreenWidthTime();
List<GreenBeltInfoVO.CrossGreenDetail> list = dirGreenDetail.getCrossGreenDetailList(); List<GreenBeltInfoVO.CrossGreenDetail> list = dirGreenDetail.getCrossGreenDetailList();
getaDouble(crossRedTimesMap, crossGreenStartMap, distanceMap, cycle, list); getaDouble(crossRedTimesMap, crossGreenStartMap, distanceMap, cycle, list);
decideSpeed = String.join("~", String.valueOf(dirGreenDetail.getMinSpeed()), String.valueOf(dirGreenDetail.getMaxSpeed()));
} }
if (dirType == 0) { if (dirType == 0) {
backDecideSpeed = String.join("~", String.valueOf(dirGreenDetail.getMinSpeed()), String.valueOf(dirGreenDetail.getMaxSpeed()));
backGreenWidthTime = dirGreenDetail.getGreenWidthTime(); backGreenWidthTime = dirGreenDetail.getGreenWidthTime();
List<GreenBeltInfoVO.CrossGreenDetail> list = dirGreenDetail.getCrossGreenDetailList(); List<GreenBeltInfoVO.CrossGreenDetail> list = dirGreenDetail.getCrossGreenDetailList();
Collections.reverse(list); Collections.reverse(list);
getaDouble(backCrossRedTimesMap, backCrossGreenStartMap, distanceMap, cycle, list); getaDouble(backCrossRedTimesMap, backCrossGreenStartMap, backDistanceMap, cycle, list);
} }
} }
...@@ -126,6 +130,8 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService { ...@@ -126,6 +130,8 @@ public class StrategyGreenBeltServiceImpl implements StrategyGreenBeltService {
greenBeltChartVO.setGreenStartMap(mapper.writeValueAsString(crossGreenStartMap)); greenBeltChartVO.setGreenStartMap(mapper.writeValueAsString(crossGreenStartMap));
greenBeltChartVO.setBackGreenStartMap(mapper.writeValueAsString(backCrossGreenStartMap)); greenBeltChartVO.setBackGreenStartMap(mapper.writeValueAsString(backCrossGreenStartMap));
greenBeltChartVO.setDistanceMap(mapper.writeValueAsString(distanceMap)); greenBeltChartVO.setDistanceMap(mapper.writeValueAsString(distanceMap));
greenBeltChartVO.setDecideSpeed(decideSpeed.concat("km/h"));
greenBeltChartVO.setBackDecideSpeed(backDecideSpeed.concat("km/h"));
return greenBeltChartVO; return greenBeltChartVO;
} }
......
...@@ -41,6 +41,8 @@ public class GreenBeltChartVO { ...@@ -41,6 +41,8 @@ public class GreenBeltChartVO {
private Double greenWidthTime; private Double greenWidthTime;
@ApiModelProperty("反向绿波带宽") @ApiModelProperty("反向绿波带宽")
private Double BackGreenWidthTime; private Double BackGreenWidthTime;
private String decideSpeed;
private String backDecideSpeed;
@JsonCreator @JsonCreator
public GreenBeltChartVO(){ public GreenBeltChartVO(){
......
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