【移动运行方向至CI联锁文件夹】【移动行车日志至CTC文件夹】【增加进路是否调车进路属性】

This commit is contained in:
weizhihong 2022-07-27 18:42:41 +08:00
parent 06e8e2d5ac
commit 80301e670d
45 changed files with 393 additions and 181 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);
// }
}
}

View File

@ -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

View File

@ -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;

View File

@ -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;
/**
* 接车灯状态
*/

View File

@ -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;

View File

@ -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;
/**
* 封锁(封锁后包含区段的进路不能排列)
*/

View File

@ -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())

View File

@ -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) {

View File

@ -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,

View File

@ -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
*/

View File

@ -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;

View File

@ -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;
/**
* 按钮操作后续操作

View File

@ -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;
/**
* 检验按钮是否可以操作

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);
}
}
/**
* 覆盖编辑区行车计划
*

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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());

View File

@ -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) {

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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.*;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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());
}

View File

@ -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<>();