Commit 4782ba5b authored by duanruiming's avatar duanruiming

[add] 优化停车次数小数点

parent 269e2df2
...@@ -287,19 +287,19 @@ public class TrendServiceImpl implements TrendService { ...@@ -287,19 +287,19 @@ public class TrendServiceImpl implements TrendService {
List<AbnormalCrossListVO> abnormalCrossListVOList = List<AbnormalCrossListVO> abnormalCrossListVOList =
crossDataRealtimeMapper.selectAbnormalCross(status, name, type); crossDataRealtimeMapper.selectAbnormalCross(status, name, type);
// 添加优化状态 // 添加优化状态
for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) { //for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) {
abnormalCrossListVO.setOptStatus(2); // 2未优化 // abnormalCrossListVO.setOptStatus(2); // 2未优化
String crossId = abnormalCrossListVO.getId(); // String crossId = abnormalCrossListVO.getId();
// 查询优化日志 // // 查询优化日志
List<CrossSchemeOptLogPO> crossSchemeOptLogPOS = crossSchemeOptLogMapper.selectMaxByCrossId(crossId); // List<CrossSchemeOptLogPO> crossSchemeOptLogPOS = crossSchemeOptLogMapper.selectMaxByCrossId(crossId);
if (CollectionUtil.isNotEmpty(crossSchemeOptLogPOS)) { // if (CollectionUtil.isNotEmpty(crossSchemeOptLogPOS)) {
CrossSchemeOptLogPO crossSchemeOptLogPO = crossSchemeOptLogPOS.get(0); // CrossSchemeOptLogPO crossSchemeOptLogPO = crossSchemeOptLogPOS.get(0);
Date endTime = crossSchemeOptLogPO.getEndTime(); // Date endTime = crossSchemeOptLogPO.getEndTime();
if (ObjectUtil.isEmpty(endTime)) { // if (ObjectUtil.isEmpty(endTime)) {
abnormalCrossListVO.setOptStatus(1); // 1优化中 // abnormalCrossListVO.setOptStatus(1); // 1优化中
} // }
} // }
} //}
// 坐标格式转换 // 坐标格式转换
for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) { for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) {
String locationStr = abnormalCrossListVO.getLocationStr(); String locationStr = abnormalCrossListVO.getLocationStr();
...@@ -330,24 +330,24 @@ public class TrendServiceImpl implements TrendService { ...@@ -330,24 +330,24 @@ public class TrendServiceImpl implements TrendService {
abnormalCrossListVOList.sort(crossComparator); abnormalCrossListVOList.sort(crossComparator);
// 设置拥堵指数同比 环比 // 设置拥堵指数同比 环比
for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) { //for (AbnormalCrossListVO abnormalCrossListVO : abnormalCrossListVOList) {
String crossId = abnormalCrossListVO.getId(); // String crossId = abnormalCrossListVO.getId();
Integer batchTime = abnormalCrossListVO.getBatchTime(); // Integer batchTime = abnormalCrossListVO.getBatchTime();
//
double roundedTrafficIndex = Math.round(abnormalCrossListVO.getCongestionIndex() * 100.0) / 100.0; // double roundedTrafficIndex = Math.round(abnormalCrossListVO.getCongestionIndex() * 100.0) / 100.0;
abnormalCrossListVO.setCongestionIndex(roundedTrafficIndex); // abnormalCrossListVO.setCongestionIndex(roundedTrafficIndex);
// todo // // todo
//Double congestionIndex = abnormalCrossListVO.getCongestionIndex(); // //Double congestionIndex = abnormalCrossListVO.getCongestionIndex();
//double lastWeekIndex = getIndex(congestionIndex, crossId, batchTime - 604800); // //double lastWeekIndex = getIndex(congestionIndex, crossId, batchTime - 604800);
//double lastPeriodIndex = getIndex(congestionIndex, crossId, batchTime - 300); // //double lastPeriodIndex = getIndex(congestionIndex, crossId, batchTime - 300);
//abnormalCrossListVO.setLastWeekIndex(Math.floor(lastWeekIndex)); // //abnormalCrossListVO.setLastWeekIndex(Math.floor(lastWeekIndex));
//abnormalCrossListVO.setLastPeriodIndex(Math.floor(lastPeriodIndex)); // //abnormalCrossListVO.setLastPeriodIndex(Math.floor(lastPeriodIndex));
//
// 常发性偶发性 一个月内超过三次 // // 常发性偶发性 一个月内超过三次
int frequent = getFrequent(crossId, batchTime); // int frequent = getFrequent(crossId, batchTime);
//
abnormalCrossListVO.setFrequent(frequent); // abnormalCrossListVO.setFrequent(frequent);
} //}
List<AbnormalCrossListVO> sorted = abnormalCrossListVOList.stream().sorted(Comparator.comparingDouble(AbnormalCrossListVO::getTrafficIndex).reversed()).collect(Collectors.toList()); List<AbnormalCrossListVO> sorted = abnormalCrossListVOList.stream().sorted(Comparator.comparingDouble(AbnormalCrossListVO::getTrafficIndex).reversed()).collect(Collectors.toList());
abnormalCrossVO.setAbnormalCrossList(sorted); abnormalCrossVO.setAbnormalCrossList(sorted);
......
...@@ -349,6 +349,8 @@ public class StrategyControlServiceImpl implements StrategyControlService { ...@@ -349,6 +349,8 @@ public class StrategyControlServiceImpl implements StrategyControlService {
queryWrapper.eq(StrategyControlDataEntity::getBizType, type); queryWrapper.eq(StrategyControlDataEntity::getBizType, type);
queryWrapper.le(StrategyControlDataEntity::getScheduleStart, current); queryWrapper.le(StrategyControlDataEntity::getScheduleStart, current);
queryWrapper.ge(StrategyControlDataEntity::getScheduleEnd, current); queryWrapper.ge(StrategyControlDataEntity::getScheduleEnd, current);
//queryWrapper.ge(StrategyControlDataEntity::getScheduleStart, current);
//queryWrapper.le(StrategyControlDataEntity::getScheduleEnd, current);
List<StrategyControlDataEntity> entities = strategyControlInfoMapper.selectList(queryWrapper); List<StrategyControlDataEntity> entities = strategyControlInfoMapper.selectList(queryWrapper);
List<StrategyControlDataEntity> results = new ArrayList<>(entities.size()); List<StrategyControlDataEntity> results = new ArrayList<>(entities.size());
for (StrategyControlDataEntity entity : entities) { for (StrategyControlDataEntity entity : entities) {
...@@ -410,11 +412,13 @@ public class StrategyControlServiceImpl implements StrategyControlService { ...@@ -410,11 +412,13 @@ public class StrategyControlServiceImpl implements StrategyControlService {
BeanUtils.copyProperties(strategyControlDataEntity, strategyControlDataExt); BeanUtils.copyProperties(strategyControlDataEntity, strategyControlDataExt);
strategyControlDataExt.setStrategyName(StrategyControlEnum.getDesc(strategy)); strategyControlDataExt.setStrategyName(StrategyControlEnum.getDesc(strategy));
strategyControlDataExt.setOptMethod(StrategyControlEnum.getMethod(strategy)); strategyControlDataExt.setOptMethod(StrategyControlEnum.getMethod(strategy));
strategyControlDataExt.setOptStatus("未优化");
if (StringUtils.isNotBlank(strategyControlDataEntity.getTime())) { if (StringUtils.isNotBlank(strategyControlDataEntity.getTime())) {
strategyControlDataExt.setOptStatus("优化中"); strategyControlDataExt.setOptStatus("优化中");
strategyControlDataExts.add(strategyControlDataExt); strategyControlDataExts.add(strategyControlDataExt);
} }
} }
// 路口无优化模式
if (Objects.equals(0, type)) { if (Objects.equals(0, type)) {
List<BaseCrossInfoPO> crossInfoCache = baseCrossInfoCache.getCrossInfoCache(); List<BaseCrossInfoPO> crossInfoCache = baseCrossInfoCache.getCrossInfoCache();
if (!CollectionUtils.isEmpty(crossInfoCache)) { if (!CollectionUtils.isEmpty(crossInfoCache)) {
...@@ -438,9 +442,26 @@ public class StrategyControlServiceImpl implements StrategyControlService { ...@@ -438,9 +442,26 @@ public class StrategyControlServiceImpl implements StrategyControlService {
} }
} }
} }
// 干线无优化模式
if (Objects.equals(1, type)) { if (Objects.equals(1, type)) {
if (CollectionUtils.isEmpty(strategyControlDataExts)) {
Map<Integer, GreenwaveInfoPO> greenWaveMap = GreenWaveInfoCache.greenWaveMap;
for (Map.Entry<Integer, GreenwaveInfoPO> entry : greenWaveMap.entrySet()) {
StrategyControlDataExt ext = new StrategyControlDataExt();
ext.setStrategy(0);
ext.setStrategyName("无策略");
ext.setOptStatus("未优化");
ext.setOptMethod("效率提升");
ext.setStatus(0);
ext.setWkt(entry.getValue().getWkt());
ext.setCrossName(entry.getValue().getName());
ext.setBizId(String.valueOf(entry.getKey()));
results.add(ext);
}
} else {
results.addAll(strategyControlDataExts); results.addAll(strategyControlDataExts);
} }
}
results.sort(Comparator.comparing(StrategyControlDataExt::getOptStatus)); results.sort(Comparator.comparing(StrategyControlDataExt::getOptStatus));
return jsonViewObject.success(results, "路网优化监测查询成功"); return jsonViewObject.success(results, "路网优化监测查询成功");
} catch (Exception e) { } catch (Exception e) {
......
package net.wanji.opt.vo; package net.wanji.opt.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import net.wanji.opt.config.Double2TwoDecimalPlacesSerializer;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -30,8 +32,10 @@ public class GreenBeltFlowStopTimeVO { ...@@ -30,8 +32,10 @@ public class GreenBeltFlowStopTimeVO {
@ApiModelProperty("流量") @ApiModelProperty("流量")
private Integer flow; private Integer flow;
@ApiModelProperty("停车次数") @ApiModelProperty("停车次数")
@JsonSerialize(using = Double2TwoDecimalPlacesSerializer.class)
private Double stopTimes; private Double stopTimes;
@ApiModelProperty("行程时间") @ApiModelProperty("行程时间")
@JsonSerialize(using = Double2TwoDecimalPlacesSerializer.class)
private Double travelTime; private Double travelTime;
} }
} }
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