【移动运行方向至CI联锁文件夹】【移动行车日志至CTC文件夹】【增加进路是否调车进路属性】
This commit is contained in:
parent
06e8e2d5ac
commit
80301e670d
@ -1,10 +1,10 @@
|
||||
package club.joylink.rtss.controller.simulation;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.runplan.CtcManageService;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.runplan.CtcStationRunPlanLogService;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.runplan.CtcZoneService;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcStationRunPlanLogVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.runplan.CtcManageService;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.runplan.CtcStationRunPlanLogService;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.runplan.CtcZoneService;
|
||||
import club.joylink.rtss.simulation.cbtc.GroupSimulationCache;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.entity;
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Getter;
|
||||
|
@ -1,5 +1,8 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.vo.StationDirectionStatusVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.status.StationDirectionStatus;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.command.OperationMessage;
|
||||
import club.joylink.rtss.simulation.cbtc.communication.Joylink3DMessageService;
|
||||
|
@ -25,7 +25,6 @@ public abstract class AtsRouteSelectService {
|
||||
/**
|
||||
* 查询需要触发的进路
|
||||
*
|
||||
*
|
||||
* @param simulation
|
||||
* @param turnBackSection 站后折返的折返轨
|
||||
* @return
|
||||
@ -245,21 +244,21 @@ public abstract class AtsRouteSelectService {
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// 取第一个延续保护道岔定位的
|
||||
Route route = null;
|
||||
for (Route temp : triggerList) {
|
||||
List<SwitchElement> switchList = temp.getOverlap().getFirstPath().getSwitchList();
|
||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertCollectionNotEmpty(switchList,
|
||||
String.format("列车[%s]过滤进路异常:进路不是延续保护差异进路[%s]",
|
||||
trainInfo.getGroupNumber(),
|
||||
triggerList.stream().map(Route::getName).collect(Collectors.joining(","))));
|
||||
if (switchList.get(0).isNormal()) {
|
||||
return new RouteSelectResult(temp, false);
|
||||
} else {
|
||||
route = temp;
|
||||
}
|
||||
// 取第一个延续保护道岔定位的
|
||||
Route route = null;
|
||||
for (Route temp : triggerList) {
|
||||
List<SwitchElement> switchList = temp.getOverlap().getFirstPath().getSwitchList();
|
||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertCollectionNotEmpty(switchList,
|
||||
String.format("列车[%s]过滤进路异常:进路不是延续保护差异进路[%s]",
|
||||
trainInfo.getGroupNumber(),
|
||||
triggerList.stream().map(Route::getName).collect(Collectors.joining(","))));
|
||||
if (switchList.get(0).isNormal()) {
|
||||
return new RouteSelectResult(temp, false);
|
||||
} else {
|
||||
route = temp;
|
||||
}
|
||||
return new RouteSelectResult(route, false);
|
||||
}
|
||||
return new RouteSelectResult(route, false);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 封锁区段
|
||||
*
|
||||
* @param simulation
|
||||
* @param sectionCode
|
||||
*/
|
||||
@ -21,6 +22,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 解封区段
|
||||
*
|
||||
* @param simulation
|
||||
* @param sectionCode
|
||||
*/
|
||||
@ -28,6 +30,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 封锁信号机
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
*/
|
||||
@ -35,6 +38,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 解封信号机
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
*/
|
||||
@ -42,6 +46,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 信号关闭
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
*/
|
||||
@ -49,6 +54,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 信号重开
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
*/
|
||||
@ -56,6 +62,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 转动道岔
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -63,6 +70,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 转动道岔到定位
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -70,6 +78,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 转动道岔到反位
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -77,6 +86,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 道岔单锁
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -84,6 +94,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 道岔单解
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -91,6 +102,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 封锁道岔
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -98,6 +110,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 封锁道岔及道岔区段
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -105,6 +118,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 解封道岔
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -112,6 +126,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 解封道岔及道岔区段
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -119,6 +134,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 进路排列条件检查
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
* @return
|
||||
@ -127,6 +143,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 排列进路
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
* @return
|
||||
@ -135,6 +152,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 解锁进路/取消进路(无法取消进路接近区段占用的进路)
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -142,6 +160,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 解锁进路/取消进路(强制取消进路,无论接近区段是否占用)
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -149,6 +168,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 人解进路
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -156,6 +176,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 区故解
|
||||
*
|
||||
* @param simulation
|
||||
* @param sectionCode
|
||||
*/
|
||||
@ -163,6 +184,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 区故解
|
||||
*
|
||||
* @param simulation
|
||||
* @param switchCode
|
||||
*/
|
||||
@ -170,6 +192,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 设置自动通过进路
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -177,6 +200,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 取消自动通过进路
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -184,6 +208,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 设置进路CI自动触发
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -191,6 +216,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 取消进路CI自动触发
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -198,6 +224,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 根据始端信号机查询锁闭进路
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
* @return
|
||||
@ -206,6 +233,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 根据始端、终端信号机查询进路(根据延续保护自动筛选出一条进路)
|
||||
*
|
||||
* @param simulation
|
||||
* @param startSignalCode
|
||||
* @param endSignalCode
|
||||
@ -215,6 +243,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 办理引导进路
|
||||
*
|
||||
* @param simulation
|
||||
* @param routeCode
|
||||
*/
|
||||
@ -222,6 +251,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 开站台屏蔽门
|
||||
*
|
||||
* @param simulation
|
||||
* @param standCode
|
||||
* @param source
|
||||
@ -230,6 +260,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 关站台屏蔽门
|
||||
*
|
||||
* @param simulation
|
||||
* @param standCode
|
||||
* @param source
|
||||
@ -238,9 +269,10 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 站台扣车,联锁关系处理
|
||||
*
|
||||
* @param simulation
|
||||
* @param standCode
|
||||
* @param center - true:中心扣车,false:车站扣车
|
||||
* @param center - true:中心扣车,false:车站扣车
|
||||
*/
|
||||
void standHoldTrain(Simulation simulation, String standCode, boolean center);
|
||||
|
||||
@ -248,9 +280,10 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 站台取消扣车,联锁关系处理
|
||||
*
|
||||
* @param simulation
|
||||
* @param standCode
|
||||
* @param center - true:中心扣车,false:车站扣车
|
||||
* @param center - true:中心扣车,false:车站扣车
|
||||
*/
|
||||
void standHoldTrainCancel(Simulation simulation, String standCode, boolean center);
|
||||
|
||||
@ -264,6 +297,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 办理引导
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
* @param routeCode
|
||||
@ -281,12 +315,15 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 释放指令
|
||||
*
|
||||
* @param simulation
|
||||
* @param station
|
||||
*/
|
||||
void release(Simulation simulation, Station station);
|
||||
|
||||
/**上电解锁*/
|
||||
/**
|
||||
* 上电解锁
|
||||
*/
|
||||
void powerOnUnlock(Simulation simulation, Station station);
|
||||
|
||||
/**
|
||||
@ -321,7 +358,8 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 命令
|
||||
* @param auto 是否自动模式
|
||||
*
|
||||
* @param auto 是否自动模式
|
||||
* @param reserve 是否预留
|
||||
*/
|
||||
void switchCommand(Simulation simulation, String switchCode, Boolean auto, Boolean reserve, Boolean normal);
|
||||
@ -348,6 +386,7 @@ public interface CiApiService {
|
||||
|
||||
/**
|
||||
* 设置延续保护
|
||||
*
|
||||
* @param simulation
|
||||
* @param signalCode
|
||||
* @param overlapCode
|
||||
|
@ -1,10 +1,10 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CI;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.assist.StationDirectionService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.device.CiDeviceStatusCollector;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.device.CiRouteService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.device.CiService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.device.CiSignalControlService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.service.assist.StationDirectionService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.constant.SignalAspect;
|
||||
import club.joylink.rtss.simulation.cbtc.constant.SimulationConstants;
|
||||
|
@ -1,8 +1,9 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.map;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.data;
|
||||
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.entity.DraftMapStationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -81,7 +82,7 @@ public class StationDirection extends MayOutOfOrderDevice {
|
||||
* 预备方向,在办理辅助时使用
|
||||
*/
|
||||
private ReceiveAndDeliverModel prepareRunStatus;
|
||||
|
||||
|
||||
/**
|
||||
* 接车灯状态
|
||||
*/
|
@ -1,7 +1,8 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.vo;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.data.vo;
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.DeviceStatusVO;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
@ -1,23 +1,17 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CI.device;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.constant.SimulationConstants;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Route;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Section;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Signal;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class CiSectionService {
|
||||
@Autowired
|
||||
private CiSignalControlService signalControlService;
|
||||
|
||||
/**
|
||||
* 封锁(封锁后,包含区段的进路不能排列)
|
||||
*/
|
||||
|
@ -173,7 +173,7 @@ public class CiService {
|
||||
|| (!signal.isCbtcMode() && Signal.SignalFault.LIGHTING_UNIT_FAULT_HEAD.equals(signal.getFault())))
|
||||
return level;
|
||||
// 大铁情况下做判断
|
||||
if (simulation.getRepository().getConfig().isRailway() && !Signal.SignalType.SHUNTING.equals(signal.getType())) {
|
||||
if (simulation.getRepository().getConfig().isRailway() && !route.isShutting()) {
|
||||
// 如果当前进路在列表中不存在,则信号灯不开放
|
||||
boolean isCanHandle = simulation.getRepository().getStationList().stream()
|
||||
.filter(station -> station.getCode().equals(route.getStart().getStation().getCode())
|
||||
|
@ -64,6 +64,7 @@ public class CiSignalControlService {
|
||||
|
||||
/**
|
||||
* 根据信号机接近消息控制室外信号机点灯/关闭
|
||||
*
|
||||
* @param simulation
|
||||
* @param signal
|
||||
*/
|
||||
@ -86,14 +87,15 @@ public class CiSignalControlService {
|
||||
|
||||
/**
|
||||
* 封锁(封锁后,包含信号机的进路不能排列)
|
||||
*
|
||||
* @param signal
|
||||
*/
|
||||
public void blockade(Simulation simulation, Signal signal) {
|
||||
if(!signal.isBlockade()) {
|
||||
if (!signal.isBlockade()) {
|
||||
signal.setBlockade(true);
|
||||
if(simulation.getRepository().getConfig().isSignalBolckOptReflectSignal()) {
|
||||
this.tryControlSignalAspectAccordingLevel(simulation, signal, signal.getDefaultAspect());
|
||||
}
|
||||
if (simulation.getRepository().getConfig().isSignalBolckOptReflectSignal()) {
|
||||
this.tryControlSignalAspectAccordingLevel(simulation, signal, signal.getDefaultAspect());
|
||||
}
|
||||
if (signal.getLockedRoute() != null) {
|
||||
signal.setReblockade(true);
|
||||
log.debug(signal.debugStr() + "因信号机封锁且有锁闭的进路而重复封锁");
|
||||
@ -103,6 +105,7 @@ public class CiSignalControlService {
|
||||
|
||||
/**
|
||||
* 解封
|
||||
*
|
||||
* @param signal
|
||||
*/
|
||||
public void unblock(Signal signal) {
|
||||
|
@ -16,6 +16,7 @@ import org.springframework.stereotype.Component;
|
||||
public class CiStandService {
|
||||
@Autowired
|
||||
private VirtualRealityDeviceService virtualRealityDeviceService;
|
||||
|
||||
/**
|
||||
* 打开屏蔽门
|
||||
*/
|
||||
@ -83,7 +84,9 @@ public class CiStandService {
|
||||
}
|
||||
}
|
||||
|
||||
/**系统扣车*/
|
||||
/**
|
||||
* 系统扣车
|
||||
*/
|
||||
public void sysHoldTrain(Simulation simulation, Stand stand) {
|
||||
stand.setSysHoldTrain(true);
|
||||
}
|
||||
@ -143,6 +146,7 @@ public class CiStandService {
|
||||
|
||||
/**
|
||||
* 设置或取消互锁解除
|
||||
*
|
||||
* @param release 是否是设置
|
||||
*/
|
||||
public void setOrCancelInterlockRelease(Stand stand, boolean release) {
|
||||
@ -153,7 +157,9 @@ public class CiStandService {
|
||||
// }
|
||||
}
|
||||
|
||||
/** 控制屏蔽门的指令的来源 */
|
||||
/**
|
||||
* 控制屏蔽门的指令的来源
|
||||
*/
|
||||
public enum PsdCommandSource {
|
||||
SIG,
|
||||
PSL,
|
||||
|
@ -14,8 +14,10 @@ import java.util.List;
|
||||
public class CiSwitchControlService {
|
||||
@Autowired
|
||||
private VirtualRealityDeviceService virtualRealityDeviceService;
|
||||
|
||||
/**
|
||||
* 道岔单锁
|
||||
*
|
||||
* @param aSwitch
|
||||
*/
|
||||
public void singleLock(Switch aSwitch) {
|
||||
@ -26,6 +28,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 道岔单解
|
||||
*
|
||||
* @param aSwitch
|
||||
*/
|
||||
public void singleUnlock(Switch aSwitch) {
|
||||
@ -36,10 +39,11 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 封锁(封锁后,包含道岔的进路不能排列)
|
||||
*
|
||||
* @param aSwitch
|
||||
*/
|
||||
public void blockade(Switch aSwitch) {
|
||||
if(!aSwitch.isBlockade()) {
|
||||
if (!aSwitch.isBlockade()) {
|
||||
aSwitch.setBlockade(true);
|
||||
aSwitch.getA().setBlockade(true);
|
||||
aSwitch.getB().setBlockade(true);
|
||||
@ -50,10 +54,11 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 解封
|
||||
*
|
||||
* @param aSwitch
|
||||
*/
|
||||
public void unblock(Switch aSwitch) {
|
||||
if(aSwitch.isBlockade()) {
|
||||
if (aSwitch.isBlockade()) {
|
||||
aSwitch.setBlockade(false);
|
||||
aSwitch.getA().setBlockade(false);
|
||||
aSwitch.getB().setBlockade(false);
|
||||
@ -63,6 +68,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 强转道岔
|
||||
*
|
||||
* @param simulation
|
||||
* @param aSwitch
|
||||
* @return
|
||||
@ -84,6 +90,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 道岔转动
|
||||
*
|
||||
* @param simulation
|
||||
* @param aSwitch
|
||||
* @return
|
||||
@ -109,6 +116,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 道岔定操
|
||||
*
|
||||
* @param simulation
|
||||
* @param aSwitch
|
||||
*/
|
||||
@ -123,6 +131,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 道岔反操
|
||||
*
|
||||
* @param simulation
|
||||
* @param aSwitch
|
||||
* @return
|
||||
@ -138,6 +147,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 检查道岔转动条件
|
||||
*
|
||||
* @param aSwitch
|
||||
* @return
|
||||
*/
|
||||
@ -148,6 +158,7 @@ public class CiSwitchControlService {
|
||||
|
||||
/**
|
||||
* 批量转动道岔到指定位置
|
||||
*
|
||||
* @param simulation
|
||||
* @param list
|
||||
*/
|
||||
|
@ -1,14 +1,14 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.operation.handler;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.handler;
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.Operation;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandler;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandlerMapping;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.assist.ButtonThenInterface;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.assist.ButtonValidInterface;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.assist.StationDirectionService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.service.assist.ButtonThenInterface;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.service.assist.ButtonValidInterface;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.service.assist.StationDirectionService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.assist;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.service.assist;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
|
||||
/**
|
||||
* 按钮操作后续操作
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.assist;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.service.assist;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
|
||||
/**
|
||||
* 检验按钮是否可以操作
|
@ -1,11 +1,11 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.assist;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.service.assist;
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.Operation;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Route;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Station;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.exception.SimulationException;
|
||||
import club.joylink.rtss.simulation.cbtc.exception.SimulationExceptionType;
|
||||
import lombok.extern.slf4j.Slf4j;
|
@ -1,10 +1,11 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.status;
|
||||
package club.joylink.rtss.simulation.cbtc.CI.status;
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.vo.StationDirectionStatusVO;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.MapElement;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.data.status.DeviceStatus;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.DeviceStatusVO;
|
||||
import club.joylink.rtss.simulation.cbtc.data.vo.StationDirectionStatusVO;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Objects;
|
@ -1,9 +1,9 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcRunPlanVO;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import lombok.*;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
@ -1,11 +1,11 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcRunPlanVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcStationRunPlanLogVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.RouteSequenceVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.TrackViewVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.build.SimulationBuilder;
|
||||
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
|
||||
|
@ -1,11 +1,11 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Section;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Station;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data.vo;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
@ -1,7 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.data.vo;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
@ -1,10 +1,10 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.operation.handler;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.operation;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.Operation;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandler;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandlerMapping;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.runplan.CtcManageService;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.runplan.CtcManageService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
@ -1,14 +1,14 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.operation.handler;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.operation;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.Operation;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandler;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandlerMapping;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.runplan.CtcStationRunPlanLogService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.CTCService;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.runplan.CtcStationRunPlanLogService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -1,12 +1,12 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.operation.handler;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.operation;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.Operation;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandler;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.annotation.OperateHandlerMapping;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.service.runplan.CtcZoneService;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.runplan.CtcZoneService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.operation.vo;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.param;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import lombok.Getter;
|
@ -1,8 +1,8 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.runplan;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.service.runplan;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcManageRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -41,7 +41,7 @@ public class CtcManageService {
|
||||
manageRepository.saveRunPlan(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 覆盖编辑区行车计划
|
||||
*
|
@ -1,16 +1,16 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.runplan;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.service.runplan;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcEffectRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.RouteSequence;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.TrackSection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Route;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Section;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Signal;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
@ -1,16 +1,16 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.runplan;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.service.runplan;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcEffectRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcRunPlanVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcStationRunPlanLogVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.service.CTCService;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Section;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.Station;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
@ -1,12 +1,12 @@
|
||||
package club.joylink.rtss.simulation.cbtc.ATS.service.runplan;
|
||||
package club.joylink.rtss.simulation.cbtc.CTC.service.runplan;
|
||||
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.CTCLogicLoop;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.*;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcRunPlanVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
@ -3,6 +3,7 @@ package club.joylink.rtss.simulation.cbtc.build;
|
||||
import club.joylink.rtss.entity.DraftMapStationDirection;
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.services.draftData.RoutingGenerator;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.constant.SignalAspect;
|
||||
import club.joylink.rtss.simulation.cbtc.data.CalculateService;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.*;
|
||||
@ -377,6 +378,10 @@ public class InterlockBuilder2 {
|
||||
BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.assertNotNull(destination,
|
||||
String.format("进路[%s]终端信号机不存在", route.getCode()));
|
||||
route.setDestination(destination);
|
||||
// 是否调车进路:数据设置,后边逻辑判断的
|
||||
boolean shutting = routeVO.isShutting() || Signal.SignalType.SHUNTING.equals(start.getType())
|
||||
|| Route.Type.SHUNTING.equals(route.getType());
|
||||
route.setShutting(shutting);
|
||||
}
|
||||
for (MapRouteNewVO routeVO : routeList) {
|
||||
Route route = routeMap.get(routeVO.getCode());
|
||||
|
@ -38,65 +38,110 @@ public class Route extends MapNamedElement {
|
||||
*/
|
||||
private Station interlockStation;
|
||||
|
||||
/** 是否折返进路 */
|
||||
/**
|
||||
* 是否折返进路
|
||||
*/
|
||||
private boolean turnBack;
|
||||
|
||||
/** 是否ATP进路 */
|
||||
/**
|
||||
* 是否ATP进路
|
||||
*/
|
||||
private boolean atp;
|
||||
|
||||
/** 是否地面信号进路 */
|
||||
/**
|
||||
* 是否地面信号进路
|
||||
*/
|
||||
private boolean ground;
|
||||
|
||||
/** 是否引导进路 */
|
||||
/**
|
||||
* 是否引导进路
|
||||
*/
|
||||
private boolean guide;
|
||||
|
||||
/** 连续通过进路/车队模式进路(联锁自动进路) */
|
||||
/**
|
||||
* 连续通过进路/车队模式进路(联锁自动进路)
|
||||
*/
|
||||
private boolean flt;
|
||||
|
||||
/** 自动排列(联锁自动触发) */
|
||||
/**
|
||||
* 自动排列(联锁自动触发)
|
||||
*/
|
||||
private boolean ars;
|
||||
|
||||
/** 始端信号机 */
|
||||
/**
|
||||
* 是否调车进路
|
||||
*/
|
||||
private boolean shutting;
|
||||
|
||||
/**
|
||||
* 始端信号机
|
||||
*/
|
||||
private Signal start;
|
||||
|
||||
/** 终端信号机 */
|
||||
/**
|
||||
* 终端信号机
|
||||
*/
|
||||
private Signal destination;
|
||||
|
||||
/** 信号显示 */
|
||||
/**
|
||||
* 信号显示
|
||||
*/
|
||||
private SignalAspect aspect;
|
||||
|
||||
/** 进路区段 */
|
||||
/**
|
||||
* 进路区段
|
||||
*/
|
||||
private List<Section> sectionList;
|
||||
|
||||
/** 进路道岔 */
|
||||
/**
|
||||
* 进路道岔
|
||||
*/
|
||||
private List<SwitchElement> switchList;
|
||||
|
||||
/** 进路侧防元件 */
|
||||
/**
|
||||
* 进路侧防元件
|
||||
*/
|
||||
private List<RouteFls> flsList;
|
||||
|
||||
/** 站台屏蔽门 */
|
||||
/**
|
||||
* 站台屏蔽门
|
||||
*/
|
||||
private List<PSD> psdList;
|
||||
|
||||
/** 站台紧急停车按钮 */
|
||||
/**
|
||||
* 站台紧急停车按钮
|
||||
*/
|
||||
private List<ESP> espList;
|
||||
|
||||
/** 站台扣车 */
|
||||
/**
|
||||
* 站台扣车
|
||||
*/
|
||||
private List<Stand> standHoldList;
|
||||
|
||||
/** CTC模式下需要办理延续保护 */
|
||||
/**
|
||||
* CTC模式下需要办理延续保护
|
||||
*/
|
||||
@Deprecated
|
||||
private boolean setOverlapInCtc = true;
|
||||
|
||||
/** 进路延续保护 */
|
||||
/**
|
||||
* 进路延续保护
|
||||
*/
|
||||
private RouteOverlap overlap;
|
||||
|
||||
/** 超限区段列表 */
|
||||
/**
|
||||
* 超限区段列表
|
||||
*/
|
||||
private List<RouteOverrun> overrunList;
|
||||
|
||||
/** 敌对进路 */
|
||||
/**
|
||||
* 敌对进路
|
||||
*/
|
||||
private List<Route> conflictingRouteList;
|
||||
|
||||
/**进路终端按钮信号机*/
|
||||
/**
|
||||
* 进路终端按钮信号机
|
||||
*/
|
||||
private Signal destinationButtonSignal;
|
||||
|
||||
/**
|
||||
@ -110,52 +155,86 @@ public class Route extends MapNamedElement {
|
||||
private Type type;
|
||||
|
||||
// ------------------状态属性---------------------
|
||||
/** ats自动控制 */
|
||||
/**
|
||||
* ats自动控制
|
||||
*/
|
||||
private boolean atsControl;
|
||||
|
||||
/** 连续通过进路模式(联锁自动进路)开启 */
|
||||
/**
|
||||
* 连续通过进路模式(联锁自动进路)开启
|
||||
*/
|
||||
private boolean fleetMode;
|
||||
|
||||
/** 自动追踪/联锁自动触发模式开启 */
|
||||
/**
|
||||
* 自动追踪/联锁自动触发模式开启
|
||||
*/
|
||||
private boolean ciControl;
|
||||
|
||||
/** 进路是否可以排列 */
|
||||
/**
|
||||
* 进路是否可以排列
|
||||
*/
|
||||
private boolean settable;
|
||||
|
||||
/** 进路是否排列中 */
|
||||
/**
|
||||
* 进路是否排列中
|
||||
*/
|
||||
private boolean setting;
|
||||
|
||||
/** 进路开始排列时间 */
|
||||
/**
|
||||
* 进路开始排列时间
|
||||
*/
|
||||
private LocalDateTime settingStartTime;
|
||||
|
||||
/** 是否引导进路排列中 */
|
||||
/**
|
||||
* 是否引导进路排列中
|
||||
*/
|
||||
private boolean guideSetting;
|
||||
|
||||
/** 进路是否锁闭 */
|
||||
/**
|
||||
* 进路是否锁闭
|
||||
*/
|
||||
private boolean lock;
|
||||
|
||||
/** 进路延时解锁设备 */
|
||||
/**
|
||||
* 进路延时解锁设备
|
||||
*/
|
||||
private DelayUnlockDevice delayUnlockDevice;
|
||||
|
||||
/** 是否正常解锁中 */
|
||||
/**
|
||||
* 是否正常解锁中
|
||||
*/
|
||||
private boolean normalUnlock;
|
||||
|
||||
/** 正常解锁到的区段 */
|
||||
/**
|
||||
* 正常解锁到的区段
|
||||
*/
|
||||
private Section unlockedSection;
|
||||
|
||||
/** 进路将要或上一次为哪辆列车排列 */
|
||||
/**
|
||||
* 进路将要或上一次为哪辆列车排列
|
||||
*/
|
||||
@Deprecated
|
||||
private TrainInfo train;
|
||||
/** 检查冲突功能是否开启 */
|
||||
/**
|
||||
* 检查冲突功能是否开启
|
||||
*/
|
||||
private boolean checkConflict;
|
||||
/** 冲突告警 */
|
||||
/**
|
||||
* 冲突告警
|
||||
*/
|
||||
private AtsAlarm conflictAlarm;
|
||||
/** 按计划执行 */
|
||||
/**
|
||||
* 按计划执行
|
||||
*/
|
||||
public static final int Conflict_Handle_Way_1 = 1;
|
||||
/** 执行冲突进路 */
|
||||
/**
|
||||
* 执行冲突进路
|
||||
*/
|
||||
public static final int Conflict_Handle_Way_2 = 2;
|
||||
|
||||
/** 大铁进路排列车次信息 */
|
||||
/**
|
||||
* 大铁进路排列车次信息
|
||||
*/
|
||||
private String tripNumber;
|
||||
|
||||
@Override
|
||||
@ -176,6 +255,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 进路是否开放(进路是否锁闭,并开放指定信号灯)
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isOpenMain() {
|
||||
@ -184,6 +264,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 进路是否开放引导信号
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean isOpenGuide() {
|
||||
@ -198,10 +279,11 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 选择合适的进路延续保护区段
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public SectionPath selectOverlapElement() {
|
||||
if(Objects.nonNull(this.overlap)) {
|
||||
if (Objects.nonNull(this.overlap)) {
|
||||
return this.overlap.selectPath();
|
||||
}
|
||||
return null;
|
||||
@ -245,14 +327,16 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 获取进路内最后一个子进路区段
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Section getLastRouteSection() {
|
||||
return this.sectionList.get(this.sectionList.size()-1);
|
||||
return this.sectionList.get(this.sectionList.size() - 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 进路是否直向进路
|
||||
*
|
||||
* @return true-直向(进路中道岔定位),false-侧向(进路中道岔反位)
|
||||
*/
|
||||
public boolean isStraight() {
|
||||
@ -270,6 +354,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 是否进路区段
|
||||
*
|
||||
* @param section-计轴区段/道岔区段,非逻辑区段
|
||||
* @return
|
||||
*/
|
||||
@ -293,6 +378,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 是否进路道岔
|
||||
*
|
||||
* @param aSwitch
|
||||
* @return
|
||||
*/
|
||||
@ -318,7 +404,9 @@ public class Route extends MapNamedElement {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**折返轨占用*/
|
||||
/**
|
||||
* 折返轨占用
|
||||
*/
|
||||
public boolean isAnyTBSectionOccupied() {
|
||||
for (Section section : this.sectionList) {
|
||||
if (section.isOccupied() && section.isTurnBackTrack()) {
|
||||
@ -330,7 +418,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
public boolean isAnySectionOppositeTrainOccupied() {
|
||||
for (Section section : this.sectionList) {
|
||||
if (section.isOccupied() && !Objects.equals(start.isRight(),section.isTrainRight())) {
|
||||
if (section.isOccupied() && !Objects.equals(start.isRight(), section.isTrainRight())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -360,6 +448,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 是否包含方向不同的冲突道岔
|
||||
*
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
@ -428,6 +517,7 @@ public class Route extends MapNamedElement {
|
||||
|
||||
/**
|
||||
* 存在反位道岔
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean hasReverseSwitch() {
|
||||
@ -481,7 +571,7 @@ public class Route extends MapNamedElement {
|
||||
this.lock = lock;
|
||||
if (lock) {
|
||||
this.start.setLockedRoute(this);
|
||||
} else if(this == this.start.getLockedRoute()) {
|
||||
} else if (this == this.start.getLockedRoute()) {
|
||||
this.start.setLockedRoute(null);
|
||||
}
|
||||
}
|
||||
@ -577,6 +667,7 @@ public class Route extends MapNamedElement {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进路的所有子区段
|
||||
*/
|
||||
@ -591,8 +682,9 @@ public class Route extends MapNamedElement {
|
||||
}
|
||||
return sections;
|
||||
}
|
||||
|
||||
public boolean routeLastSection(Section section) {
|
||||
return Objects.equals(this.sectionList.get(sectionList.size()-1),section);
|
||||
return Objects.equals(this.sectionList.get(sectionList.size() - 1), section);
|
||||
}
|
||||
|
||||
public boolean isTransferRoute() {
|
||||
@ -604,11 +696,11 @@ public class Route extends MapNamedElement {
|
||||
}
|
||||
|
||||
public boolean isConflictConfirmed() {
|
||||
return this.conflictAlarm!=null && this.conflictAlarm.isConfirmed();
|
||||
return this.conflictAlarm != null && this.conflictAlarm.isConfirmed();
|
||||
}
|
||||
|
||||
public boolean isConflictHandleRunAsPlan() {
|
||||
return this.conflictAlarm!=null && Route.Conflict_Handle_Way_1 == this.conflictAlarm.getConfirmParam();
|
||||
return this.conflictAlarm != null && Route.Conflict_Handle_Way_1 == this.conflictAlarm.getConfirmParam();
|
||||
}
|
||||
|
||||
public RouteOverrun findOverrunBySwitch(Switch relSwitch) {
|
||||
@ -687,45 +779,81 @@ public class Route extends MapNamedElement {
|
||||
* 进路检查失败原因
|
||||
*/
|
||||
public enum CheckFailReason {
|
||||
/** 进路已经排列或正在排列 */
|
||||
/**
|
||||
* 进路已经排列或正在排列
|
||||
*/
|
||||
RouteSetting,
|
||||
/** 敌对进路已排列 */
|
||||
/**
|
||||
* 敌对进路已排列
|
||||
*/
|
||||
ConflictingRouteSetting,
|
||||
/** 始端信号机封锁 */
|
||||
/**
|
||||
* 始端信号机封锁
|
||||
*/
|
||||
StartSignalBlockade,
|
||||
/** 始端信号机侧防锁闭 */
|
||||
/**
|
||||
* 始端信号机侧防锁闭
|
||||
*/
|
||||
StartSignalFlankProtectLock,
|
||||
/** 道岔封锁 */
|
||||
/**
|
||||
* 道岔封锁
|
||||
*/
|
||||
SwitchBlockade,
|
||||
/**
|
||||
* 道岔引导总锁
|
||||
*/
|
||||
SwitchGuideMasterLock,
|
||||
/** 道岔锁闭的方向不对 */
|
||||
/**
|
||||
* 道岔锁闭的方向不对
|
||||
*/
|
||||
SwitchLockPositionError,
|
||||
/** 道岔被征用在相反位置 */
|
||||
/**
|
||||
* 道岔被征用在相反位置
|
||||
*/
|
||||
SwitchCiUseOnOppositePosition,
|
||||
/** 道岔占用位置不对 */
|
||||
/**
|
||||
* 道岔占用位置不对
|
||||
*/
|
||||
SwitchOccupiedPositionError,
|
||||
/** 道岔位置失表故障 */
|
||||
/**
|
||||
* 道岔位置失表故障
|
||||
*/
|
||||
SwitchFault,
|
||||
/** 区段封锁 */
|
||||
/**
|
||||
* 区段封锁
|
||||
*/
|
||||
SectionBlockade,
|
||||
/** 区段锁闭在相反方向 */
|
||||
/**
|
||||
* 区段锁闭在相反方向
|
||||
*/
|
||||
SectionLockOppositeDirection,
|
||||
/** 区段不空闲 */
|
||||
/**
|
||||
* 区段不空闲
|
||||
*/
|
||||
SectionNotFree,
|
||||
/** 区段故障占用 */
|
||||
/**
|
||||
* 区段故障占用
|
||||
*/
|
||||
SectionFaultOccupied,
|
||||
/** 站台紧急停车按钮按下 */
|
||||
/**
|
||||
* 站台紧急停车按钮按下
|
||||
*/
|
||||
ESPEffective,
|
||||
/** 延续保护道岔/区段占用 */
|
||||
/**
|
||||
* 延续保护道岔/区段占用
|
||||
*/
|
||||
OverlapOccupy,
|
||||
/** 延续保护道岔锁闭在错误的方向 */
|
||||
/**
|
||||
* 延续保护道岔锁闭在错误的方向
|
||||
*/
|
||||
OverlapLockWrongPosition,
|
||||
/** 处于自动进路/自动折返状态 */
|
||||
/**
|
||||
* 处于自动进路/自动折返状态
|
||||
*/
|
||||
FleetOrTurnBackMode,
|
||||
/** 区间运行方向限制 */
|
||||
/**
|
||||
* 区间运行方向限制
|
||||
*/
|
||||
DirectionRodLimit,
|
||||
}
|
||||
|
||||
@ -734,10 +862,14 @@ public class Route extends MapNamedElement {
|
||||
*/
|
||||
@Getter
|
||||
public static class CheckFailMessage {
|
||||
/** 失败原因 */
|
||||
/**
|
||||
* 失败原因
|
||||
*/
|
||||
private CheckFailReason reason;
|
||||
|
||||
/** 设备编号 */
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
private MapNamedElement device;
|
||||
|
||||
public CheckFailMessage(CheckFailReason reason, MapNamedElement device) {
|
||||
|
@ -2,6 +2,7 @@ package club.joylink.rtss.simulation.cbtc.data.map;
|
||||
|
||||
import club.joylink.rtss.constants.DirectionLabelEnum;
|
||||
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.constant.SimulationConstants;
|
||||
import club.joylink.rtss.simulation.cbtc.constant.TurnBackStrategyType;
|
||||
import club.joylink.rtss.simulation.cbtc.data.support.StationTurnBackStrategyOption;
|
||||
|
@ -1,6 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.storage.ctc.StorageSimulationCtcDataRepository;
|
||||
import club.joylink.rtss.util.jsonSerialize.Boolean2NumDeserializer;
|
||||
import club.joylink.rtss.util.jsonSerialize.Boolean2NumSerializer;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
|
@ -1,5 +1,6 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.build.RunPlanBuilder;
|
||||
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.plan;
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.ctc;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcEffectRepository;
|
||||
import lombok.AllArgsConstructor;
|
@ -1,8 +1,8 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.plan;
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.ctc;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.param.CtcRunPlanParam;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import lombok.*;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.plan;
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.ctc;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcEffectRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcZoneRepository;
|
@ -1,10 +1,7 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage;
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.ctc;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.storage.plan.StorageCtcEffectData;
|
||||
import club.joylink.rtss.simulation.cbtc.data.storage.plan.StorageCtcRunPlanLog;
|
||||
import club.joylink.rtss.simulation.cbtc.data.storage.plan.StorageCtcZoneData;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
@ -1,9 +1,9 @@
|
||||
package club.joylink.rtss.simulation.cbtc.data.storage.device;
|
||||
|
||||
import club.joylink.rtss.simulation.cbtc.CI.data.StationDirection;
|
||||
import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.MapElement;
|
||||
import club.joylink.rtss.simulation.cbtc.data.map.StationDirection;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
@ -441,12 +441,12 @@ public class ATPService {
|
||||
train.removeMessage(message);
|
||||
}
|
||||
|
||||
public void updateRunLevel(VirtualRealityTrain train,@NonNull RunLevel runLevel) {
|
||||
public void updateRunLevel(VirtualRealityTrain train, @NonNull RunLevel runLevel) {
|
||||
updateRunLevel(train, runLevel, train.getPreselectionMode());
|
||||
}
|
||||
|
||||
public void updateRunLevel(VirtualRealityTrain train, @NonNull RunLevel runLevel,
|
||||
PreselectionMode preselectionMode) {
|
||||
PreselectionMode preselectionMode) {
|
||||
if (!preselectionMode.isMatchTheRunLevel(runLevel)) {
|
||||
return;
|
||||
}
|
||||
@ -478,7 +478,7 @@ public class ATPService {
|
||||
train.setRunLevel(runLevel);
|
||||
}
|
||||
|
||||
private void updateDriveMode(VirtualRealityTrain train, DriveMode driveMode) {
|
||||
private void updateDriveMode(VirtualRealityTrain train, DriveMode driveMode) {
|
||||
updateDriveMode(train, driveMode, train.getPreselectionMode());
|
||||
}
|
||||
|
||||
|
@ -41,13 +41,13 @@ public class MapRouteNewVO {
|
||||
/**
|
||||
* 进路唯一编号
|
||||
*/
|
||||
@NotBlank(message="进路唯一编号不能为空")
|
||||
@NotBlank(message = "进路唯一编号不能为空")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@NotBlank(message="进路唯一编号不能为空")
|
||||
@NotBlank(message = "进路唯一编号不能为空")
|
||||
private String name;
|
||||
|
||||
private boolean multiRoute;
|
||||
@ -60,19 +60,19 @@ public class MapRouteNewVO {
|
||||
/**
|
||||
* 始端信号机 编号
|
||||
*/
|
||||
@NotBlank(message="始端信号机不能为空")
|
||||
@NotBlank(message = "始端信号机不能为空")
|
||||
private String startSignalCode;
|
||||
|
||||
/**
|
||||
* 终端信号机 编号
|
||||
*/
|
||||
@NotBlank(message="终端信号机不能为空")
|
||||
@NotBlank(message = "终端信号机不能为空")
|
||||
private String endSignalCode;
|
||||
|
||||
/**
|
||||
* 终端按钮信号机 编号
|
||||
*/
|
||||
@NotBlank(message="终端按钮信号机编号不能为空")
|
||||
@NotBlank(message = "终端按钮信号机编号不能为空")
|
||||
private String endButtonSignalCode;
|
||||
/**
|
||||
* 起始区段code
|
||||
@ -90,7 +90,7 @@ public class MapRouteNewVO {
|
||||
/**
|
||||
* 排列进路需按下的按钮(必须有序)
|
||||
*/
|
||||
@NotEmpty(message="进路唯一编号不能为空")
|
||||
@NotEmpty(message = "进路唯一编号不能为空")
|
||||
private List<String> btnCodeList;
|
||||
|
||||
/**
|
||||
@ -116,13 +116,19 @@ public class MapRouteNewVO {
|
||||
|
||||
private boolean turnBack;
|
||||
|
||||
/** 是否atp进路 */
|
||||
/**
|
||||
* 是否atp进路
|
||||
*/
|
||||
private boolean atp;
|
||||
|
||||
/** 是否联锁进路 */
|
||||
/**
|
||||
* 是否联锁进路
|
||||
*/
|
||||
private boolean ground;
|
||||
|
||||
/** 是否引导进路 */
|
||||
/**
|
||||
* 是否引导进路
|
||||
*/
|
||||
private boolean guide;
|
||||
|
||||
/**
|
||||
@ -155,7 +161,9 @@ public class MapRouteNewVO {
|
||||
*/
|
||||
private List<String> flsList;
|
||||
|
||||
/** ctc级别下需要办理延续保护 */
|
||||
/**
|
||||
* ctc级别下需要办理延续保护
|
||||
*/
|
||||
private boolean setOverlapInCtc = true;
|
||||
|
||||
/**
|
||||
@ -163,7 +171,9 @@ public class MapRouteNewVO {
|
||||
*/
|
||||
private String overlapCode;
|
||||
|
||||
/** 超限区段列表 */
|
||||
/**
|
||||
* 超限区段列表
|
||||
*/
|
||||
private List<String> overrunList;
|
||||
|
||||
// /** 站台屏蔽门 */
|
||||
@ -174,7 +184,9 @@ public class MapRouteNewVO {
|
||||
// @ApiModelProperty(value = "进路站台紧急停车按钮数据列表")
|
||||
// private List<String> espList;
|
||||
|
||||
/** 关联站台code列表 */
|
||||
/**
|
||||
* 关联站台code列表
|
||||
*/
|
||||
private List<String> stationStandList;
|
||||
/**
|
||||
* 扣车条件站台code列表
|
||||
@ -193,6 +205,11 @@ public class MapRouteNewVO {
|
||||
*/
|
||||
private List<String> conflictRouteList;
|
||||
|
||||
/**
|
||||
* 是否调车进路
|
||||
*/
|
||||
private boolean shutting;
|
||||
|
||||
public MapRouteNewVO() {
|
||||
this.routeSectionList = new ArrayList<>();
|
||||
this.routeSwitchList = new ArrayList<>();
|
||||
|
Loading…
Reference in New Issue
Block a user