【调整行车日志创建逻辑】
【修改没有删除BUG】
This commit is contained in:
parent
77cdd3fd29
commit
c693b8dfcc
@ -2,12 +2,12 @@ package club.joylink.rtss.simulation.cbtc.ATS.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.service.CTCService;
|
||||
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.vo.CtcRunPlanVO;
|
||||
import club.joylink.rtss.simulation.cbtc.CTC.data.vo.CtcStationRunPlanLogVO;
|
||||
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;
|
||||
@ -222,6 +222,7 @@ public class CtcStationRunPlanLogService {
|
||||
boolean change = false;
|
||||
if (runPlanLog != null) {
|
||||
runPlanLog.setBaseAttribute(ctcRunPlanVO.getRunPlan());
|
||||
runPlanLog.setDelete(ctcRunPlanVO.getStatus() == -1);
|
||||
// 到达
|
||||
if (ctcRunPlanVO.getRunPlan().arriveIsExist()) { // 不存在到达信息则直接浮空
|
||||
change = modifyRunPlanItemInfo(simulation, runPlanLog.getArriveRunPlan(), ctcRunPlanVO.getRunPlan(), true);
|
||||
@ -243,17 +244,17 @@ public class CtcStationRunPlanLogService {
|
||||
runPlanLogList.add(runPlanLog);
|
||||
}
|
||||
});
|
||||
// 编辑过轨道的行车记录
|
||||
runPlanLogList.stream()
|
||||
.filter(r -> r.getArriveRunPlan() != null || r.getDepartRunPlan() != null)
|
||||
.forEach(r -> {
|
||||
if (r.getArriveRunPlan() != null && r.getArriveRunPlan().getTrackSection() != null) {
|
||||
ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getArriveRunPlan(), false);
|
||||
}
|
||||
if (r.getDepartRunPlan() != null && r.getDepartRunPlan().getTrackSection() != null) {
|
||||
ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getDepartRunPlan(), true);
|
||||
}
|
||||
});
|
||||
// 编辑过轨道的行车记录 ,暂时注释
|
||||
// runPlanLogList.stream()
|
||||
// .filter(r -> r.getArriveRunPlan() != null || r.getDepartRunPlan() != null)
|
||||
// .forEach(r -> {
|
||||
// if (r.getArriveRunPlan() != null && r.getArriveRunPlan().getTrackSection() != null) {
|
||||
// ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getArriveRunPlan(), false);
|
||||
// }
|
||||
// if (r.getDepartRunPlan() != null && r.getDepartRunPlan().getTrackSection() != null) {
|
||||
// ctcService.runPlanItemUpdate(simulation, r.getStation(), r.getDepartRunPlan(), true);
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -349,10 +349,25 @@ public class CtcStationRunPlanLog {
|
||||
String stationCode = arrive ? paramInfo.getArriveStationCode() : paramInfo.getDepartStationCode();
|
||||
// 车次
|
||||
String tripNumber = arrive ? paramInfo.getArriveTripNumber() : paramInfo.getDepartTripNumber();
|
||||
// 运行方向
|
||||
String directionCode = arrive ? paramInfo.getArriveDirectionCode() : paramInfo.getDepartDirectionCode();
|
||||
RunPlanItem runPlanItem = null;
|
||||
if (!StringUtils.isEmpty(stationCode) && !StringUtils.isEmpty(tripNumber)) {
|
||||
if ((!StringUtils.isEmpty(stationCode) && !StringUtils.isEmpty(tripNumber)) || !StringUtils.isEmpty(directionCode)) {
|
||||
runPlanItem = new RunPlanItem(paramInfo);
|
||||
Station adjacentStation = simulation.getRepository().getByCode(stationCode, Station.class);
|
||||
Station adjacentStation = null;
|
||||
if (!StringUtils.isEmpty(directionCode)) {
|
||||
// 出入口
|
||||
StationDirection stationDirection = simulation.getRepository().getByCode(directionCode, StationDirection.class);
|
||||
// 接发状态
|
||||
runPlanItem.setStationDirection(stationDirection);
|
||||
runPlanItem.setAccessName(stationDirection.getName());
|
||||
runPlanItem.setRight(stationDirection.getRight());
|
||||
runPlanItem.setRunModel(stationDirection.getDefaultRunStatus());
|
||||
runPlanItem.initAccessName();
|
||||
adjacentStation = stationDirection.getRelativeStationDirection().getStation();
|
||||
}
|
||||
// 如果车站信息不为空则用指定车站信息
|
||||
adjacentStation = StringUtils.isEmpty(stationCode) ? adjacentStation : simulation.getRepository().getByCode(stationCode, Station.class);
|
||||
runPlanItem.setStation(adjacentStation);
|
||||
runPlanItem.setTripNumber(tripNumber);
|
||||
// 计划时间
|
||||
@ -376,17 +391,6 @@ public class CtcStationRunPlanLog {
|
||||
StationDirection.ReceiveAndDeliverModel runStatus = arrive ?
|
||||
StationDirection.ReceiveAndDeliverModel.R : StationDirection.ReceiveAndDeliverModel.D;
|
||||
runPlanItem.setRunModel(runStatus);
|
||||
// 运行方向
|
||||
String directionCode = arrive ? paramInfo.getArriveDirectionCode() : paramInfo.getDepartDirectionCode();
|
||||
if (!StringUtils.isEmpty(directionCode)) {
|
||||
StationDirection stationDirection = simulation.getRepository().getByCode(directionCode, StationDirection.class);
|
||||
// 接发状态
|
||||
runPlanItem.setStationDirection(stationDirection);
|
||||
runPlanItem.setAccessName(stationDirection.getName());
|
||||
runPlanItem.setRight(stationDirection.getRight());
|
||||
runPlanItem.setRunModel(stationDirection.getDefaultRunStatus());
|
||||
runPlanItem.initAccessName();
|
||||
}
|
||||
}
|
||||
return runPlanItem;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user