Commit 4782ba5b authored by duanruiming's avatar duanruiming

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

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