public class LogicEntityRoute extends Object implements ILogicEntityRoute
Constructor and Description |
---|
LogicEntityRoute() |
public ILoadController getLoadController()
getLoadController
in interface ILogicEntityRoute
public void setLoadController(ILoadController loadContoller)
setLoadController
in interface ILogicEntityRoute
public IClusterController getRouteClusterController()
getRouteClusterController
in interface ILogicEntityRoute
public void setRouteClusterController(IClusterController routeClusterController)
setRouteClusterController
in interface ILogicEntityRoute
public boolean hasOverriddenRouteStart()
hasOverriddenRouteStart
in interface ILogicEntityRoute
public boolean hasOverriddenRouteTermination()
hasOverriddenRouteTermination
in interface ILogicEntityRoute
public void initRouteWorkingHours()
initRouteWorkingHours
in interface ILogicEntityRoute
public void initRouteWorkingHours(IDutyHours fakeHours)
initRouteWorkingHours
in interface ILogicEntityRoute
public boolean isClosedRoute()
ILogicEntityRoute
getCurrentWorkingHours()
is closed or not.isClosedRoute
in interface ILogicEntityRoute
false
. Returns true
if IWorkingHours.isClosedRoute()
has been set to true
by using IWorkingHours.setIsClosedRoute(boolean)
.public IDutyHours getRouteDutyHours()
ILogicEntityRoute
currentRouteDutyHours
of this LogicEntityRoute
.getRouteDutyHours
in interface ILogicEntityRoute
currentRouteDutyHours
public void setFirstGeoElementWithinRoute(IOptimizationElement firstGeoLocationElementWithinRoute)
setFirstGeoElementWithinRoute
in interface ILogicEntityRoute
public IOptimizationElement getFirstGeoElementWithinRoute()
getFirstGeoElementWithinRoute
in interface ILogicEntityRoute
public void setLastGeoElementWithinRoute(IOptimizationElement lastGeoLocationElementWithinRoute)
setLastGeoElementWithinRoute
in interface ILogicEntityRoute
public IOptimizationElement getLastGeoElementWithinRoute()
getLastGeoElementWithinRoute
in interface ILogicEntityRoute
public void setRouteStart(IOptimizationElement roueStart)
ILogicEntityRoute
IOptimizationElement
where the route will start.setRouteStart
in interface ILogicEntityRoute
roueStart
- the iOptimizationElement where the route has to startpublic IOptimizationElement getRouteStart()
ILogicEntityRoute
IOptimizationElement
where the Route
starts.getRouteStart
in interface ILogicEntityRoute
Route
public void setRouteTermination(IOptimizationElement roueTermination)
ILogicEntityRoute
IOptimizationElement
where the Route
will end.setRouteTermination
in interface ILogicEntityRoute
roueTermination
- the iOptimizationElementpublic IOptimizationElement getRouteTermination()
ILogicEntityRoute
IOptimizationElement
where the Route
will end.
If Route
termination has not been overwritten it will be at the location of the
IResource
or at an one night stay Node
. If Route termination
has been
overwritten it will be at the anchorNode
.
getRouteTermination
in interface ILogicEntityRoute
Element
where the Route
terminatespublic ListIterator<IOptimizationElement> getOptimizableElementIterator()
ILogicEntityRoute
ListIterator
for the optimizable Elements
.getOptimizableElementIterator
in interface ILogicEntityRoute
public ListIterator<IOptimizationElement> getNoneOptimizableElementIterator()
ILogicEntityRoute
ListIterator
for the NoneOptimizableElements
.getNoneOptimizableElementIterator
in interface ILogicEntityRoute
public void addOptionalOptimizableElement(IOptimizationElement optionalElement)
addOptionalOptimizableElement
in interface ILogicEntityRoute
public boolean addAllToOptionalOptimizableElements(List<IOptimizationElement> addList)
addAllToOptionalOptimizableElements
in interface ILogicEntityRoute
public void setRouteOptionalOptimizableElements(List<IOptimizationElement> elements)
setRouteOptionalOptimizableElements
in interface ILogicEntityRoute
public List<IOptimizationElement> getOptimizableElementsSubList(int fromIndex, int toIndex)
getOptimizableElementsSubList
in interface ILogicEntityRoute
public boolean removeAllFromOptimizableElements(List<IOptimizationElement> removeList)
removeAllFromOptimizableElements
in interface ILogicEntityRoute
public boolean removeAllFromOptimizableElementsInlcudingSubsequentNodes(List<IOptimizationElement> removeList)
removeAllFromOptimizableElementsInlcudingSubsequentNodes
in interface ILogicEntityRoute
public void clearOptimizableElements()
clearOptimizableElements
in interface ILogicEntityRoute
public void clearRoutePillars()
clearRoutePillars
in interface ILogicEntityRoute
public void clearNoneOptimizableElements()
clearNoneOptimizableElements
in interface ILogicEntityRoute
public void clearOptionalOptimizableElements()
clearOptionalOptimizableElements
in interface ILogicEntityRoute
public boolean addAllToOptimizableElements(List<IOptimizationElement> addList)
addAllToOptimizableElements
in interface ILogicEntityRoute
public boolean addAllToNoneOptimizableElements(List<IOptimizationElement> addList)
addAllToNoneOptimizableElements
in interface ILogicEntityRoute
public boolean addAllToOptimizableElements(int index, List<IOptimizationElement> addList)
addAllToOptimizableElements
in interface ILogicEntityRoute
public int getRouteOptimizableElementCount()
getRouteOptimizableElementCount
in interface ILogicEntityRoute
public void invokeEntityRestrictionResult(com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult curResult)
public void setCurrentVisitingResourceWorkingHoursIndex(int index)
setCurrentVisitingResourceWorkingHoursIndex
in interface ILogicEntityRoute
public void markAsToBeRemoved()
markAsToBeRemoved
in interface ILogicEntityRoute
public boolean isMarkedToBeRemoved()
isMarkedToBeRemoved
in interface ILogicEntityRoute
public int getCurrentVisitingResourceWorkingHoursIndex()
ILogicEntityRoute
getCurrentVisitingResourceWorkingHoursIndex
in interface ILogicEntityRoute
public void setRouteStartTime(long routeStartTime)
public Optional<Long> getRouteStartShiftMillisHook()
getRouteStartShiftMillisHook
in interface ILogicEntityRoute
public Optional<ReducedNodeEdgeConnectorItem> getConnectionHook(String toId)
getConnectionHook
in interface ILogicEntityRoute
public void setRouteStopTime(long routeStopTime)
public long getRouteStartTime()
ILogicEntityRoute
Route
start time in milliseconds since 01.01.1970.getRouteStartTime
in interface ILogicEntityRoute
Route
startpublic long getRouteStopTime()
getRouteStopTime
in interface ILogicEntityRoute
public void setEffectivePillarLatestArrivalMap(Map<String,Long> effectivePillarLatestArrivalMap)
setEffectivePillarLatestArrivalMap
in interface ILogicEntityRoute
public void setEffectivePillarLatestArrivalOffsetMap(Map<String,Long> effectivePillarLatestArrivalOffsetMap)
setEffectivePillarLatestArrivalOffsetMap
in interface ILogicEntityRoute
public Map<String,Long> getEffectivePillarLatestArrivalMap()
getEffectivePillarLatestArrivalMap
in interface ILogicEntityRoute
public Map<String,Long> getEffectivePillarLatestArrivalOffsetMap()
getEffectivePillarLatestArrivalOffsetMap
in interface ILogicEntityRoute
public long putEffectivePillarLatestArrivalOffset(IPillarNode p, Long valueMillis)
putEffectivePillarLatestArrivalOffset
in interface ILogicEntityRoute
public long getPillarEffectiveLatestArrivalMinusStartMillis(IPillarNode p)
getPillarEffectiveLatestArrivalMinusStartMillis
in interface ILogicEntityRoute
public long getPillarLatestEffectiveOffsetArrival(IPillarNode p)
getPillarLatestEffectiveOffsetArrival
in interface ILogicEntityRoute
public long getPillarLatestEffectiveArrivalOffsetCorrected(IPillarNode p)
getPillarLatestEffectiveArrivalOffsetCorrected
in interface ILogicEntityRoute
public long getPillarLatestEffectiveArrival(IPillarNode p)
getPillarLatestEffectiveArrival
in interface ILogicEntityRoute
public long getEffectiveRouteStartTime()
getEffectiveRouteStartTime
in interface ILogicEntityRoute
public long getEffectiveRouteStopTime()
getEffectiveRouteStopTime
in interface ILogicEntityRoute
public void setCurrentVisitingResource(IResource res, int workingHourIndex)
setCurrentVisitingResource
in interface ILogicEntityRoute
public IResource getCurrentVisitingResource()
ILogicEntityRoute
IResource
that is visiting this Route
.getCurrentVisitingResource
in interface ILogicEntityRoute
IResource
public ILogicRouteCostAndViolationController getRouteCostAndViolationController()
getRouteCostAndViolationController
in interface ILogicEntityRoute
public void setRouteCostAndViolationController(ILogicRouteCostAndViolationController controller)
setRouteCostAndViolationController
in interface ILogicEntityRoute
public ILogicRouteElementDetailController getRouteElementsDetailController()
getRouteElementsDetailController
in interface ILogicEntityRoute
public int getRouteId()
getRouteId
in interface ILogicEntityRoute
public void setRouteId(int routeId)
setRouteId
in interface ILogicEntityRoute
public IOptimizationElement getRouteOptimizableElement(int index)
ILogicEntityRoute
getRouteOptimizableElement
in interface ILogicEntityRoute
index
- the int indexpublic List<IOptimizationElement> getRouteOptimizableElements()
ILogicEntityRoute
getRouteOptimizableElements
in interface ILogicEntityRoute
Elements
public List<IOptimizationElement> getRouteOptimizableElementsIncludingSubsequentNodes()
getRouteOptimizableElementsIncludingSubsequentNodes
in interface ILogicEntityRoute
public List<IOptimizationElement> getRouteNoneOptimizableElements()
getRouteNoneOptimizableElements
in interface ILogicEntityRoute
public List<IOptimizationElement> getRouteOptionalOptimizableElements()
getRouteOptionalOptimizableElements
in interface ILogicEntityRoute
public void addOptimizableElement(IOptimizationElement element, int index)
addOptimizableElement
in interface ILogicEntityRoute
public void addOptimizableElement(IOptimizationElement element)
ILogicEntityRoute
addOptimizableElement
in interface ILogicEntityRoute
element
- iOptimizationElement to addpublic IOptimizationElement removeOptimizableElement(IOptimizationElement element)
removeOptimizableElement
in interface ILogicEntityRoute
public IOptimizationElement removeOptimizableElement(int index)
removeOptimizableElement
in interface ILogicEntityRoute
public void setRequestElementDetails(boolean requestDetails)
ILogicEntityRoute
result requested
resulting in the ILogicRouteElementDetailItem
being saved and being accessable afterwards. This will seen by
the cost assessor. After one request the ILogicEntityRoute
automatically is set back to
no request.setRequestElementDetails
in interface ILogicEntityRoute
requestDetails
- the boolean whether the ILogicRouteElementDetailItem
should be
savedpublic boolean isRequestElementDetails()
isRequestElementDetails
in interface ILogicEntityRoute
public void setIsUnassessed(boolean isUnassessed)
setIsUnassessed
in interface ILogicEntityRoute
public Optional<Long> getLastLockdownStopTime()
getLastLockdownStopTime
in interface ILogicEntityRoute
public void setLastLockdownStopTime(Optional<Long> lastLockdownStopTime)
setLastLockdownStopTime
in interface ILogicEntityRoute
public void setAdditionalRouteStartOffset(Optional<Long> offsetMillisOpt)
setAdditionalRouteStartOffset
in interface ILogicEntityRoute
public Optional<Long> getAdditionalRouteStartOffset()
getAdditionalRouteStartOffset
in interface ILogicEntityRoute
public boolean isUnassessed()
isUnassessed
in interface ILogicEntityRoute
public ILogicEntityRoute copy()
copy
in interface ILogicEntityRoute
public void setRouteOptimizableElements(List<IOptimizationElement> elements)
ILogicEntityRoute
IOptimizationElements
.This method should NOT used
directly only together with copy.setRouteOptimizableElements
in interface ILogicEntityRoute
elements
- the new route elementspublic void setRouteNoneOptimizableElements(List<IOptimizationElement> elements)
setRouteNoneOptimizableElements
in interface ILogicEntityRoute
public IJoinedRouteDetailController getJoinedDetailController()
getJoinedDetailController
in interface ILogicEntityRoute
public boolean isLastOptimizableElementInRoute(IOptimizationElement element)
isLastOptimizableElementInRoute
in interface ILogicEntityRoute
public boolean isFirstOptimizableElementInRoute(IOptimizationElement element)
isFirstOptimizableElementInRoute
in interface ILogicEntityRoute
public void addRoutePillar(IPillarNode pillar)
addRoutePillar
in interface ILogicEntityRoute
public void addRoutePillar(IPillarNode pillar, int index)
addRoutePillar
in interface ILogicEntityRoute
public IPillarNode removeRoutePillar(IPillarNode pillar)
removeRoutePillar
in interface ILogicEntityRoute
public IPillarNode removeRoutePillar(int index)
removeRoutePillar
in interface ILogicEntityRoute
public void removeRoutePillars(List<IPillarNode> pillars)
removeRoutePillars
in interface ILogicEntityRoute
public void addRoutePillars(List<IPillarNode> pillars)
addRoutePillars
in interface ILogicEntityRoute
public void setRoutePillars(List<IPillarNode> pillars)
setRoutePillars
in interface ILogicEntityRoute
public boolean hasRoutePillars()
hasRoutePillars
in interface ILogicEntityRoute
public List<IPillarNode> getRoutePillars()
getRoutePillars
in interface ILogicEntityRoute
public long getRouteTimeMillis()
getRouteTimeMillis
in interface ILogicEntityRoute
public double getTotalRouteDistanceMeter()
getTotalRouteDistanceMeter
in interface ILogicEntityRoute
public String toString()
toString
in interface ILogicEntityRoute
toString
in class Object
public boolean isFinalized()
isFinalized
in interface ILogicEntityRoute
public void setIsInactive(boolean isInactive)
setIsInactive
in interface ILogicEntityRoute
public boolean isInactive()
isInactive
in interface ILogicEntityRoute
public void setIsLockedDown(boolean isLockedDown)
setIsLockedDown
in interface ILogicEntityRoute
public boolean isLockedDown()
isLockedDown
in interface ILogicEntityRoute
public double getMaxWorkingHours()
getMaxWorkingHours
in interface ILogicEntityRoute
public double getMaxDistanceKilometer()
getMaxDistanceKilometer
in interface ILogicEntityRoute
public Optional<Boolean> isReductionTimeOnlyUsedForDriving()
isReductionTimeOnlyUsedForDriving
in interface ILogicEntityRoute
public Optional<Boolean> isReductionTimeOnlyUsedForDrivingPillar()
isReductionTimeOnlyUsedForDrivingPillar
in interface ILogicEntityRoute
public Optional<Boolean> isReductionTimeIncludedInWorkingTime()
isReductionTimeIncludedInWorkingTime
in interface ILogicEntityRoute
public Optional<Long> getMaxRouteStartReductionTimeMillis()
getMaxRouteStartReductionTimeMillis
in interface ILogicEntityRoute
public Map<Class<? extends IQualification>,IQualification> getQualifications()
getQualifications
in interface ILogicEntityRoute
public Optional<Long> getMaxRouteStartReductionTimeMillisPillar()
getMaxRouteStartReductionTimeMillisPillar
in interface ILogicEntityRoute
public Optional<Long> getFlexTimeMillis()
getFlexTimeMillis
in interface ILogicEntityRoute
public Optional<Long> getMaxFreePostWorkDrivingTerminationTimeMillis()
getMaxFreePostWorkDrivingTerminationTimeMillis
in interface ILogicEntityRoute
public Optional<Boolean> isOnlyApplyFreePostWorkDrivingOnOvertime()
isOnlyApplyFreePostWorkDrivingOnOvertime
in interface ILogicEntityRoute
public Optional<Long> getMaxPillarAfterHoursTime()
getMaxPillarAfterHoursTime
in interface ILogicEntityRoute
public boolean hasSameElementsStructureIgnorePillars(ILogicEntityRoute compareRoute, boolean doIgnorePillars)
hasSameElementsStructureIgnorePillars
in interface ILogicEntityRoute
public boolean hasSameElementsStructure(ILogicEntityRoute compareRoute)
hasSameElementsStructure
in interface ILogicEntityRoute
public void setIsScheduled(boolean isScheduled)
setIsScheduled
in interface ILogicEntityRoute
public boolean isScheduled()
isScheduled
in interface ILogicEntityRoute
public void addFlag(LogicEntityRouteFlag flag)
addFlag
in interface ILogicEntityRoute
public List<LogicEntityRouteFlag> getFlags()
getFlags
in interface ILogicEntityRoute
public List<IOptimizationElement> getAllElements()
getAllElements
in interface ILogicEntityRoute
public Set<IOptimizationElement> getAllNodes()
getAllNodes
in interface ILogicEntityRoute
public boolean hasNode(String nodeId, boolean ignoreStartEnd)
hasNode
in interface ILogicEntityRoute
public Optional<IResourceDepot> getResourceDepot()
getResourceDepot
in interface ILogicEntityRoute
public Optional<IOptimizationElement> getElement(String id, boolean ignoreStartEnd)
getElement
in interface ILogicEntityRoute
Copyright © 2017–2023 DNA Evolutions GmbH. All rights reserved.