运行图校验修改 宁波三导入备车变更车次回库外加一个服务车次

This commit is contained in:
DU 2021-04-09 10:23:00 +08:00
parent 6aee4ce7e9
commit bf109450e5
3 changed files with 42 additions and 6 deletions

View File

@ -799,7 +799,7 @@ public class RunPlanDraftService implements IRunPlanDraftService {
if(Objects.isNull(trips.get(trips.size() - 1).getIsInbound()) || !trips.get(trips.size() - 1).getIsInbound()){ if(Objects.isNull(trips.get(trips.size() - 1).getIsInbound()) || !trips.get(trips.size() - 1).getIsInbound()){
errorList.add(String.format("服务号[%s]最后一班车次[%s]不是回库", s, trips.get(trips.size() - 1).getTripNumber())); errorList.add(String.format("服务号[%s]最后一班车次[%s]不是回库", s, trips.get(trips.size() - 1).getTripNumber()));
} }
LocalTime overTime = trips.get(trips.size() - 1).getEndTime(); LocalTime overTime = trips.get(trips.size() - 1).getEndTime().plusHours(OFFSET_TIME_HOURS);
//服务最后一班车次时间 <2:00 //服务最后一班车次时间 <2:00
if (overTime.isAfter(LocalTime.of(2, 0)) && overTime.isBefore(LocalTime.of(4, 0))) { if (overTime.isAfter(LocalTime.of(2, 0)) && overTime.isBefore(LocalTime.of(4, 0))) {
errorList.add(String.format("服务号[%s]最后一班车次结束时间[%s]太晚应不晚于次日02:00", s, overTime)); errorList.add(String.format("服务号[%s]最后一班车次结束时间[%s]太晚应不晚于次日02:00", s, overTime));
@ -888,6 +888,10 @@ public class RunPlanDraftService implements IRunPlanDraftService {
continue; continue;
} }
Float distance = stationSpacingMap.get(tripTime.getSectionCode() + "-" + nextTripTime.getSectionCode()); Float distance = stationSpacingMap.get(tripTime.getSectionCode() + "-" + nextTripTime.getSectionCode());
MapSectionNewVO startSection = map.findSection(tripTime.getSectionCode());
if (startSection.isReentryTrack() && !startSection.isStandTrack()){
continue;
}
if (Objects.isNull(distance)) { if (Objects.isNull(distance)) {
errorList.add(String.format("服务号[%s]车次号[%s]从车站[%s]至车站[%s]缺少站间距离数据", s, trip.getTripNumber(), map.findStation(tripTime.getStationCode()).getName(), map.findStation(nextTripTime.getStationCode()).getName())); errorList.add(String.format("服务号[%s]车次号[%s]从车站[%s]至车站[%s]缺少站间距离数据", s, trip.getTripNumber(), map.findStation(tripTime.getStationCode()).getName(), map.findStation(nextTripTime.getStationCode()).getName()));
continue; continue;
@ -983,8 +987,8 @@ public class RunPlanDraftService implements IRunPlanDraftService {
cur.getServiceNumber(), cur.getTripNumber(), map.findStation(cur.getStationCode()).getName())); cur.getServiceNumber(), cur.getTripNumber(), map.findStation(cur.getStationCode()).getName()));
return; return;
} }
if (ChronoUnit.SECONDS.between(pre.getDepartureTime(), cur.getArrivalTime()) < 60) { if (ChronoUnit.SECONDS.between(pre.getDepartureTime(), cur.getArrivalTime()) < 45) {
errorList.add(String.format("相邻车次[%s-%s] 与 车次[%s-%s]行车至车站[%s]时运行间隔太小不安全,应不小于1分钟", errorList.add(String.format("相邻车次[%s-%s] 与 车次[%s-%s]行车至车站[%s]时运行间隔太小不安全,应不小于45秒",
pre.getServiceNumber(), pre.getTripNumber(), pre.getServiceNumber(), pre.getTripNumber(),
cur.getServiceNumber(), cur.getTripNumber(),map.findStation(cur.getStationCode()).getName())); cur.getServiceNumber(), cur.getTripNumber(),map.findStation(cur.getStationCode()).getName()));
return; return;

View File

@ -10,6 +10,8 @@ import club.joylink.rtss.vo.client.runplan.RunPlanTripVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -30,11 +32,30 @@ public class NingBoLine3RunPlanNew implements IRunPlanStrategyNew {
public void importDataCheckAndPreHandle(List<RunPlanImport> runPlanImportList, List<MapStationNewVO> stationList, String upDirection) { public void importDataCheckAndPreHandle(List<RunPlanImport> runPlanImportList, List<MapStationNewVO> stationList, String upDirection) {
Map<String, MapStationNewVO> stationMap = stationList.stream().collect( Map<String, MapStationNewVO> stationMap = stationList.stream().collect(
Collectors.toMap(MapStationNewVO::getRunPlanName, Function.identity())); Collectors.toMap(MapStationNewVO::getRunPlanName, Function.identity()));
//增加36203回库到奉化2200
RunPlanImport newTrip = new RunPlanImport();
newTrip.setCode("36401");
List<RunPlanArrivalTime> newArrivalList = new ArrayList<>();
newTrip.setArrivalList(newArrivalList);
RunPlanArrivalTime tripTime = new RunPlanArrivalTime();
tripTime.setStationName("金海路");
tripTime.setArriveTime(LocalTime.of(5,5,43));
tripTime.setDepartureTime(LocalTime.of(21,59,30));
RunPlanArrivalTime tripTime2 = new RunPlanArrivalTime();
tripTime2.setStationName("奉化停车场");
tripTime2.setArriveTime(LocalTime.of(22,0));
tripTime2.setDepartureTime(LocalTime.of(22,0));
newArrivalList.add(tripTime);
newArrivalList.add(tripTime2);
runPlanImportList.add(newTrip);
runPlanImportList.forEach(runPlanImport -> { runPlanImportList.forEach(runPlanImport -> {
this.analyzeAndConvertCode(runPlanImport, upDirection); this.analyzeAndConvertCode(runPlanImport, upDirection);
List<RunPlanArrivalTime> arrivalList = runPlanImport.getArrivalList(); List<RunPlanArrivalTime> arrivalList = runPlanImport.getArrivalList();
if(runPlanImport.getCode().equals("36301")){
arrivalList.remove(0);
}
handleStationAndTime(stationMap, arrivalList); handleStationAndTime(stationMap, arrivalList);
if(Arrays.asList("36102", "36203","36301").contains(runPlanImport.getCode())){ if(Arrays.asList("36102", "36203","36401","36301").contains(runPlanImport.getCode())){
runPlanImport.setBackup(true); runPlanImport.setBackup(true);
} }
}); });
@ -120,6 +141,9 @@ public class NingBoLine3RunPlanNew implements IRunPlanStrategyNew {
case "体育馆": case "体育馆":
tripVO.setStartSectionCode("T442");//T4107 tripVO.setStartSectionCode("T442");//T4107
break; break;
case "樱花公园":
tripVO.setStartSectionCode("T442");//T4107
break;
} }
//Y316双休日 //Y316双休日
@ -183,6 +207,9 @@ public class NingBoLine3RunPlanNew implements IRunPlanStrategyNew {
// case "体育馆": // case "体育馆":
// tripVO.setStartSectionCode("T442");//T4107 // tripVO.setStartSectionCode("T442");//T4107
// break; // break;
// case "樱花公园":
// tripVO.setStartSectionCode("T442");//T4107
// break;
// } // }
} }
@ -207,15 +234,19 @@ public class NingBoLine3RunPlanNew implements IRunPlanStrategyNew {
//通用 //通用
if("奉化停车场".equals(stationVO.getRunPlanName())){ if("奉化停车场".equals(stationVO.getRunPlanName())){
if(runPlanImport.isBackup() && runPlanImport.getCode().equals("36203")){ if(runPlanImport.isBackup() && (runPlanImport.getCode().equals("36203") ||runPlanImport.getCode().equals("36401"))){
timeVO.setSectionCode("T60"); //T2101 timeVO.setSectionCode("T60"); //T2101
}else{ }else{
timeVO.setSectionCode("T62"); //T2102 timeVO.setSectionCode("T62"); //T2102
} }
return; return;
} }
if("金海路".equals(stationVO.getRunPlanName()) && runPlanImport.getCode().equals("36401")){
timeVO.setSectionCode("T4"); //T2101
return;
}
// // Y316工作日 // Y316工作日
// if("高塘桥".equals(stationVO.getRunPlanName())){ // if("高塘桥".equals(stationVO.getRunPlanName())){
// if(Arrays.asList("36203","30603","30803").contains(runPlanImport.getCode())){ // if(Arrays.asList("36203","30603","30803").contains(runPlanImport.getCode())){
// timeVO.setSectionCode("T273");//T3015 // timeVO.setSectionCode("T273");//T3015

View File

@ -2,6 +2,7 @@ package club.joylink.rtss.vo.client.runplan;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;