Commit b398bebc authored by duanruiming's avatar duanruiming

[add] AI干线数量优化

parent cc934e34
...@@ -541,6 +541,7 @@ public class StrategyControlServiceImpl implements StrategyControlService { ...@@ -541,6 +541,7 @@ public class StrategyControlServiceImpl implements StrategyControlService {
queryWrapper.orderByAsc(StrategyGreenOptHistEntity::getControlTime); queryWrapper.orderByAsc(StrategyGreenOptHistEntity::getControlTime);
List<StrategyGreenOptHistEntity> entities = strategyGreenOptHistMapper.selectList(queryWrapper); List<StrategyGreenOptHistEntity> entities = strategyGreenOptHistMapper.selectList(queryWrapper);
if (!CollectionUtils.isEmpty(entities)) { if (!CollectionUtils.isEmpty(entities)) {
String optMethod = "效率提升";
Map<Integer, Optional<StrategyGreenOptHistEntity>> groupMap = entities.stream().collect(Collectors.groupingBy(StrategyGreenOptHistEntity::getGreenId, Collectors.maxBy(Comparator.comparing(StrategyGreenOptHistEntity::getControlTime)))); Map<Integer, Optional<StrategyGreenOptHistEntity>> groupMap = entities.stream().collect(Collectors.groupingBy(StrategyGreenOptHistEntity::getGreenId, Collectors.maxBy(Comparator.comparing(StrategyGreenOptHistEntity::getControlTime))));
for (Map.Entry<Integer, Optional<StrategyGreenOptHistEntity>> entry : groupMap.entrySet()) { for (Map.Entry<Integer, Optional<StrategyGreenOptHistEntity>> entry : groupMap.entrySet()) {
Integer greenId = entry.getKey(); Integer greenId = entry.getKey();
...@@ -563,12 +564,29 @@ public class StrategyControlServiceImpl implements StrategyControlService { ...@@ -563,12 +564,29 @@ public class StrategyControlServiceImpl implements StrategyControlService {
ext.setCrossName(greenwaveInfoPO.getName() + desc); ext.setCrossName(greenwaveInfoPO.getName() + desc);
String location = greenwaveInfoPO.getWkt(); String location = greenwaveInfoPO.getWkt();
ext.setWkt(location); ext.setWkt(location);
String optMethod = "效率提升";
ext.setOptMethod(optMethod); ext.setOptMethod(optMethod);
ext.setStrategyName("动态绿波"); ext.setStrategyName("动态绿波");
results.add(ext); results.add(ext);
} }
// 补充未优化的绿波
Map<Integer, GreenwaveInfoPO> greenWaveMap = GreenWaveInfoCache.greenWaveMap;
for (Map.Entry<Integer, GreenwaveInfoPO> entry : greenWaveMap.entrySet()) {
Integer greenId = entry.getKey();
GreenwaveInfoPO value = entry.getValue();
if (!groupMap.containsKey(greenId)) {
StrategyControlDataExt ext = new StrategyControlDataExt();
ext.setBizId(String.valueOf(greenId));
ext.setCrossName(value.getName());
ext.setWkt(value.getWkt());
ext.setOptMethod(optMethod);
ext.setStrategyName("动态绿波");
ext.setOptStatus("未优化");
ext.setStatus(0);
results.add(ext);
}
}
} }
results.sort(Comparator.comparing(StrategyControlDataExt::getStatus).reversed()); results.sort(Comparator.comparing(StrategyControlDataExt::getStatus).reversed());
return results; return results;
} }
......
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