Package com.dna.jopt.member.bucket.route
Class LogicEntityRoute
java.lang.Object
com.dna.jopt.member.bucket.route.LogicEntityRoute
- All Implemented Interfaces:
ILogicEntityRoute,Serializable,Cloneable
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanaddAllToOptimizableElements(int index, List<? extends IOptimizationElement> addList) booleanaddAllToOptimizableElements(List<? extends IOptimizationElement> addList) booleanvoidaddFlag(LogicEntityRouteFlag flag) voidvoidaddOptimizableElement(IOptimizationElement element, int index) voidaddOptionalOptimizableElement(IOptimizationElement optionalElement) voidaddRoutePillar(IPillarNode pillar) voidaddRoutePillar(IPillarNode pillar, int index) voidaddRoutePillars(List<IPillarNode> pillars) static StringcalculateUniqueDutyHoursIdent(int dutyHoursIndex) static StringcalculateUniqueResourceIdent(String resourceId) static StringcalculateUniqueRouteResourceIdent(String resourceId, int dutyHoursIndex) voidvoidvoidvoidcopy()getConnectionHook(String toId) Gets theIResourcethat is visiting thisRoute.intlonglonggetElement(String id, boolean ignoreStartEnd) getFlags()doubledoubleGets theListIteratorfor theNoneOptimizableElements.Gets theListIteratorfor theoptimizable Elements.getOptimizableElementsSubList(int fromIndex, int toIndex) longlonglonglongMap<Class<? extends IQualification>,IQualification> Returns thecurrentRouteDutyHoursof thisLogicEntityRoute.intgetRouteOptimizableElement(int index) intGets theIOptimizationElementwhere theRoutestarts.longGets theRoutestart time in milliseconds since 01.01.1970.longGets theIOptimizationElementwhere theRoutewill end.longdoubleGets the unique route resource ident.booleanbooleanbooleanbooleanbooleanhasSameElementsStructure(ILogicEntityRoute compareRoute) booleanhasSameElementsStructureIgnorePillars(ILogicEntityRoute compareRoute, boolean doIgnorePillars) voidvoidinitRouteWorkingHours(IDutyHours fakeHours) voidinvokeEntityRestrictionResult(com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult curResult) booleanReturns whethergetCurrentWorkingHours()is closed or not.booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanvoidstatic doublemetersToKilometers(double meters) static doublemetersToKilometers(double meters, int precision) static doublemillisToMinutes(long millis) static doublemillisToMinutes(long millis, int precision) intnumNodes()longputEffectivePillarLatestArrivalOffset(IPillarNode p, Long valueMillis) booleanremoveAllFromOptimizableElements(List<? extends IOptimizationElement> removeList) booleanremoveOptimizableElement(int index) removeRoutePillar(int index) removeRoutePillar(IPillarNode pillar) voidremoveRoutePillars(List<IPillarNode> pillars) voidsetAdditionalRouteStartOffset(Optional<Long> offsetMillisOpt) voidsetCurrentVisitingResource(IResource res, int workingHourIndex) voidsetCurrentVisitingResourceWorkingHoursIndex(int index) voidsetEffectivePillarLatestArrivalMap(Map<String, Long> effectivePillarLatestArrivalMap) voidsetEffectivePillarLatestArrivalOffsetMap(Map<String, Long> effectivePillarLatestArrivalOffsetMap) voidsetFirstGeoElementWithinRoute(IOptimizationElement firstGeoLocationElementWithinRoute) voidsetIsInactive(boolean isInactive) voidsetIsLockedDown(boolean isLockedDown) voidsetIsScheduled(boolean isScheduled) voidsetIsUnassessed(boolean isUnassessed) voidsetLastGeoElementWithinRoute(IOptimizationElement lastGeoLocationElementWithinRoute) voidsetLastLockdownStopTime(Optional<Long> lastLockdownStopTime) voidsetLoadController(ILoadController loadContoller) voidsetRequestElementDetails(boolean requestDetails) Setsresult requestedresulting in theILogicRouteElementDetailItembeing saved and being accessable afterwards.voidsetRouteClusterController(IClusterController routeClusterController) voidvoidsetRouteId(int routeId) voidvoidsetRouteOptimizableElements(List<IOptimizationElement> elements) Sets theIOptimizationElements.This method should NOT used directly only together with copy.voidvoidsetRoutePillars(List<IPillarNode> pillars) voidsetRouteStart(IOptimizationElement roueStart) SetsIOptimizationElementwhere the route will start.voidsetRouteStartTime(long routeStartTime) voidsetRouteStopTime(long routeStopTime) voidsetRouteTermination(IOptimizationElement roueTermination) Sets theIOptimizationElementwhere theRoutewill end.toString()
-
Constructor Details
-
LogicEntityRoute
public LogicEntityRoute()
-
-
Method Details
-
getLoadController
- Specified by:
getLoadControllerin interfaceILogicEntityRoute
-
setLoadController
- Specified by:
setLoadControllerin interfaceILogicEntityRoute
-
getRouteClusterController
- Specified by:
getRouteClusterControllerin interfaceILogicEntityRoute
-
setRouteClusterController
- Specified by:
setRouteClusterControllerin interfaceILogicEntityRoute
-
hasOverriddenRouteStart
public boolean hasOverriddenRouteStart()- Specified by:
hasOverriddenRouteStartin interfaceILogicEntityRoute
-
hasOverriddenRouteTermination
public boolean hasOverriddenRouteTermination()- Specified by:
hasOverriddenRouteTerminationin interfaceILogicEntityRoute
-
getUniqueRouteResourceIdent
Description copied from interface:ILogicEntityRouteGets the unique route resource ident. This is as unique as the RouteId. However, when only a detail-item of a node is present, the UniqueRouteResourceIdent can be calculated from it what allows identification without knowing the whole solution.- Specified by:
getUniqueRouteResourceIdentin interfaceILogicEntityRoute- Returns:
- the unique route resource ident.
-
calculateUniqueResourceIdent
-
calculateUniqueDutyHoursIdent
-
calculateUniqueRouteResourceIdent
-
initRouteWorkingHours
public void initRouteWorkingHours()- Specified by:
initRouteWorkingHoursin interfaceILogicEntityRoute
-
initRouteWorkingHours
- Specified by:
initRouteWorkingHoursin interfaceILogicEntityRoute
-
isClosedRoute
public boolean isClosedRoute()Description copied from interface:ILogicEntityRouteReturns whethergetCurrentWorkingHours()is closed or not.- Specified by:
isClosedRoutein interfaceILogicEntityRoute- Returns:
- boolean, default value
false. ReturnstrueifIWorkingHours.isClosedRoute()has been set totrueby usingIWorkingHours.setIsClosedRoute(boolean).
-
getRouteDutyHours
Description copied from interface:ILogicEntityRouteReturns thecurrentRouteDutyHoursof thisLogicEntityRoute.- Specified by:
getRouteDutyHoursin interfaceILogicEntityRoute- Returns:
- the
currentRouteDutyHours
-
setFirstGeoElementWithinRoute
- Specified by:
setFirstGeoElementWithinRoutein interfaceILogicEntityRoute
-
getFirstGeoElementWithinRoute
- Specified by:
getFirstGeoElementWithinRoutein interfaceILogicEntityRoute
-
setLastGeoElementWithinRoute
- Specified by:
setLastGeoElementWithinRoutein interfaceILogicEntityRoute
-
getLastGeoElementWithinRoute
- Specified by:
getLastGeoElementWithinRoutein interfaceILogicEntityRoute
-
setRouteStart
Description copied from interface:ILogicEntityRouteSetsIOptimizationElementwhere the route will start.- Specified by:
setRouteStartin interfaceILogicEntityRoute- Parameters:
roueStart- the iOptimizationElement where the route has to start
-
getRouteStart
Description copied from interface:ILogicEntityRouteGets theIOptimizationElementwhere theRoutestarts.- Specified by:
getRouteStartin interfaceILogicEntityRoute- Returns:
- the start of the
Route
-
setRouteTermination
Description copied from interface:ILogicEntityRouteSets theIOptimizationElementwhere theRoutewill end.- Specified by:
setRouteTerminationin interfaceILogicEntityRoute- Parameters:
roueTermination- the iOptimizationElement
-
getRouteTermination
Description copied from interface:ILogicEntityRouteGets theIOptimizationElementwhere theRoutewill end.If
Routetermination has not been overwritten it will be at the location of theIResourceor at anone night stay Node. IfRoute terminationhas been overwritten it will be at theanchorNode.- Specified by:
getRouteTerminationin interfaceILogicEntityRoute- Returns:
- the
Elementwhere theRouteterminates
-
getOptimizableElementIterator
Description copied from interface:ILogicEntityRouteGets theListIteratorfor theoptimizable Elements.- Specified by:
getOptimizableElementIteratorin interfaceILogicEntityRoute- Returns:
- the iterator
-
getNoneOptimizableElementIterator
Description copied from interface:ILogicEntityRouteGets theListIteratorfor theNoneOptimizableElements.- Specified by:
getNoneOptimizableElementIteratorin interfaceILogicEntityRoute- Returns:
- the iterator
-
addOptionalOptimizableElement
- Specified by:
addOptionalOptimizableElementin interfaceILogicEntityRoute
-
addAllToOptionalOptimizableElements
- Specified by:
addAllToOptionalOptimizableElementsin interfaceILogicEntityRoute
-
setRouteOptionalOptimizableElements
- Specified by:
setRouteOptionalOptimizableElementsin interfaceILogicEntityRoute
-
getOptimizableElementsSubList
- Specified by:
getOptimizableElementsSubListin interfaceILogicEntityRoute
-
removeAllFromOptimizableElements
- Specified by:
removeAllFromOptimizableElementsin interfaceILogicEntityRoute
-
removeAllFromOptimizableElementsInlcudingSubsequentNodes
public boolean removeAllFromOptimizableElementsInlcudingSubsequentNodes(List<IOptimizationElement> removeList) - Specified by:
removeAllFromOptimizableElementsInlcudingSubsequentNodesin interfaceILogicEntityRoute
-
clearOptimizableElements
public void clearOptimizableElements()- Specified by:
clearOptimizableElementsin interfaceILogicEntityRoute
-
clearRoutePillars
public void clearRoutePillars()- Specified by:
clearRoutePillarsin interfaceILogicEntityRoute
-
clearNoneOptimizableElements
public void clearNoneOptimizableElements()- Specified by:
clearNoneOptimizableElementsin interfaceILogicEntityRoute
-
clearOptionalOptimizableElements
public void clearOptionalOptimizableElements()- Specified by:
clearOptionalOptimizableElementsin interfaceILogicEntityRoute
-
addAllToOptimizableElements
- Specified by:
addAllToOptimizableElementsin interfaceILogicEntityRoute
-
addAllToNoneOptimizableElements
- Specified by:
addAllToNoneOptimizableElementsin interfaceILogicEntityRoute
-
addAllToOptimizableElements
- Specified by:
addAllToOptimizableElementsin interfaceILogicEntityRoute
-
getRouteOptimizableElementCount
public int getRouteOptimizableElementCount()- Specified by:
getRouteOptimizableElementCountin interfaceILogicEntityRoute
-
invokeEntityRestrictionResult
public void invokeEntityRestrictionResult(com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult curResult) -
setCurrentVisitingResourceWorkingHoursIndex
public void setCurrentVisitingResourceWorkingHoursIndex(int index) - Specified by:
setCurrentVisitingResourceWorkingHoursIndexin interfaceILogicEntityRoute
-
markAsToBeRemoved
public void markAsToBeRemoved()- Specified by:
markAsToBeRemovedin interfaceILogicEntityRoute
-
isMarkedToBeRemoved
public boolean isMarkedToBeRemoved()- Specified by:
isMarkedToBeRemovedin interfaceILogicEntityRoute
-
getCurrentVisitingResourceWorkingHoursIndex
public int getCurrentVisitingResourceWorkingHoursIndex()Description copied from interface:ILogicEntityRoute- Specified by:
getCurrentVisitingResourceWorkingHoursIndexin interfaceILogicEntityRoute- Returns:
- the index
-
setRouteStartTime
public void setRouteStartTime(long routeStartTime) -
getRouteStartShiftMillisHook
- Specified by:
getRouteStartShiftMillisHookin interfaceILogicEntityRoute
-
getConnectionHook
- Specified by:
getConnectionHookin interfaceILogicEntityRoute
-
setRouteStopTime
public void setRouteStopTime(long routeStopTime) -
getRouteStartTime
public long getRouteStartTime()Description copied from interface:ILogicEntityRouteGets theRoutestart time in milliseconds since 01.01.1970.- Specified by:
getRouteStartTimein interfaceILogicEntityRoute- Returns:
- the milliseconds since
Routestart
-
getRouteStopTime
public long getRouteStopTime()- Specified by:
getRouteStopTimein interfaceILogicEntityRoute
-
setEffectivePillarLatestArrivalMap
- Specified by:
setEffectivePillarLatestArrivalMapin interfaceILogicEntityRoute
-
setEffectivePillarLatestArrivalOffsetMap
public void setEffectivePillarLatestArrivalOffsetMap(Map<String, Long> effectivePillarLatestArrivalOffsetMap) - Specified by:
setEffectivePillarLatestArrivalOffsetMapin interfaceILogicEntityRoute
-
getEffectivePillarLatestArrivalMap
- Specified by:
getEffectivePillarLatestArrivalMapin interfaceILogicEntityRoute
-
getEffectivePillarLatestArrivalOffsetMap
- Specified by:
getEffectivePillarLatestArrivalOffsetMapin interfaceILogicEntityRoute
-
putEffectivePillarLatestArrivalOffset
- Specified by:
putEffectivePillarLatestArrivalOffsetin interfaceILogicEntityRoute
-
getPillarEffectiveLatestArrivalMinusStartMillis
- Specified by:
getPillarEffectiveLatestArrivalMinusStartMillisin interfaceILogicEntityRoute
-
getPillarLatestEffectiveOffsetArrival
- Specified by:
getPillarLatestEffectiveOffsetArrivalin interfaceILogicEntityRoute
-
getPillarLatestEffectiveArrivalOffsetCorrected
- Specified by:
getPillarLatestEffectiveArrivalOffsetCorrectedin interfaceILogicEntityRoute
-
getPillarLatestEffectiveArrival
- Specified by:
getPillarLatestEffectiveArrivalin interfaceILogicEntityRoute
-
getEffectiveRouteStartTime
public long getEffectiveRouteStartTime()- Specified by:
getEffectiveRouteStartTimein interfaceILogicEntityRoute
-
getEffectiveRouteStopTime
public long getEffectiveRouteStopTime()- Specified by:
getEffectiveRouteStopTimein interfaceILogicEntityRoute
-
setCurrentVisitingResource
- Specified by:
setCurrentVisitingResourcein interfaceILogicEntityRoute
-
getCurrentVisitingResource
Description copied from interface:ILogicEntityRouteGets theIResourcethat is visiting thisRoute.- Specified by:
getCurrentVisitingResourcein interfaceILogicEntityRoute- Returns:
- the object
IResource
-
getRouteCostAndViolationController
- Specified by:
getRouteCostAndViolationControllerin interfaceILogicEntityRoute
-
setRouteCostAndViolationController
- Specified by:
setRouteCostAndViolationControllerin interfaceILogicEntityRoute
-
getRouteElementsDetailController
- Specified by:
getRouteElementsDetailControllerin interfaceILogicEntityRoute
-
getRouteId
public int getRouteId()- Specified by:
getRouteIdin interfaceILogicEntityRoute
-
setRouteId
public void setRouteId(int routeId) - Specified by:
setRouteIdin interfaceILogicEntityRoute
-
getRouteOptimizableElement
Description copied from interface:ILogicEntityRoute- Specified by:
getRouteOptimizableElementin interfaceILogicEntityRoute- Parameters:
index- the int index- Returns:
- the Element
-
getRouteOptimizableElements
Description copied from interface:ILogicEntityRoute- Specified by:
getRouteOptimizableElementsin interfaceILogicEntityRoute- Returns:
- the list of
Elements
-
getRouteOptimizableElementsIncludingSubsequentNodes
- Specified by:
getRouteOptimizableElementsIncludingSubsequentNodesin interfaceILogicEntityRoute
-
getRouteNoneOptimizableElements
- Specified by:
getRouteNoneOptimizableElementsin interfaceILogicEntityRoute
-
getRouteOptionalOptimizableElements
- Specified by:
getRouteOptionalOptimizableElementsin interfaceILogicEntityRoute
-
addOptimizableElement
- Specified by:
addOptimizableElementin interfaceILogicEntityRoute
-
addOptimizableElement
Description copied from interface:ILogicEntityRoute- Specified by:
addOptimizableElementin interfaceILogicEntityRoute- Parameters:
element- iOptimizationElement to add
-
removeOptimizableElement
- Specified by:
removeOptimizableElementin interfaceILogicEntityRoute
-
removeOptimizableElement
- Specified by:
removeOptimizableElementin interfaceILogicEntityRoute
-
setRequestElementDetails
public void setRequestElementDetails(boolean requestDetails) Description copied from interface:ILogicEntityRouteSetsresult requestedresulting in theILogicRouteElementDetailItembeing saved and being accessable afterwards. This will seen by the cost assessor. After one request theILogicEntityRouteautomatically is set back to no request.- Specified by:
setRequestElementDetailsin interfaceILogicEntityRoute- Parameters:
requestDetails- the boolean whether theILogicRouteElementDetailItemshould be saved
-
isRequestElementDetails
public boolean isRequestElementDetails()- Specified by:
isRequestElementDetailsin interfaceILogicEntityRoute
-
setIsUnassessed
public void setIsUnassessed(boolean isUnassessed) - Specified by:
setIsUnassessedin interfaceILogicEntityRoute
-
getLastLockdownStopTime
- Specified by:
getLastLockdownStopTimein interfaceILogicEntityRoute
-
setLastLockdownStopTime
- Specified by:
setLastLockdownStopTimein interfaceILogicEntityRoute
-
setAdditionalRouteStartOffset
- Specified by:
setAdditionalRouteStartOffsetin interfaceILogicEntityRoute
-
getAdditionalRouteStartOffset
- Specified by:
getAdditionalRouteStartOffsetin interfaceILogicEntityRoute
-
isUnassessed
public boolean isUnassessed()- Specified by:
isUnassessedin interfaceILogicEntityRoute
-
copy
- Specified by:
copyin interfaceILogicEntityRoute
-
setRouteOptimizableElements
Description copied from interface:ILogicEntityRouteSets theIOptimizationElements.This method should NOT used directly only together with copy.- Specified by:
setRouteOptimizableElementsin interfaceILogicEntityRoute- Parameters:
elements- the new route elements
-
setRouteNoneOptimizableElements
- Specified by:
setRouteNoneOptimizableElementsin interfaceILogicEntityRoute
-
getJoinedDetailController
- Specified by:
getJoinedDetailControllerin interfaceILogicEntityRoute
-
isLastOptimizableElementInRoute
- Specified by:
isLastOptimizableElementInRoutein interfaceILogicEntityRoute
-
isFirstOptimizableElementInRoute
- Specified by:
isFirstOptimizableElementInRoutein interfaceILogicEntityRoute
-
addRoutePillar
- Specified by:
addRoutePillarin interfaceILogicEntityRoute
-
addRoutePillar
- Specified by:
addRoutePillarin interfaceILogicEntityRoute
-
removeRoutePillar
- Specified by:
removeRoutePillarin interfaceILogicEntityRoute
-
removeRoutePillar
- Specified by:
removeRoutePillarin interfaceILogicEntityRoute
-
removeRoutePillars
- Specified by:
removeRoutePillarsin interfaceILogicEntityRoute
-
addRoutePillars
- Specified by:
addRoutePillarsin interfaceILogicEntityRoute
-
setRoutePillars
- Specified by:
setRoutePillarsin interfaceILogicEntityRoute
-
hasRoutePillars
public boolean hasRoutePillars()- Specified by:
hasRoutePillarsin interfaceILogicEntityRoute
-
getRoutePillars
- Specified by:
getRoutePillarsin interfaceILogicEntityRoute
-
getRouteTimeMillis
public long getRouteTimeMillis()- Specified by:
getRouteTimeMillisin interfaceILogicEntityRoute
-
getTotalRouteDistanceMeter
public double getTotalRouteDistanceMeter()- Specified by:
getTotalRouteDistanceMeterin interfaceILogicEntityRoute
-
toString
- Specified by:
toStringin interfaceILogicEntityRoute- Overrides:
toStringin classObject
-
millisToMinutes
public static double millisToMinutes(long millis) -
metersToKilometers
public static double metersToKilometers(double meters) -
millisToMinutes
public static double millisToMinutes(long millis, int precision) -
metersToKilometers
public static double metersToKilometers(double meters, int precision) -
isFinalized
public boolean isFinalized()- Specified by:
isFinalizedin interfaceILogicEntityRoute
-
setIsInactive
public void setIsInactive(boolean isInactive) - Specified by:
setIsInactivein interfaceILogicEntityRoute
-
isInactive
public boolean isInactive()- Specified by:
isInactivein interfaceILogicEntityRoute
-
setIsLockedDown
public void setIsLockedDown(boolean isLockedDown) - Specified by:
setIsLockedDownin interfaceILogicEntityRoute
-
isLockedDown
public boolean isLockedDown()- Specified by:
isLockedDownin interfaceILogicEntityRoute
-
getMaxWorkingHours
public double getMaxWorkingHours()- Specified by:
getMaxWorkingHoursin interfaceILogicEntityRoute
-
getMaxDistanceKilometer
public double getMaxDistanceKilometer()- Specified by:
getMaxDistanceKilometerin interfaceILogicEntityRoute
-
isReductionTimeOnlyUsedForDriving
- Specified by:
isReductionTimeOnlyUsedForDrivingin interfaceILogicEntityRoute
-
isReductionTimeOnlyUsedForDrivingPillar
- Specified by:
isReductionTimeOnlyUsedForDrivingPillarin interfaceILogicEntityRoute
-
isReductionTimeIncludedInWorkingTime
- Specified by:
isReductionTimeIncludedInWorkingTimein interfaceILogicEntityRoute
-
getMaxRouteStartReductionTimeMillis
- Specified by:
getMaxRouteStartReductionTimeMillisin interfaceILogicEntityRoute
-
getQualifications
- Specified by:
getQualificationsin interfaceILogicEntityRoute
-
getMaxRouteStartReductionTimeMillisPillar
- Specified by:
getMaxRouteStartReductionTimeMillisPillarin interfaceILogicEntityRoute
-
getFlexTimeMillis
- Specified by:
getFlexTimeMillisin interfaceILogicEntityRoute
-
getMaxFreePostWorkDrivingTerminationTimeMillis
- Specified by:
getMaxFreePostWorkDrivingTerminationTimeMillisin interfaceILogicEntityRoute
-
isOnlyApplyFreePostWorkDrivingOnOvertime
- Specified by:
isOnlyApplyFreePostWorkDrivingOnOvertimein interfaceILogicEntityRoute
-
getMaxPillarAfterHoursTime
- Specified by:
getMaxPillarAfterHoursTimein interfaceILogicEntityRoute
-
hasSameElementsStructureIgnorePillars
public boolean hasSameElementsStructureIgnorePillars(ILogicEntityRoute compareRoute, boolean doIgnorePillars) - Specified by:
hasSameElementsStructureIgnorePillarsin interfaceILogicEntityRoute
-
hasSameElementsStructure
- Specified by:
hasSameElementsStructurein interfaceILogicEntityRoute
-
setIsScheduled
public void setIsScheduled(boolean isScheduled) - Specified by:
setIsScheduledin interfaceILogicEntityRoute
-
isScheduled
public boolean isScheduled()- Specified by:
isScheduledin interfaceILogicEntityRoute
-
addFlag
- Specified by:
addFlagin interfaceILogicEntityRoute
-
getFlags
- Specified by:
getFlagsin interfaceILogicEntityRoute
-
getAllElements
- Specified by:
getAllElementsin interfaceILogicEntityRoute
-
getAllNodes
- Specified by:
getAllNodesin interfaceILogicEntityRoute
-
numNodes
public int numNodes()- Specified by:
numNodesin interfaceILogicEntityRoute
-
hasNode
- Specified by:
hasNodein interfaceILogicEntityRoute
-
getResourceDepot
- Specified by:
getResourceDepotin interfaceILogicEntityRoute
-
getElement
- Specified by:
getElementin interfaceILogicEntityRoute
-