Commit b5d1e87f authored by duanruiming's avatar duanruiming

Merge remote-tracking branch 'origin/master'

parents f84ec3be 7efd40f6
package net.wanji.opt.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author Kent HAN
* @date 2023/11/30 11:07
*/
@ConfigurationProperties(prefix = "greenwave-merge")
@Component
@Data
public class GreenwaveMergeConfig {
List<String> weekDay;
List<String> weekEnd;
}
......@@ -13,6 +13,7 @@ import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.*;
import net.wanji.databus.vo.CrossIdAndNameVO;
import net.wanji.opt.bo.*;
import net.wanji.opt.config.GreenwaveMergeConfig;
import net.wanji.opt.dao.mapper.strategy.SceneStrategyMapper;
import net.wanji.opt.dao.mapper.strategy.StrategyMapper;
import net.wanji.databus.dao.mapper.GreenwaveInfoMapper;
......@@ -59,6 +60,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
private final CrossPlanMapper crossPlanMapper;
private final BaseCrossPlanMapper baseCrossPlanMapper;
private final BaseCrossSchemeMapper baseCrossSchemeMapper;
private final GreenwaveMergeConfig greenwaveMergeConfig;
SimpleDateFormat hourMinuteFormat = new SimpleDateFormat("HH:mm");
SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
......@@ -73,7 +75,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
@Qualifier("baseCrossTurnInfoMapper") BaseCrossTurnInfoMapper baseCrossTurnInfoMapper,
CrossBaseLaneInfoMapper crossBaseLaneInfoMapper,
@Qualifier("laneInfoMapper") LaneInfoMapper laneInfoMapper,
CrossDirDataHistMapper crossDirDataHistMapper, CrossDataHistMapper crossDataHistMapper, CrossTurnDataHistMapper crossTurnDataHistMapper, CrossLaneDataHistMapper crossLaneDataHistMapper, @Qualifier("greenwaveInfoMapper") GreenwaveInfoMapper greenwaveInfoMapper, @Qualifier("greenwaveHistMapper") GreenwaveHistMapper greenwaveHistMapper, @Qualifier("greenwaveCrossMapper") GreenwaveCrossMapper greenwaveCrossMapper, @Qualifier("baseCrossInfoMapper") BaseCrossInfoMapper baseCrossInfoMapper, @Qualifier("greenwaveSceneMapper") GreenwaveSceneMapper greenwaveSceneMapper, @Qualifier("sceneStrategyMapper") SceneStrategyMapper sceneStrategyMapper, @Qualifier("strategyMapper") StrategyMapper strategyMapper, @Qualifier("baseCrossSectionMapper") BaseCrossSectionMapper baseCrossSectionMapper, @Qualifier("ridInfoMapper") RidInfoMapper ridInfoMapper, CrossPlanMapper crossPlanMapper, @Qualifier("baseCrossPlanMapper") BaseCrossPlanMapper baseCrossPlanMapper, @Qualifier("baseCrossSchemeMapper") BaseCrossSchemeMapper baseCrossSchemeMapper) {
CrossDirDataHistMapper crossDirDataHistMapper, CrossDataHistMapper crossDataHistMapper, CrossTurnDataHistMapper crossTurnDataHistMapper, CrossLaneDataHistMapper crossLaneDataHistMapper, @Qualifier("greenwaveInfoMapper") GreenwaveInfoMapper greenwaveInfoMapper, @Qualifier("greenwaveHistMapper") GreenwaveHistMapper greenwaveHistMapper, @Qualifier("greenwaveCrossMapper") GreenwaveCrossMapper greenwaveCrossMapper, @Qualifier("baseCrossInfoMapper") BaseCrossInfoMapper baseCrossInfoMapper, @Qualifier("greenwaveSceneMapper") GreenwaveSceneMapper greenwaveSceneMapper, @Qualifier("sceneStrategyMapper") SceneStrategyMapper sceneStrategyMapper, @Qualifier("strategyMapper") StrategyMapper strategyMapper, @Qualifier("baseCrossSectionMapper") BaseCrossSectionMapper baseCrossSectionMapper, @Qualifier("ridInfoMapper") RidInfoMapper ridInfoMapper, CrossPlanMapper crossPlanMapper, @Qualifier("baseCrossPlanMapper") BaseCrossPlanMapper baseCrossPlanMapper, @Qualifier("baseCrossSchemeMapper") BaseCrossSchemeMapper baseCrossSchemeMapper, GreenwaveMergeConfig greenwaveMergeConfig) {
this.baseCrossDirInfoMapper = baseCrossDirInfoMapper;
this.baseCrossTurnInfoMapper = baseCrossTurnInfoMapper;
this.laneInfoMapper = laneInfoMapper;
......@@ -93,6 +95,7 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
this.crossPlanMapper = crossPlanMapper;
this.baseCrossPlanMapper = baseCrossPlanMapper;
this.baseCrossSchemeMapper = baseCrossSchemeMapper;
this.greenwaveMergeConfig = greenwaveMergeConfig;
}
@Override
......@@ -777,18 +780,23 @@ public class MainlineEvaluateServiceImpl implements MainlineEvaluateService {
}
private List<int[]> getMergingPeriods(boolean isWeekday) {
List<int[]> res = new ArrayList<>();
if (isWeekday) {
return Arrays.asList(
new int[] {timeToInt("07:00"), timeToInt("09:30")},
new int[] {timeToInt("09:30"), timeToInt("16:30")},
new int[] {timeToInt("16:30"), timeToInt("19:00")},
new int[] {timeToInt("21:30"), timeToInt("23:59")}
);
List<String> weekDays = greenwaveMergeConfig.getWeekDay();
fillRes(weekDays, res);
} else {
return Arrays.asList(
new int[] {timeToInt("13:30"), timeToInt("20:00")},
new int[] {timeToInt("21:30"), timeToInt("23:59")}
);
List<String> weekEnds = greenwaveMergeConfig.getWeekEnd();
fillRes(weekEnds, res);
}
return res;
}
private void fillRes(List<String> days, List<int[]> res) {
for (String day : days) {
// "07:00,09:30"
String[] split = day.split(",");
int[] ints = {timeToInt(split[0]), timeToInt(split[1])};
res.add(ints);
}
}
......
......@@ -139,4 +139,9 @@ crossOptParam:
#车头时距
maxVehheadTime: 5.0
minVehheadTime: 2.0
defaultVehheadTime: 2.8
\ No newline at end of file
defaultVehheadTime: 2.8
# 合并绿波时段
greenwave-merge:
weekday: ["07:00,09:30", "09:30,16:30", "16:30,19:00", "21:30,23:59"]
weekend: ["13:30,20:00", "21:30,23:59"]
\ No newline at end of file
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