去掉进路办理时对非CBTC进路的延续保护锁闭状态检查;添加<取消设置>操作;添加<传输信号机>绘图数据

This commit is contained in:
joylink_zhangsai 2021-01-19 11:19:24 +08:00
parent 3b99e3f5ea
commit f0b8778bfb
10 changed files with 66 additions and 18 deletions

View File

@ -183,6 +183,8 @@ public class Operation {
Stand_Total_Cancel,
/** 手动开启屏蔽门 */
Stand_Open_Psd,
/** 取消设置(扣车或跳停) */
Stand_Cancel_Setting,
//--------------------------- 控制模式 ---------------------------
/** 请求站控 */

View File

@ -162,4 +162,12 @@ public class StandOperateHandler {
public void manualOpenPsd(Simulation simulation, String standCode) {
atsStandService.manualOpenPsd(simulation, standCode);
}
/**
* 取消设置
*/
@OperateHandlerMapping(type = Operation.Type.Stand_Cancel_Setting)
public void cancelSetting(Simulation simulation, String standCode) {
atsStandService.cancelSetting(simulation, standCode);
}
}

View File

@ -254,4 +254,10 @@ public class SwitchOperateHandler {
vrSwitch.setNormal(normal);
vrSwitch.setReverse(!normal);
}
/** 强行转岔 */
@OperateHandlerMapping(type = Operation.Type.Switch_Force_Turn)
public void switchForceTurn(Simulation simulation, String switchCode, Boolean normal) {
ciApiService.switchForceTurn(simulation, switchCode, normal);
}
}

View File

@ -77,7 +77,6 @@ public class AtsRouteSettingService {
route = this.queryPlanTrainNeedRoute(simulation, train, signal, trainList);
} else if (train.isHeadCodeTrain()) { // 头码车
route = this.queryHeadTrainNeedRoute(simulation, train, signal, trainList);
// headTrainToSetRoute(repository, trainPositionMap, signalTrainMap, waitSettingList, signal, train);
}
if (Objects.nonNull(route)) {
waitSettingList.add(new TrainRoute(train, trainPositionMap.get(train.getGroupNumber()),

View File

@ -407,4 +407,16 @@ public class AtsStandService {
Stand stand = repository.getByCode(standCode, Stand.class);
stand.getPsd().getVirtualScreenDoor().updateLockAndClose(false, true);
}
/**
* 取消设置扣车或跳停
*/
public void cancelSetting(Simulation simulation, String standCode) {
Stand stand = simulation.getRepository().getByCode(standCode, Stand.class);
if (stand.isStationHoldTrain()) {
cancelHoldTrain(simulation, standCode);
} else if (stand.isAllSkip()) {
cancelJumpStop(simulation, standCode, null);
}
}
}

View File

@ -314,4 +314,9 @@ public interface CiApiService {
* 取消站台紧急停车
*/
void cancelStandEB(Simulation simulation, Stand stand);
/**
* 强扳道岔
*/
void switchForceTurn(Simulation simulation, String switchCode, Boolean normal);
}

View File

@ -455,4 +455,9 @@ public class CiApiServiceImpl implements CiApiService {
return;
stand.getEsp().update(false);
}
@Override
public void switchForceTurn(Simulation simulation, String switchCode, Boolean normal) {
}
}

View File

@ -132,7 +132,6 @@ public class RouteService {
/**
* 进路CBTC/联锁办理条件公有检查
*
*
* @param simulation
* @param route
* @return
@ -428,12 +427,12 @@ public class RouteService {
}
boolean onPosition = this.checkRouteSwitchPosition(switchList);
if (!onPosition) return false;
if (!route.isCbtcMode()) { // 检查进路延续保护
RouteOverlap overlap = route.getOverlap();
if (Objects.nonNull(overlap) && !overlap.isLock()) {
return false;
}
}
// if (!route.isCbtcMode()) { // 检查进路延续保护
// RouteOverlap overlap = route.getOverlap();
// if (Objects.nonNull(overlap) && !overlap.isLock()) {
// return false;
// }
// }
return true;
}
@ -869,8 +868,8 @@ public class RouteService {
return level;
}
}
// 非CBTC如果进路区段中有站台轨站台屏蔽门开着需要关灯
if (!route.isCbtcMode()) {
// 非CBTC级别如果进路区段中有站台轨站台屏蔽门开着需要关灯
// if (!route.isCbtcMode()) {
List<Section> standTracks = sectionList.stream().filter(Section::isStandTrack).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(standTracks)) {
for (Section standTrack : standTracks) {
@ -879,7 +878,7 @@ public class RouteService {
return level;
}
}
}
// }
} else { // 后备模式检查
// 区段占用检查
Route.CheckFailMessage checkFailMessage = this.ciLevelCheck(route);

View File

@ -120,6 +120,11 @@ public class Signal extends MayOutOfOrderDevice {
*/
private AutoSignal autoSignal;
/**
* 传输信号机关联的信号机
*/
private Signal linkSignal;
// ------------------状态属性---------------------
/**
@ -404,7 +409,11 @@ public class Signal extends MayOutOfOrderDevice {
/**
* 通过信号机
*/
PASSING
PASSING,
/**
* 传输信号机
*/
TRANSMISSION,
}
public enum SignalFault implements DeviceFault {

View File

@ -187,4 +187,7 @@ public class MapSignalNewVO {
/**是否无延续保护*/
@ApiModelProperty(value="是否无延续保护")
private boolean noOverlap;
@ApiModelProperty(value = "传输信号机关联的信号机")
private String linkSignalCode;
}