Class CapacityPlanningSimpleSolver
java.lang.Object
overit.geocallapp.wfm.forecastcapacity.bl.capacityplanning.calculation.solver.simple.CapacityPlanningSimpleSolver
- All Implemented Interfaces:
CapacityPlanningSolver
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected SortedSet<CapacityPlanningActivitySupportData> protected LogHelperprotected LogMessageHelperprotected NavigableSet<CapacityPlanningResourceSupportData> protected long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddOvertime(List<CapacityPlanningAssignment> assignments) Adds Overtime to activities assignmentsprotected List<CapacityPlanningAssignment> Assigns the list of the activities to the resources and produce a List ofCapacityPlanningAssignmentprotected voidassignOvertime(CapacityPlanningActivitySupportData timeframe, List<CapacityPlanningAssignment> assignments) If exists an assignment for the day adds the overtime, otherwise create a newCapacityPlanningAssignmentwith overtime dataprotected voidassignTimeframe(CapacityPlanningActivitySupportData timeframe, List<CapacityPlanningAssignment> assignments, Set<Long> resourceTeam, Map<Date, List<CapacityPlanningResourceSupportData>> daysAvailability) buildPotentialTeams(NavigableSet<CapacityPlanningResourceSupportData> resourcesData, CapacityPlanningActivitySupportData timeframe, boolean overtime) protected CapacityPlanningSolutionbuildSolution(List<CapacityPlanningAssignment> assignments) protected List<CapacityPlanningAssignment> Creates a list ofCapacityPlanningAssignmentfor the input time frameprotected voidcreateAssignments(CapacityPlanningActivitySupportData timeframe, Set<Long> resourceTeam, CapacityPlanningResourceSupportData start, CapacityPlanningResourceSupportData end, List<CapacityPlanningAssignment> teamAssignments) protected voidcreateOvertimeAssignment(CapacityPlanningActivitySupportData timeframe, List<CapacityPlanningAssignment> assignments, Set<Long> resourceTeam, CapacityPlanningResourceSupportData start, CapacityPlanningResourceSupportData end) protected LogMessageHelperprotected voidvoidsolve(CapacityPlanningProblem problem)
-
Field Details
-
logHelper
-
logMessage
-
activitiesData
-
resourcesData
-
teamId
protected long teamId
-
-
Constructor Details
-
CapacityPlanningSimpleSolver
public CapacityPlanningSimpleSolver()
-
-
Method Details
-
solve
- Specified by:
solvein interfaceCapacityPlanningSolver- Throws:
DAValidateException
-
buildSolution
-
assignActivities
Assigns the list of the activities to the resources and produce a List ofCapacityPlanningAssignment- Returns:
-
addOvertime
Adds Overtime to activities assignments- Parameters:
assignments-
-
calculateAssignments
protected List<CapacityPlanningAssignment> calculateAssignments(CapacityPlanningActivitySupportData timeframe) Creates a list ofCapacityPlanningAssignmentfor the input time frame- Parameters:
timeframe-- Returns:
-
createAssignments
protected void createAssignments(CapacityPlanningActivitySupportData timeframe, Set<Long> resourceTeam, CapacityPlanningResourceSupportData start, CapacityPlanningResourceSupportData end, List<CapacityPlanningAssignment> teamAssignments) -
assignOvertime
protected void assignOvertime(CapacityPlanningActivitySupportData timeframe, List<CapacityPlanningAssignment> assignments) If exists an assignment for the day adds the overtime, otherwise create a newCapacityPlanningAssignmentwith overtime data- Parameters:
timeframe-assignments-
-
createOvertimeAssignment
protected void createOvertimeAssignment(CapacityPlanningActivitySupportData timeframe, List<CapacityPlanningAssignment> assignments, Set<Long> resourceTeam, CapacityPlanningResourceSupportData start, CapacityPlanningResourceSupportData end) -
assignTimeframe
protected void assignTimeframe(CapacityPlanningActivitySupportData timeframe, List<CapacityPlanningAssignment> assignments, Set<Long> resourceTeam, Map<Date, List<CapacityPlanningResourceSupportData>> daysAvailability) -
getLogMessage
-
setLogHelper
- Specified by:
setLogHelperin interfaceCapacityPlanningSolver
-
printLog
-