package com.zy.core.move;
|
|
import lombok.Data;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Data
|
public class StationMoveSession {
|
|
public static final String STATUS_WAITING = "WAITING";
|
public static final String STATUS_RUNNING = "RUNNING";
|
public static final String STATUS_CANCEL_PENDING = "CANCEL_PENDING";
|
public static final String STATUS_CANCELLED = "CANCELLED";
|
public static final String STATUS_BLOCKED = "BLOCKED";
|
public static final String STATUS_TIMEOUT = "TIMEOUT";
|
public static final String STATUS_FINISHED = "FINISHED";
|
|
private Integer taskNo;
|
|
private Integer routeVersion;
|
|
private String threadImpl;
|
|
private Integer currentStationId;
|
|
private StationMoveTriggerType triggerType;
|
|
private StationMoveDispatchMode dispatchMode;
|
|
private String status;
|
|
private Integer dispatchStationId;
|
|
private Integer businessTargetStationId;
|
|
private Integer currentRouteTargetStationId;
|
|
private Integer nextDecisionStationId;
|
|
private List<Integer> fullPathStationIds = new ArrayList<>();
|
|
private String pathSignature;
|
|
private String cancelReason;
|
|
private Long createdAt;
|
|
private Long updatedAt;
|
|
private Long lastIssuedAt;
|
|
public boolean isActive() {
|
return STATUS_WAITING.equals(status)
|
|| STATUS_RUNNING.equals(status)
|
|| STATUS_CANCEL_PENDING.equals(status);
|
}
|
|
public boolean containsStation(Integer stationId) {
|
return stationId != null
|
&& fullPathStationIds != null
|
&& fullPathStationIds.contains(stationId);
|
}
|
}
|