设置人工车时,列车在停止状态下才清除target;添加创建进路接口;列车最大速度降低至80km/h
This commit is contained in:
parent
6840372770
commit
0296d007ab
@ -52,4 +52,9 @@ public class DraftMapRouteController {
|
|||||||
public void setSetOverlapInCtcFalse(@PathVariable Long id) {
|
public void setSetOverlapInCtcFalse(@PathVariable Long id) {
|
||||||
this.draftMapRouteService.setSetOverlapInCtcFalse(id);
|
this.draftMapRouteService.setSetOverlapInCtcFalse(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("")
|
||||||
|
public void createRoute(@PathVariable Long id, @RequestBody MapRouteNewVO routeNewVO) {
|
||||||
|
this.draftMapRouteService.createRoute(id, routeNewVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,4 +20,6 @@ public interface DraftMapRouteService {
|
|||||||
void deleteStandHoldList(Long mapId);
|
void deleteStandHoldList(Long mapId);
|
||||||
|
|
||||||
void setSetOverlapInCtcFalse(Long mapId);
|
void setSetOverlapInCtcFalse(Long mapId);
|
||||||
|
|
||||||
|
void createRoute(long draftMapId, MapRouteNewVO routeNewVO);
|
||||||
}
|
}
|
||||||
|
@ -39,10 +39,7 @@ public class DraftMapRouteServiceImpl implements DraftMapRouteService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MapRouteNewVO createRailwayRoute(Long id, MapRouteNewVO routeNewVO) {
|
public MapRouteNewVO createRailwayRoute(Long id, MapRouteNewVO routeNewVO) {
|
||||||
DraftMapRouteExample example = new DraftMapRouteExample();
|
List<DraftMapRoute> routeList = findEntitiesByMapId(id);
|
||||||
example.createCriteria()
|
|
||||||
.andMapIdEqualTo(id);
|
|
||||||
List<DraftMapRoute> routeList = this.draftMapRouteDAO.selectByExampleWithBLOBs(example);
|
|
||||||
Map<String, MapRouteNewVO> routeVOMap = routeList.stream()
|
Map<String, MapRouteNewVO> routeVOMap = routeList.stream()
|
||||||
.map(draftMapRoute -> MapRouteNewVO.convert2VO(draftMapRoute))
|
.map(draftMapRoute -> MapRouteNewVO.convert2VO(draftMapRoute))
|
||||||
.collect(Collectors.toMap(MapRouteNewVO::getCode, Function.identity()));
|
.collect(Collectors.toMap(MapRouteNewVO::getCode, Function.identity()));
|
||||||
@ -97,11 +94,15 @@ public class DraftMapRouteServiceImpl implements DraftMapRouteService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MapRouteNewVO> queryAllRoutes(Long id) {
|
public List<MapRouteNewVO> queryAllRoutes(Long id) {
|
||||||
|
List<DraftMapRoute> routeList = findEntitiesByMapId(id);
|
||||||
|
return MapRouteNewVO.convertDraft2VOList(routeList);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<DraftMapRoute> findEntitiesByMapId(Long mapId) {
|
||||||
DraftMapRouteExample example = new DraftMapRouteExample();
|
DraftMapRouteExample example = new DraftMapRouteExample();
|
||||||
example.createCriteria()
|
example.createCriteria()
|
||||||
.andMapIdEqualTo(id);
|
.andMapIdEqualTo(mapId);
|
||||||
List<DraftMapRoute> routeList = this.draftMapRouteDAO.selectByExampleWithBLOBs(example);
|
return this.draftMapRouteDAO.selectByExampleWithBLOBs(example);
|
||||||
return MapRouteNewVO.convertDraft2VOList(routeList);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -131,10 +132,7 @@ public class DraftMapRouteServiceImpl implements DraftMapRouteService {
|
|||||||
public void deleteRoute(Long id, String code) {
|
public void deleteRoute(Long id, String code) {
|
||||||
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertHasText(code,
|
BusinessExceptionAssertEnum.ARGUMENT_ILLEGAL.assertHasText(code,
|
||||||
String.format("code不能为空"));
|
String.format("code不能为空"));
|
||||||
DraftMapRouteExample example = new DraftMapRouteExample();
|
List<DraftMapRoute> routeList = findEntitiesByMapId(id);
|
||||||
example.createCriteria()
|
|
||||||
.andMapIdEqualTo(id);
|
|
||||||
List<DraftMapRoute> routeList = this.draftMapRouteDAO.selectByExampleWithBLOBs(example);
|
|
||||||
Map<String, MapRouteNewVO> routeVOMap = routeList.stream()
|
Map<String, MapRouteNewVO> routeVOMap = routeList.stream()
|
||||||
.map(draftMapRoute -> MapRouteNewVO.convert2VO(draftMapRoute))
|
.map(draftMapRoute -> MapRouteNewVO.convert2VO(draftMapRoute))
|
||||||
.collect(Collectors.toMap(MapRouteNewVO::getCode, Function.identity()));
|
.collect(Collectors.toMap(MapRouteNewVO::getCode, Function.identity()));
|
||||||
@ -172,4 +170,23 @@ public class DraftMapRouteServiceImpl implements DraftMapRouteService {
|
|||||||
update(mapId, route.getCode(), route);
|
update(mapId, route.getCode(), route);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void createRoute(long draftMapId, MapRouteNewVO routeNewVO) {
|
||||||
|
List<DraftMapRoute> routes = findEntitiesByMapId(draftMapId);
|
||||||
|
String prefix_route = DraftMapCiDataGeneratorImpl.CodeGenerator.Prefix_Route;
|
||||||
|
DraftMapCiDataGeneratorImpl.CodeGenerator routeCodeGenerator;
|
||||||
|
if (CollectionUtils.isEmpty(routes)) {
|
||||||
|
routeCodeGenerator = DraftMapCiDataGeneratorImpl.CodeGenerator.getRouteCodeGenerator(0);
|
||||||
|
} else {
|
||||||
|
Integer sn = routes.stream()
|
||||||
|
.map(DraftMapRoute::getCode)
|
||||||
|
.map(c -> Integer.parseInt(c.replace(prefix_route, "")))
|
||||||
|
.max(Integer::compareTo).get();
|
||||||
|
routeCodeGenerator = DraftMapCiDataGeneratorImpl.CodeGenerator.getRouteCodeGenerator(sn);
|
||||||
|
}
|
||||||
|
String code = routeCodeGenerator.next();
|
||||||
|
routeNewVO.setCode(code);
|
||||||
|
draftMapRouteDAO.insert(routeNewVO.convert2Draft());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -146,55 +146,6 @@ public class AtsRouteSettingService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 如果已经到达目的地,返回
|
|
||||||
// if (Objects.equals(headSection, destDefinition.getSection())) {
|
|
||||||
// return null;
|
|
||||||
// }
|
|
||||||
// // 目的地定义存在,根据目的地定义查询路径,办理进路
|
|
||||||
// // 判断是否终点站折返办理
|
|
||||||
// if (train.isParking() && destDefinition.isLoop()) { // 列车停车,且目的地为环路运营
|
|
||||||
// Section section = destDefinition.getEndStationParkSection(right);
|
|
||||||
// if (Objects.equals(section, headSection)) { // 列车停靠终点站对应站台
|
|
||||||
// Station station = destDefinition.getStationOf(right);
|
|
||||||
// if (destDefinition.isFrontTurnBack(station)) { // 站前折返
|
|
||||||
// neededSignal = section.getSignalOf(!right);
|
|
||||||
// List<RoutePath> paths = repository.queryRoutePathsByStart(section);
|
|
||||||
// for (RoutePath path : paths) { // 筛选方向一致且终端区段是站台轨的
|
|
||||||
// if (Objects.equals(path.isRight(), !right) && path.getEnd().isNormalStandTrack()) {
|
|
||||||
// routePaths.add(path);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } else { // 站后折返
|
|
||||||
// train.startTurnBack(null);
|
|
||||||
// StationTurnBackStrategyOption strategy = null;
|
|
||||||
// if (Objects.nonNull(station.getTbStrategyId())) {
|
|
||||||
// strategy = station.getCurrentTurnBackStrategy();
|
|
||||||
// }
|
|
||||||
// return this.selectTbRouteByStrategy(simulation, train, signal, null, strategy, trainList);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// // 非终点折返办理,根据列车预计到站查询
|
|
||||||
// if (Objects.nonNull(train.getEstimatedArriveStandTrack())) {
|
|
||||||
// // 查询到达预计到站的路径
|
|
||||||
// Section eaStandSection = repository.getByCode(train.getEstimatedArriveStandTrack(), Section.class);
|
|
||||||
// List<RoutePath> paths = repository.queryRoutePathsByEnd(eaStandSection);
|
|
||||||
// for (RoutePath path : paths) {
|
|
||||||
// if (path.containsSection(headSection) && path.isRight() == right) {
|
|
||||||
// routePaths.add(path);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// // 如果预计到达不是终点,尝试查询从预计到达开始的路径
|
|
||||||
// if (!destDefinition.isEndSection(eaStandSection, right)) {
|
|
||||||
// List<RoutePath> pathList = repository.queryRoutePathsByStart(eaStandSection);
|
|
||||||
// for (RoutePath routePath : pathList) {
|
|
||||||
// if (destDefinition.containsSection(routePath.getEnd(), right)) {
|
|
||||||
// routePaths.add(routePath);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
} else {
|
} else {
|
||||||
// 按交路查询办理,如果找到才办理
|
// 按交路查询办理,如果找到才办理
|
||||||
Routing routing = train.getRouting();
|
Routing routing = train.getRouting();
|
||||||
|
@ -345,7 +345,9 @@ public class AtsTrainService {
|
|||||||
// this.onboardAtpApiService.change2Manual(simulation, groupNumber);
|
// this.onboardAtpApiService.change2Manual(simulation, groupNumber);
|
||||||
supervisedTrain.change2Manual();
|
supervisedTrain.change2Manual();
|
||||||
VirtualRealityTrain train = repository.getOnlineTrainBy(groupNumber);
|
VirtualRealityTrain train = repository.getOnlineTrainBy(groupNumber);
|
||||||
train.setTarget(null);
|
if (train.isStop()) {
|
||||||
|
train.setTarget(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -73,7 +73,7 @@ public class VirtualRealityTrain extends VirtualRealityDevice {
|
|||||||
/**
|
/**
|
||||||
* 列车前进最大速度
|
* 列车前进最大速度
|
||||||
*/
|
*/
|
||||||
private float speedMax = (float) (100 / 3.6);
|
private float speedMax = (float) (80 / 3.6);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 列车倒车最大速度
|
* 列车倒车最大速度
|
||||||
|
Loading…
Reference in New Issue
Block a user