package com.zy.core.utils.station.model; import com.zy.core.service.StationTaskLoopService; public final class OutOrderDispatchDecision { private final Integer targetStationId; private final boolean circle; private final StationTaskLoopService.LoopEvaluation loopEvaluation; private final boolean countLoopIssue; private OutOrderDispatchDecision(Integer targetStationId, boolean circle, StationTaskLoopService.LoopEvaluation loopEvaluation, boolean countLoopIssue) { this.targetStationId = targetStationId; this.circle = circle; this.loopEvaluation = loopEvaluation; this.countLoopIssue = countLoopIssue; } public static OutOrderDispatchDecision direct(Integer targetStationId) { return new OutOrderDispatchDecision(targetStationId, false, null, false); } public static OutOrderDispatchDecision circle(Integer targetStationId, StationTaskLoopService.LoopEvaluation loopEvaluation, boolean countLoopIssue) { return new OutOrderDispatchDecision(targetStationId, true, loopEvaluation, countLoopIssue); } public Integer getTargetStationId() { return targetStationId; } public boolean isCircle() { return circle; } public StationTaskLoopService.LoopEvaluation getLoopEvaluation() { return loopEvaluation; } public boolean shouldCountLoopIssue() { return countLoopIssue; } }