【增加股道实体类】

【移动部分实体类】
This commit is contained in:
weizhihong 2022-06-21 10:15:32 +08:00
parent 76d9a0efbd
commit 56aefb9db4
8 changed files with 245 additions and 57 deletions

View File

@ -134,7 +134,7 @@ public class CtcRunPlanParam implements Cloneable {
/** /**
* 列车运行计划作业 * 列车运行计划作业
*/ */
private Map<CtcStationRunPlanLog.RunPlanTask, Integer> runPlanTaskMap = new HashMap(); private Map<CtcStationRunPlanLog.RunPlanTask, Integer> runPlanTaskMap = new HashMap<>();
/** /**
* 删除时构造实体 * 删除时构造实体
@ -271,7 +271,7 @@ public class CtcRunPlanParam implements Cloneable {
public CtcRunPlanParam clone() { public CtcRunPlanParam clone() {
try { try {
CtcRunPlanParam clone = (CtcRunPlanParam) super.clone(); CtcRunPlanParam clone = (CtcRunPlanParam) super.clone();
Map<CtcStationRunPlanLog.RunPlanTask, Integer> map = new HashMap(this.runPlanTaskMap.size()); Map<CtcStationRunPlanLog.RunPlanTask, Integer> map = new HashMap<>(this.runPlanTaskMap.size());
map.putAll(this.runPlanTaskMap); map.putAll(this.runPlanTaskMap);
clone.setRunPlanTaskMap(map); clone.setRunPlanTaskMap(map);
return clone; return clone;

View File

@ -1,7 +1,6 @@
package club.joylink.rtss.simulation.cbtc.CTC; package club.joylink.rtss.simulation.cbtc.CTC;
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam; import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
import club.joylink.rtss.simulation.cbtc.CI.CiApiService;
import club.joylink.rtss.simulation.cbtc.CTC.data.*; import club.joylink.rtss.simulation.cbtc.CTC.data.*;
import club.joylink.rtss.simulation.cbtc.Simulation; import club.joylink.rtss.simulation.cbtc.Simulation;
import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository; import club.joylink.rtss.simulation.cbtc.data.SimulationDataRepository;
@ -11,7 +10,6 @@ import club.joylink.rtss.simulation.cbtc.data.vo.TrainInfo;
import club.joylink.rtss.simulation.cbtc.data.vr.VirtualRealityTrain; import club.joylink.rtss.simulation.cbtc.data.vr.VirtualRealityTrain;
import club.joylink.rtss.vo.client.SocketMessageVO; import club.joylink.rtss.vo.client.SocketMessageVO;
import club.joylink.rtss.vo.client.WebSocketMessageType; import club.joylink.rtss.vo.client.WebSocketMessageType;
import club.joylink.rtss.vo.client.ctc.CtcRunPlanVO;
import club.joylink.rtss.vo.client.factory.SocketMessageFactory; import club.joylink.rtss.vo.client.factory.SocketMessageFactory;
import club.joylink.rtss.websocket.StompMessageService; import club.joylink.rtss.websocket.StompMessageService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -243,18 +241,18 @@ public class CTCLogicLoop {
public void sendAllRunPlanChangeMessage(Simulation simulation, Set<String> userIds) { public void sendAllRunPlanChangeMessage(Simulation simulation, Set<String> userIds) {
// CTC运行日志发消息 // CTC运行日志发消息
synchronized (this) { synchronized (this) {
Map<String, CtcRunPlanVO> ctcRunPlanVOMap = simulation.getCtcRepository().getRunPlanStatusVOMap(); Map<String, CtcStationRunPlanLogVO> ctcRunPlanVOMap = simulation.getCtcRepository().getRunPlanStatusVOMap();
List<CtcRunPlanVO> messageList = null; List<CtcStationRunPlanLogVO> messageList = null;
if (CollectionUtils.isEmpty(ctcRunPlanVOMap)) { if (CollectionUtils.isEmpty(ctcRunPlanVOMap)) {
List<CtcStationRunPlanLog> allRunPlanList = simulation.getCtcRepository().getAllRunPlanList(); List<CtcStationRunPlanLog> allRunPlanList = simulation.getCtcRepository().getAllRunPlanList();
messageList = new ArrayList<>(allRunPlanList.size()); messageList = new ArrayList<>(allRunPlanList.size());
String mapKey = null; String mapKey = null;
CtcRunPlanVO ctcRunPlanVO = null; CtcStationRunPlanLogVO ctcStationRunPlanLogVO = null;
for (CtcStationRunPlanLog runPlan : allRunPlanList) { for (CtcStationRunPlanLog runPlan : allRunPlanList) {
mapKey = runPlan.getStation().getCode() + "_" + runPlan.getCode(); mapKey = runPlan.getStation().getCode() + "_" + runPlan.getCode();
ctcRunPlanVO = new CtcRunPlanVO(runPlan); ctcStationRunPlanLogVO = new CtcStationRunPlanLogVO(runPlan);
ctcRunPlanVOMap.put(mapKey, ctcRunPlanVO); ctcRunPlanVOMap.put(mapKey, ctcStationRunPlanLogVO);
messageList.add(ctcRunPlanVO); messageList.add(ctcStationRunPlanLogVO);
} }
} else { } else {
messageList = ctcRunPlanVOMap.values().stream().collect(Collectors.toList()); messageList = ctcRunPlanVOMap.values().stream().collect(Collectors.toList());
@ -269,19 +267,19 @@ public class CTCLogicLoop {
* @param simulation 仿真实体 * @param simulation 仿真实体
*/ */
private void sendRunPlanChangeMessage(Simulation simulation) { private void sendRunPlanChangeMessage(Simulation simulation) {
Map<String, CtcRunPlanVO> ctcRunPlanVOMap = simulation.getCtcRepository().getRunPlanStatusVOMap(); Map<String, CtcStationRunPlanLogVO> ctcRunPlanVOMap = simulation.getCtcRepository().getRunPlanStatusVOMap();
List<CtcStationRunPlanLog> allRunPlanList = simulation.getCtcRepository().getAllRunPlanList(); List<CtcStationRunPlanLog> allRunPlanList = simulation.getCtcRepository().getAllRunPlanList();
List<CtcRunPlanVO> messageList = new ArrayList<>(); List<CtcStationRunPlanLogVO> messageList = new ArrayList<>();
allRunPlanList.forEach(runPlan -> { allRunPlanList.forEach(runPlan -> {
String mapKey = runPlan.getStation().getCode() + "_" + runPlan.getCode(); String mapKey = runPlan.getStation().getCode() + "_" + runPlan.getCode();
CtcRunPlanVO runPlanVO = ctcRunPlanVOMap.get(mapKey); CtcStationRunPlanLogVO runPlanVO = ctcRunPlanVOMap.get(mapKey);
if (runPlanVO == null) { if (runPlanVO == null) {
ctcRunPlanVOMap.put(mapKey, new CtcRunPlanVO(runPlan)); ctcRunPlanVOMap.put(mapKey, new CtcStationRunPlanLogVO(runPlan));
messageList.add(ctcRunPlanVOMap.get(mapKey)); messageList.add(ctcRunPlanVOMap.get(mapKey));
} else { } else {
CtcRunPlanVO changeCtcRunPlanVo = runPlanVO.compareAndChange(runPlan); CtcStationRunPlanLogVO changeCtcStationRunPlanLogVo = runPlanVO.compareAndChange(runPlan);
if (changeCtcRunPlanVo != null) { if (changeCtcStationRunPlanLogVo != null) {
messageList.add(changeCtcRunPlanVo); messageList.add(changeCtcStationRunPlanLogVo);
} }
} }
}); });
@ -297,15 +295,15 @@ public class CTCLogicLoop {
* @param simulation 仿真实体 * @param simulation 仿真实体
*/ */
public void sendRunPlanRemoveMessage(Simulation simulation) { public void sendRunPlanRemoveMessage(Simulation simulation) {
Map<String, CtcRunPlanVO> ctcRunPlanVOMap = simulation.getCtcRepository().getRunPlanStatusVOMap(); Map<String, CtcStationRunPlanLogVO> ctcRunPlanVOMap = simulation.getCtcRepository().getRunPlanStatusVOMap();
List<CtcRunPlanVO> ctcRunPlanVOList = ctcRunPlanVOMap.values().stream() List<CtcStationRunPlanLogVO> ctcStationRunPlanLogVOList = ctcRunPlanVOMap.values().stream()
.filter(vo -> simulation.getCtcRepository().getRunPlanByRunPlanCode(vo.getStationCode(), vo.getCode()) == null) .filter(vo -> simulation.getCtcRepository().getRunPlanByRunPlanCode(vo.getStationCode(), vo.getCode()) == null)
.map(vo -> new CtcRunPlanVO(vo.getStationCode(), vo.getCode())) .map(vo -> new CtcStationRunPlanLogVO(vo.getStationCode(), vo.getCode()))
.collect(Collectors.toList()); .collect(Collectors.toList());
if (!CollectionUtils.isEmpty(ctcRunPlanVOList)) { if (!CollectionUtils.isEmpty(ctcStationRunPlanLogVOList)) {
// 移除已删除的数据 // 移除已删除的数据
ctcRunPlanVOList.forEach(vo -> ctcRunPlanVOMap.remove(vo.getStationCode() + "_" + vo.getCode())); ctcStationRunPlanLogVOList.forEach(vo -> ctcRunPlanVOMap.remove(vo.getStationCode() + "_" + vo.getCode()));
sendCtcMessage(simulation.getId(), ctcRunPlanVOList sendCtcMessage(simulation.getId(), ctcStationRunPlanLogVOList
, WebSocketMessageType.SIMULATION_CTC_RUN_PLAN_REMOVE, simulation.getSimulationUserIds()); , WebSocketMessageType.SIMULATION_CTC_RUN_PLAN_REMOVE, simulation.getSimulationUserIds());
} }
} }

View File

@ -2,7 +2,6 @@ package club.joylink.rtss.simulation.cbtc.CTC.data;
import club.joylink.rtss.exception.BusinessExceptionAssertEnum; import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam; import club.joylink.rtss.simulation.cbtc.ATS.operation.vo.CtcRunPlanParam;
import club.joylink.rtss.vo.client.ctc.CtcRunPlanVO;
import lombok.Getter; import lombok.Getter;
import java.util.HashMap; import java.util.HashMap;
@ -79,7 +78,7 @@ public class CtcRepository {
/** /**
* 运行日志消息状态 * 运行日志消息状态
*/ */
private final Map<String, CtcRunPlanVO> runPlanStatusVOMap = new HashMap<>(); private final Map<String, CtcStationRunPlanLogVO> runPlanStatusVOMap = new HashMap<>();
/** /**
* 车务管理端运行计划状态 * 车务管理端运行计划状态

View File

@ -133,7 +133,7 @@ public class CtcStationRunPlanLog {
this.transfinite = paramInfo.getTransfinite(); // 超限等级 this.transfinite = paramInfo.getTransfinite(); // 超限等级
if (CollectionUtils.isEmpty(paramInfo.getRunPlanTaskMap())) { // 运行计划任务 if (CollectionUtils.isEmpty(paramInfo.getRunPlanTaskMap())) { // 运行计划任务
this.runPlanTaskItemMap = paramInfo.getRunPlanTaskMap().keySet().stream() this.runPlanTaskItemMap = paramInfo.getRunPlanTaskMap().keySet().stream()
.collect(Collectors.toMap(t -> t, t -> new RunPlanTaskItem(t))); .collect(Collectors.toMap(t -> t, RunPlanTaskItem::new));
} else { } else {
this.runPlanTaskItemMap = new HashMap<>(0); this.runPlanTaskItemMap = new HashMap<>(0);
} }
@ -385,10 +385,10 @@ public class CtcStationRunPlanLog {
/** /**
* 初始化到发运行计划条目 * 初始化到发运行计划条目
* *
* @param simulation * @param simulation 仿真实体
* @param paramInfo * @param paramInfo 参数信息
* @param arrive * @param arrive 到发标识
* @return * @return 运行条目
*/ */
public static RunPlanItem createRunPlanItem(Simulation simulation, CtcRunPlanParam paramInfo, boolean arrive) { public static RunPlanItem createRunPlanItem(Simulation simulation, CtcRunPlanParam paramInfo, boolean arrive) {
// 车站\邻站 // 车站\邻站
@ -443,8 +443,6 @@ public class CtcStationRunPlanLog {
CARS_OPEN_TO_TRAFFIC_EMPTY, // 运用车空车 CARS_OPEN_TO_TRAFFIC_EMPTY, // 运用车空车
CARS_OPEN_TO_TRAFFIC_NO, // 非运用车 CARS_OPEN_TO_TRAFFIC_NO, // 非运用车
CABOOSE, // 守车 CABOOSE, // 守车
VAN, // 客货车
GOODS_VAN // 货车
} }
/** /**
@ -461,6 +459,7 @@ public class CtcStationRunPlanLog {
/** /**
* 运行作业类型 * 运行作业类型
*/ */
@Getter
public enum RunPlanTask { public enum RunPlanTask {
// 技术停点 // 技术停点
Technical_Stop_Point("技术停点"), Technical_Stop_Point("技术停点"),
@ -569,6 +568,7 @@ public class CtcStationRunPlanLog {
/** /**
* 计划属性类型 * 计划属性类型
*/ */
@Getter
public enum PlanPropertiesType { public enum PlanPropertiesType {
PASSENGER("客运"), // 客运 PASSENGER("客运"), // 客运
GOODS_TRAIN("货运"), // 货运 GOODS_TRAIN("货运"), // 货运

View File

@ -1,6 +1,5 @@
package club.joylink.rtss.vo.client.ctc; package club.joylink.rtss.simulation.cbtc.CTC.data;
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
@ -15,7 +14,7 @@ import java.util.Objects;
*/ */
@Getter @Getter
@Setter @Setter
public class CtcRunPlanVO { public class CtcStationRunPlanLogVO {
/** /**
* 编码 * 编码
*/ */
@ -106,12 +105,12 @@ public class CtcRunPlanVO {
*/ */
private Map<CtcStationRunPlanLog.RunPlanTask, CtcStationRunPlanLog.RunPlanTaskItem> runPlanTaskItemMap; private Map<CtcStationRunPlanLog.RunPlanTask, CtcStationRunPlanLog.RunPlanTaskItem> runPlanTaskItemMap;
public CtcRunPlanVO(String stationCode, String code) { public CtcStationRunPlanLogVO(String stationCode, String code) {
this.stationCode = stationCode; this.stationCode = stationCode;
this.code = code; this.code = code;
} }
public CtcRunPlanVO(CtcStationRunPlanLog ctcStationRunPlanLog) { public CtcStationRunPlanLogVO(CtcStationRunPlanLog ctcStationRunPlanLog) {
this.code = ctcStationRunPlanLog.getCode(); this.code = ctcStationRunPlanLog.getCode();
if (ctcStationRunPlanLog.getStation() != null) { if (ctcStationRunPlanLog.getStation() != null) {
this.stationCode = ctcStationRunPlanLog.getStation().getCode(); this.stationCode = ctcStationRunPlanLog.getStation().getCode();
@ -151,12 +150,12 @@ public class CtcRunPlanVO {
* @param runPlanLog * @param runPlanLog
* @return * @return
*/ */
public CtcRunPlanVO compareAndChange(CtcStationRunPlanLog runPlanLog) { public CtcStationRunPlanLogVO compareAndChange(CtcStationRunPlanLog runPlanLog) {
CtcRunPlanVO changeCtcRunPlanVO = new CtcRunPlanVO(runPlanLog.getStation().getCode(), runPlanLog.getCode()); CtcStationRunPlanLogVO changeCtcStationRunPlanLogVO = new CtcStationRunPlanLogVO(runPlanLog.getStation().getCode(), runPlanLog.getCode());
boolean change = false; boolean change = false;
if (!Objects.equals(this.delete, runPlanLog.getDelete())) { if (!Objects.equals(this.delete, runPlanLog.getDelete())) {
this.delete = runPlanLog.getDelete(); this.delete = runPlanLog.getDelete();
changeCtcRunPlanVO.setDelete(runPlanLog.getDelete()); changeCtcStationRunPlanLogVO.setDelete(runPlanLog.getDelete());
change = true; change = true;
} }
// 存在不一样的选项 // 存在不一样的选项
@ -175,66 +174,66 @@ public class CtcRunPlanVO {
} }
}); });
if (runPlanLog.getRunPlanTaskItemMap().size() != this.getRunPlanTaskItemMap().size() || !CollectionUtils.isEmpty(modifyMap)) { if (runPlanLog.getRunPlanTaskItemMap().size() != this.getRunPlanTaskItemMap().size() || !CollectionUtils.isEmpty(modifyMap)) {
changeCtcRunPlanVO.setRunPlanTaskItemMap(modifyMap); changeCtcStationRunPlanLogVO.setRunPlanTaskItemMap(modifyMap);
change = true; change = true;
} }
// 是否客运 // 是否客运
if (!Objects.equals(this.passenger, runPlanLog.getPassenger())) { if (!Objects.equals(this.passenger, runPlanLog.getPassenger())) {
this.passenger = runPlanLog.getPassenger(); this.passenger = runPlanLog.getPassenger();
changeCtcRunPlanVO.setPassenger(runPlanLog.getPassenger()); changeCtcStationRunPlanLogVO.setPassenger(runPlanLog.getPassenger());
change = true; change = true;
} }
// 重点列车 // 重点列车
if (!Objects.equals(this.keyTrains, runPlanLog.getKeyTrains())) { if (!Objects.equals(this.keyTrains, runPlanLog.getKeyTrains())) {
this.keyTrains = runPlanLog.getKeyTrains(); this.keyTrains = runPlanLog.getKeyTrains();
changeCtcRunPlanVO.setKeyTrains(runPlanLog.getKeyTrains()); changeCtcStationRunPlanLogVO.setKeyTrains(runPlanLog.getKeyTrains());
change = true; change = true;
} }
// 是否军用 // 是否军用
if (!Objects.equals(this.military, runPlanLog.getMilitary())) { if (!Objects.equals(this.military, runPlanLog.getMilitary())) {
this.military = runPlanLog.getMilitary(); this.military = runPlanLog.getMilitary();
changeCtcRunPlanVO.setMilitary(runPlanLog.getMilitary()); changeCtcStationRunPlanLogVO.setMilitary(runPlanLog.getMilitary());
change = true; change = true;
} }
// 运行股道与基本径路不一致 // 运行股道与基本径路不一致
if (!Objects.equals(this.trackDiscordant, runPlanLog.getTrackDiscordant())) { if (!Objects.equals(this.trackDiscordant, runPlanLog.getTrackDiscordant())) {
this.trackDiscordant = runPlanLog.getTrackDiscordant(); this.trackDiscordant = runPlanLog.getTrackDiscordant();
changeCtcRunPlanVO.setTrackSectionCode(runPlanLog.getTrackSectionCode()); changeCtcStationRunPlanLogVO.setTrackSectionCode(runPlanLog.getTrackSectionCode());
change = true; change = true;
} }
// 出入口与基本径路不一致 // 出入口与基本径路不一致
if (!Objects.equals(this.entryOutDiscordant, runPlanLog.getEntryOutDiscordant())) { if (!Objects.equals(this.entryOutDiscordant, runPlanLog.getEntryOutDiscordant())) {
this.entryOutDiscordant = runPlanLog.getEntryOutDiscordant(); this.entryOutDiscordant = runPlanLog.getEntryOutDiscordant();
changeCtcRunPlanVO.setEntryOutDiscordant(runPlanLog.getEntryOutDiscordant()); changeCtcStationRunPlanLogVO.setEntryOutDiscordant(runPlanLog.getEntryOutDiscordant());
change = true; change = true;
} }
// 超限等级 // 超限等级
if (!Objects.equals(this.transfinite, runPlanLog.getTransfinite())) { if (!Objects.equals(this.transfinite, runPlanLog.getTransfinite())) {
this.transfinite = runPlanLog.getTransfinite(); this.transfinite = runPlanLog.getTransfinite();
changeCtcRunPlanVO.setTransfinite(runPlanLog.getTransfinite()); changeCtcStationRunPlanLogVO.setTransfinite(runPlanLog.getTransfinite());
change = true; change = true;
} }
// 记事 // 记事
if (!Objects.equals(this.remark, runPlanLog.getRemark())) { if (!Objects.equals(this.remark, runPlanLog.getRemark())) {
this.remark = runPlanLog.getRemark(); this.remark = runPlanLog.getRemark();
changeCtcRunPlanVO.setRemark(runPlanLog.getRemark()); changeCtcStationRunPlanLogVO.setRemark(runPlanLog.getRemark());
change = true; change = true;
} }
// 晚点原因 // 晚点原因
if (!Objects.equals(this.getLateReason(), runPlanLog.getLateReason())) { if (!Objects.equals(this.getLateReason(), runPlanLog.getLateReason())) {
this.lateReason = runPlanLog.getLateReason(); this.lateReason = runPlanLog.getLateReason();
changeCtcRunPlanVO.setLateReason(runPlanLog.getLateReason()); changeCtcStationRunPlanLogVO.setLateReason(runPlanLog.getLateReason());
change = true; change = true;
} }
// 到站条目 // 到站条目
RunPlanItem changeArriveItem = modifyRunPlanItemInfo(runPlanLog.getArriveRunPlan(), this.arriveRunPlan); RunPlanItem changeArriveItem = modifyRunPlanItemInfo(runPlanLog.getArriveRunPlan(), this.arriveRunPlan);
changeCtcRunPlanVO.setArriveRunPlan(changeArriveItem); changeCtcStationRunPlanLogVO.setArriveRunPlan(changeArriveItem);
change = change || changeArriveItem != null; change = change || changeArriveItem != null;
// 发车条目 // 发车条目
RunPlanItem changeDepartItem = modifyRunPlanItemInfo(runPlanLog.getDepartRunPlan(), this.departRunPlan); RunPlanItem changeDepartItem = modifyRunPlanItemInfo(runPlanLog.getDepartRunPlan(), this.departRunPlan);
changeCtcRunPlanVO.setDepartRunPlan(changeDepartItem); changeCtcStationRunPlanLogVO.setDepartRunPlan(changeDepartItem);
change = change || changeDepartItem != null; change = change || changeDepartItem != null;
return change ? changeCtcRunPlanVO : null; return change ? changeCtcStationRunPlanLogVO : null;
} }
/** /**

View File

@ -0,0 +1,109 @@
package club.joylink.rtss.simulation.cbtc.CTC.data;
import club.joylink.rtss.simulation.cbtc.data.map.Section;
import lombok.Getter;
import lombok.Setter;
/**
* 股道与区段关联信息
*/
@Setter
@Getter
public class TrackSection {
/**
* 编码
*/
private String code;
/**
* 名称
*/
private String name;
/**
* 区段
*/
private Section section;
/**
* 性质
*/
private TrackNature trackNature;
/**
* 上下行
*/
private DirectionType direction;
/**
* 接发车类型
*/
private TrainType trainType;
/**
* 是否可以接发超限类型
*/
private boolean transfinite;
/**
* 站台
*/
private StandType standType;
/**
* 是否动车轨
*/
private boolean motorCar;
/**
* 是否有上水设备
*/
private boolean waterSupply;
/**
* 是否有吸污设备
*/
private boolean sewageAbsorption;
/**
* 是否军用
*/
private boolean military;
public TrackSection(Section section) {
this.code = section.getCode();
this.name = section.getName();
this.section = section;
}
/**
* 股道性质
*/
public enum TrackNature {
RIGHT_TRACK, // 正线
ARRIVE_DEPART_TRACK // 到发线
}
/**
* 方向类型
*/
public enum DirectionType {
// 上行下行双向
S, X, D
}
/**
* 列车类型
*/
public enum TrainType {
VAN, // 客货车
GOODS_VAN, // 货车
PASSENGER, // 客车
}
/**
* 站台类型
*/
public enum StandType {
NO, LOW, HIGH
}
}

View File

@ -0,0 +1,83 @@
package club.joylink.rtss.simulation.cbtc.CTC.data;
/**
* 股道与区段关联信息
*/
public class TrackSectionVO {
/**
* 编码
*/
private String code;
/**
* 名称
*/
private String name;
/**
* 区段
*/
private String sectionCode;
/**
* 性质
*/
private TrackSection.TrackNature trackNature;
/**
* 上下行
*/
private TrackSection.DirectionType direction;
/**
* 接发车类型
*/
private TrackSection.TrainType trainType;
/**
* 是否可以接发超限类型
*/
private Boolean transfinite;
/**
* 站台
*/
private TrackSection.StandType standType;
/**
* 是否动车轨
*/
private Boolean motorCar;
/**
* 是否有上水设备
*/
private Boolean waterSupply;
/**
* 是否有吸污设备
*/
private Boolean sewageAbsorption;
/**
* 是否军用
*/
private Boolean military;
public TrackSectionVO(TrackSection trackSection) {
this.code = trackSection.getCode();
this.name = trackSection.getName();
if (trackSection.getSection() != null) {
this.sectionCode = trackSection.getSection().getCode();
}
this.trackNature = trackSection.getTrackNature();
this.direction = trackSection.getDirection();
this.trainType = trackSection.getTrainType();
this.transfinite = trackSection.isTransfinite();
this.standType = trackSection.getStandType();
this.motorCar = trackSection.isMotorCar();
this.waterSupply = trackSection.isWaterSupply();
this.sewageAbsorption = trackSection.isSewageAbsorption();
this.military = trackSection.isMilitary();
}
}

View File

@ -2,6 +2,7 @@ package club.joylink.rtss.vo.client.factory;
import club.joylink.rtss.constants.BusinessConsts.WebSocketSubscribeTopic; import club.joylink.rtss.constants.BusinessConsts.WebSocketSubscribeTopic;
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog; import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLog;
import club.joylink.rtss.simulation.cbtc.CTC.data.CtcStationRunPlanLogVO;
import club.joylink.rtss.simulation.cbtc.Simulation; import club.joylink.rtss.simulation.cbtc.Simulation;
import club.joylink.rtss.simulation.cbtc.communication.vo.TrainPosition; import club.joylink.rtss.simulation.cbtc.communication.vo.TrainPosition;
import club.joylink.rtss.simulation.cbtc.conversation.Conversation; import club.joylink.rtss.simulation.cbtc.conversation.Conversation;
@ -15,7 +16,6 @@ import club.joylink.rtss.util.JsonUtils;
import club.joylink.rtss.vo.LoginUserInfoVO; import club.joylink.rtss.vo.LoginUserInfoVO;
import club.joylink.rtss.vo.client.SocketMessageVO; import club.joylink.rtss.vo.client.SocketMessageVO;
import club.joylink.rtss.vo.client.WebSocketMessageType; import club.joylink.rtss.vo.client.WebSocketMessageType;
import club.joylink.rtss.vo.client.ctc.CtcRunPlanVO;
import club.joylink.rtss.vo.client.passenger.PassengerFlowMessage2TD; import club.joylink.rtss.vo.client.passenger.PassengerFlowMessage2TD;
import club.joylink.rtss.vo.client.psl.PslStatus; import club.joylink.rtss.vo.client.psl.PslStatus;
import club.joylink.rtss.vo.client.runplan.RunPlanEChartsDataVO; import club.joylink.rtss.vo.client.runplan.RunPlanEChartsDataVO;
@ -406,11 +406,11 @@ public class SocketMessageFactory {
/** /**
* CTC 列车运行计划变化消息 * CTC 列车运行计划变化消息
*/ */
public static SocketMessageVO<List<CtcRunPlanVO>> buildCtcRunPlanCommonMessage(String simulationId public static SocketMessageVO<List<CtcStationRunPlanLogVO>> buildCtcRunPlanCommonMessage(String simulationId
, List<CtcStationRunPlanLog> ctcStationRunPlanLogList, WebSocketMessageType type) { , List<CtcStationRunPlanLog> ctcStationRunPlanLogList, WebSocketMessageType type) {
List<CtcRunPlanVO> ctcRunPlanVOList = ctcStationRunPlanLogList.stream() List<CtcStationRunPlanLogVO> ctcStationRunPlanLogVOList = ctcStationRunPlanLogList.stream()
.map(ctcStationRunPlanLog -> new CtcRunPlanVO(ctcStationRunPlanLog)).collect(Collectors.toList()); .map(ctcStationRunPlanLog -> new CtcStationRunPlanLogVO(ctcStationRunPlanLog)).collect(Collectors.toList());
return build(type, simulationId, ctcRunPlanVOList); return build(type, simulationId, ctcStationRunPlanLogVOList);
} }
/** /**