【删除多余代码】
【增加车务管理端清空操作】
This commit is contained in:
parent
cfd8454328
commit
b15ec376fe
@ -915,16 +915,6 @@ public class Operation {
|
||||
*/
|
||||
CTC_BATCH_MODIFY_RUN_PLAN,
|
||||
|
||||
/**
|
||||
* 修改股道
|
||||
*/
|
||||
CTC_MODIFY_TRACK_SECTION,
|
||||
|
||||
/**
|
||||
* 修改实际到达时间
|
||||
*/
|
||||
CTC_MODIFY_ACTUAL_TIME,
|
||||
|
||||
/**
|
||||
* 修改车次
|
||||
*/
|
||||
@ -950,6 +940,11 @@ public class Operation {
|
||||
*/
|
||||
CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA,
|
||||
|
||||
/**
|
||||
* 清空编辑区中的运行计划
|
||||
*/
|
||||
CTC_CLEAR_RUN_PLAN_FROM_EDIT_AREA,
|
||||
|
||||
/**
|
||||
* 导入覆盖运行计划到编辑区
|
||||
*/
|
||||
|
@ -9,7 +9,6 @@ import club.joylink.rtss.simulation.cbtc.Simulation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.time.LocalTime;
|
||||
import java.util.List;
|
||||
|
||||
@OperateHandler
|
||||
@ -31,37 +30,6 @@ public class CtcStationRunPlanOperateHandler {
|
||||
ctcStationRunPlanLogService.modifyBatchRunPlan(simulation, stationCode, planParamList, force);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改行车计划股道信息
|
||||
*
|
||||
* @param simulation 仿真实体
|
||||
* @param stationCode 车站编码
|
||||
* @param runPlanCode 运行编码
|
||||
* @param arriveSectionCode 到达股道编码
|
||||
* @param departSectionCode 出发股道编码
|
||||
* @param force 是否强制 0:不强制。1:强制
|
||||
*/
|
||||
@OperateHandlerMapping(type = Operation.Type.CTC_MODIFY_TRACK_SECTION)
|
||||
public void modifyRunPlanTrackSection(Simulation simulation, String stationCode, String runPlanCode
|
||||
, String arriveSectionCode, String departSectionCode, int force) {
|
||||
ctcStationRunPlanLogService.modifyRunPlanTrackSection(simulation, stationCode, runPlanCode, arriveSectionCode, departSectionCode, force);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人工上报行车日志的到点时间
|
||||
*
|
||||
* @param simulation 仿真实体
|
||||
* @param stationCode 车站编码
|
||||
* @param runPlanCode 运行编码
|
||||
* @param arriveTime 到点时间
|
||||
* @param departTime 发车时间
|
||||
*/
|
||||
@OperateHandlerMapping(type = Operation.Type.CTC_MODIFY_ACTUAL_TIME)
|
||||
public void artificialReportRunPlanActualTime(Simulation simulation, String stationCode, String runPlanCode
|
||||
, LocalTime arriveTime, LocalTime departTime) {
|
||||
ctcStationRunPlanLogService.artificialReportRunPlanActualTime(simulation, stationCode, runPlanCode, arriveTime, departTime);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改车次号
|
||||
*
|
||||
@ -146,7 +114,18 @@ public class CtcStationRunPlanOperateHandler {
|
||||
* @param tripNumberList 车次
|
||||
*/
|
||||
@OperateHandlerMapping(type = Operation.Type.CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA)
|
||||
public void removeRunPlanFromEditArea(Simulation simulation, String stationCode, List<String> tripNumberList) {
|
||||
ctcStationRunPlanLogService.removeRunPlanFromEditArea(simulation, stationCode, tripNumberList);
|
||||
public void removeRunPlanFromEditArea(Simulation simulation, String stationCode, String tripNumber) {
|
||||
ctcStationRunPlanLogService.removeRunPlanFromEditArea(simulation, stationCode, tripNumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空车站编辑区内容
|
||||
*
|
||||
* @param simulation 仿真实体
|
||||
* @param stationCode 车站编码
|
||||
*/
|
||||
@OperateHandlerMapping(type = Operation.Type.CTC_CLEAR_RUN_PLAN_FROM_EDIT_AREA)
|
||||
public void clearRunPlanFromEditArea(Simulation simulation, String stationCode) {
|
||||
ctcStationRunPlanLogService.clearRunPlanFromEditArea(simulation, stationCode);
|
||||
}
|
||||
}
|
||||
|
@ -93,6 +93,21 @@ public class CtcRunPlanParam {
|
||||
*/
|
||||
private List<CtcStationRunPlanLog.RunPlanTask> runPlanTaskList = new ArrayList<>();
|
||||
|
||||
/**
|
||||
* 删除时构造实体
|
||||
*
|
||||
* @param stationCode 车站
|
||||
* @param tripNumber 车次
|
||||
* @return 实体
|
||||
*/
|
||||
public static CtcRunPlanParam buildRemoveParam(String stationCode, String tripNumber) {
|
||||
CtcRunPlanParam p = new CtcRunPlanParam();
|
||||
p.stationCode = stationCode;
|
||||
p.tripNumber = tripNumber;
|
||||
p.runPlanTaskList = null;
|
||||
return p;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CtcRunPlanParam{" +
|
||||
|
@ -147,14 +147,30 @@ public class CtcStationRunPlanLogService {
|
||||
*
|
||||
* @param simulation 仿真实体
|
||||
* @param stationCode 车站编码
|
||||
* @param tripNumberList 车次
|
||||
* @param tripNumber 车次
|
||||
*/
|
||||
public void removeRunPlanFromEditArea(Simulation simulation, String stationCode, List<String> tripNumberList) {
|
||||
public void removeRunPlanFromEditArea(Simulation simulation, String stationCode, String tripNumber) {
|
||||
Map<String, CtcRunPlanParam> stationRunLogTripNumberMap = simulation.getCtcRepository()
|
||||
.getSimulationRunPlanEditAreaMap().getOrDefault(stationCode, new ConcurrentHashMap<>());
|
||||
tripNumberList.forEach(tripNumber -> stationRunLogTripNumberMap.remove(tripNumber));
|
||||
stationRunLogTripNumberMap.remove(tripNumber);
|
||||
// 发送消息
|
||||
ctcLogicLoop.sendCtcManageRemoveMessage(simulation, tripNumberList, simulation.getSimulationUserIds());
|
||||
ctcLogicLoop.sendCtcManageRemoveMessage(simulation, Arrays.asList(CtcRunPlanParam.buildRemoveParam(stationCode, tripNumber)), simulation.getSimulationUserIds());
|
||||
}
|
||||
|
||||
/**
|
||||
* 全部清空
|
||||
*
|
||||
* @param simulation 仿真修改
|
||||
* @param stationCode 车站编码
|
||||
*/
|
||||
public void clearRunPlanFromEditArea(Simulation simulation, String stationCode) {
|
||||
Map<String, CtcRunPlanParam> stationRunLogTripNumberMap = simulation.getCtcRepository()
|
||||
.getSimulationRunPlanEditAreaMap().getOrDefault(stationCode, new ConcurrentHashMap<>());
|
||||
List<CtcRunPlanParam> removeParamList = stationRunLogTripNumberMap.values().stream()
|
||||
.map(c -> CtcRunPlanParam.buildRemoveParam(c.getStationCode(), c.getTripNumber()))
|
||||
.collect(Collectors.toList());
|
||||
// 发送消息
|
||||
ctcLogicLoop.sendCtcManageRemoveMessage(simulation, removeParamList, simulation.getSimulationUserIds());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -191,100 +207,6 @@ public class CtcStationRunPlanLogService {
|
||||
ctcLogicLoop.coverRunPlanMessage(simulation, runPlanLogList, simulation.getSimulationUserIds());
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改运行股道
|
||||
*
|
||||
* @param simulation 仿真实体
|
||||
* @param stationCode 车站编码
|
||||
* @param runPlanCode 运行编码
|
||||
* @param arriveSectionCode 到达区段
|
||||
* @param departSectionCode 出发区段
|
||||
* @param force 是否强制 0:不强制。1:强制
|
||||
*/
|
||||
public void modifyRunPlanTrackSection(Simulation simulation, String stationCode, String runPlanCode
|
||||
, String arriveSectionCode, String departSectionCode, int force) {
|
||||
CtcStationRunPlanLog ctcStationRunPlanLog =
|
||||
simulation.getCtcRepository().getRunPlanByRunPlanCode(stationCode, runPlanCode);
|
||||
// 如果不强制则需要判断区段进路占用
|
||||
if (force == 0) {
|
||||
if (!StringUtils.isEmpty(arriveSectionCode)) {
|
||||
RouteSequence.Line arriveLine = simulation.getCtcRepository()
|
||||
.getRouteSequenceLine(stationCode, ctcStationRunPlanLog.getTripNumber(), false);
|
||||
if ((arriveLine != null && arriveLine.getRoute().isLock())) {
|
||||
throw new SimulationException(SimulationExceptionType.Operation_Cannot_handed, "到达进路状态不允许修改到达股道");
|
||||
}
|
||||
}
|
||||
if (!StringUtils.isEmpty(departSectionCode)) {
|
||||
RouteSequence.Line departLine = simulation.getCtcRepository()
|
||||
.getRouteSequenceLine(stationCode, ctcStationRunPlanLog.getTripNumber(), true);
|
||||
if ((departLine != null && departLine.getRoute().isLock())) {
|
||||
throw new SimulationException(SimulationExceptionType.Operation_Cannot_handed, "出发进路状态不允许修改到达股道");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ctcStationRunPlanLog != null) {
|
||||
CtcStationRunPlanLog changeRunPlanLog = new CtcStationRunPlanLog();
|
||||
changeRunPlanLog.setCode(runPlanCode);
|
||||
if (!StringUtils.isEmpty(arriveSectionCode)) {
|
||||
Section arriveSection = simulation.getRepository().getByCode(arriveSectionCode, Section.class);
|
||||
if (ctcStationRunPlanLog.getArriveRunPlan() != null
|
||||
&& arriveSection.equals(ctcStationRunPlanLog.getArriveRunPlan().getTrackSection())) {
|
||||
ctcStationRunPlanLog.getArriveRunPlan().setTrackSection(arriveSection);
|
||||
changeRunPlanLog.setArriveRunPlan(new CtcStationRunPlanLog.RunPlanItem());
|
||||
changeRunPlanLog.getArriveRunPlan().setTrackSection(arriveSection);
|
||||
}
|
||||
}
|
||||
if (!StringUtils.isEmpty(departSectionCode)) {
|
||||
Section departSection = simulation.getRepository().getByCode(departSectionCode, Section.class);
|
||||
if (ctcStationRunPlanLog.getDepartRunPlan() != null
|
||||
&& departSection.equals(ctcStationRunPlanLog.getDepartRunPlan().getTrackSection())) {
|
||||
ctcStationRunPlanLog.getDepartRunPlan().setTrackSection(departSection);
|
||||
changeRunPlanLog.setDepartRunPlan(new CtcStationRunPlanLog.RunPlanItem());
|
||||
changeRunPlanLog.getDepartRunPlan().setTrackSection(departSection);
|
||||
}
|
||||
}
|
||||
if (changeRunPlanLog.getArriveRunPlan() != null || changeRunPlanLog.getDepartRunPlan() != null) {
|
||||
ctcLogicLoop.sendRunPlanChangeMessage(simulation, Arrays.asList(changeRunPlanLog), simulation.getSimulationUserIds());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 人工上报行车日志的到点时间
|
||||
*
|
||||
* @param simulation 仿真实体
|
||||
* @param stationCode 车站编码
|
||||
* @param runPlanCode 运行编码
|
||||
* @param arriveTime 到点时间
|
||||
* @param departTime 发车时间
|
||||
*/
|
||||
public void artificialReportRunPlanActualTime(Simulation simulation, String stationCode, String runPlanCode
|
||||
, LocalTime arriveTime, LocalTime departTime) {
|
||||
CtcStationRunPlanLog ctcStationRunPlanLog =
|
||||
simulation.getCtcRepository().getRunPlanByRunPlanCode(stationCode, runPlanCode);
|
||||
CtcStationRunPlanLog changeRunPlanLog = new CtcStationRunPlanLog();
|
||||
changeRunPlanLog.setCode(runPlanCode);
|
||||
if (ctcStationRunPlanLog.getArriveRunPlan() != null) {
|
||||
String arriveTimeStr = arriveTime != null ? "" : arriveTime.toString();
|
||||
if (!Objects.equals(arriveTimeStr, changeRunPlanLog.getArriveRunPlan().getActualTime())) {
|
||||
changeRunPlanLog.setArriveRunPlan(new CtcStationRunPlanLog.RunPlanItem());
|
||||
changeRunPlanLog.getArriveRunPlan().setActualTime(arriveTimeStr);
|
||||
ctcStationRunPlanLog.getArriveRunPlan().setActualTime(arriveTimeStr);
|
||||
}
|
||||
}
|
||||
if (ctcStationRunPlanLog.getDepartRunPlan() != null) {
|
||||
String departTimeStr = departTime != null ? "" : departTime.toString();
|
||||
if (!Objects.equals(departTimeStr, changeRunPlanLog.getArriveRunPlan().getActualTime())) {
|
||||
changeRunPlanLog.setDepartRunPlan(new CtcStationRunPlanLog.RunPlanItem());
|
||||
changeRunPlanLog.getDepartRunPlan().setActualTime(departTimeStr);
|
||||
ctcStationRunPlanLog.getDepartRunPlan().setActualTime(departTimeStr);
|
||||
}
|
||||
}
|
||||
if (changeRunPlanLog.getArriveRunPlan() != null || changeRunPlanLog.getDepartRunPlan() != null) {
|
||||
ctcLogicLoop.sendRunPlanChangeMessage(simulation, Arrays.asList(changeRunPlanLog), simulation.getSimulationUserIds());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改本站到发车次 (这里存在问题,这里会不会引起后续车次的到发变化)
|
||||
*
|
||||
|
@ -183,7 +183,7 @@ public class CTCLogicLoop {
|
||||
* @param messageInfo 消息
|
||||
* @param userIds 用户ID
|
||||
*/
|
||||
public void sendCtcManageRemoveMessage(Simulation simulation, List<String> messageInfo, Set<String> userIds) {
|
||||
public void sendCtcManageRemoveMessage(Simulation simulation, List<CtcRunPlanParam> messageInfo, Set<String> userIds) {
|
||||
if (messageInfo != null && !messageInfo.isEmpty()) {
|
||||
sendCtcMessage(simulation.getId(), messageInfo, WebSocketMessageType.SIMULATION_CTC_MANAGER_RUN_PLAN_EDIT_REMOVE, userIds);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user