com.ibm.tivoli.maximo.miniapps.scheduler.util

Class SKDActivityDuration

  • java.lang.Object
    • com.ibm.tivoli.maximo.miniapps.scheduler.util.SKDActivityDuration


  • public class SKDActivityDuration
    extends java.lang.Object
    Class to calculate duration for an activity
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.util.Date addWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible) 
      java.util.Date addWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible, boolean convertUserTimeZone) 
      java.util.Date addWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible, java.lang.String intShift) 
      java.util.Date addWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible, java.lang.String intShift, boolean convertUserTimeZone) 
      double durationBetweenTwoDates(java.util.Date startTime, java.util.Date endTime)
      Calculate the duration between two dates.
      java.lang.Object[] getActivityDuration(java.util.Date startDate, java.util.Date endDate, boolean isInterruptable)
      Get the total hours and start and end dates for an activity with non working time taken into consideration.
      ilog.views.gantt.IlvTimeInterval getActivityLatestStartAndFinishDates(java.util.Date startDate, java.util.Date endDate, double duration, boolean isInterruptable, java.util.ArrayList mergedNonWorkPeriods)
      Get the latest start and end dates for an activity given a duration.This is used in backward pass of CPM.
      ilog.views.gantt.IlvTimeInterval getActivityLatestStartAndFinishDates(java.util.Date startDate, java.util.Date endDate, double duration, boolean isInterruptable, java.lang.String intshift)
      Get the latest start and end dates for an activity given a duration.This is used in backward pass of CPM.
      ilog.views.gantt.IlvTimeInterval getActivityStartAndEndDates(java.util.Date startDate, java.util.Date endDate, double duration, boolean isInterruptable, java.util.ArrayList mergedNonWorkPeriods)
      Get the start and end dates for an activity given a duration.This is used when duration is constant like move activity.
      ilog.views.gantt.IlvTimeInterval getActivityStartAndEndDates(java.util.Date startDate, java.util.Date endDate, double duration, boolean isInterruptable, java.lang.String intshift)
      Get the start and end dates for an activity given a duration.This is used when duration is constant like move activity.
      java.util.Date getFirstAvailableWorkingDate(java.util.Date scheduleDate) 
      java.util.Date getFirstAvailableWorkingDate(java.util.Date scheduleDate, java.lang.String intShift) 
      java.util.Date getNextShift(java.util.Date scheduleDate) 
      java.util.Date getNextShift(java.util.Date scheduleDate, java.lang.String intShift) 
      double getNonInterruptableActivitiesCalendarBreaksDuration() 
      double getNonWorkingHours(java.util.ArrayList mergedNonWorkPeriods, java.util.Date startDate, java.util.Date endDate)
      Get the total non working time between two dates.
      double getNonWorkingHoursBetweenStartAndEndDates(java.util.Date startDate, java.util.Date endDate)
      Get the total non working time between two dates.
      double getNonWorkingHoursBetweenStartAndEndDatesForShift(java.lang.String shift, java.util.Date startDate, java.util.Date endDate)
      Get the total non working time between two dates.
      java.util.LinkedHashSet getNWDateListBetweenDates(java.util.Date startDate, java.util.Date endDate)
      Get the list of non working dates between two dates.
      java.util.List getNWDateRangeList(java.util.ArrayList nonWorkPeriods, java.util.Date startDate, java.util.Date endDate)
      Get the list of non working dates between two dates.
      java.util.List getNWDateRangeListBetweenDates(java.util.Date startDate, java.util.Date endDate)
      Get the list of non working dates between two dates.
      java.util.List getNWDateRangeListBetweenDatesForShift(java.lang.String shiftnum, java.util.Date startDate, java.util.Date endDate)
      Get the list of non working dates between two dates.
      java.util.Date getPreviousAvailableWorkingDate(java.util.Date scheduleDate) 
      java.util.Date getPreviousAvailableWorkingDate(java.util.Date scheduleDate, java.lang.String intShift) 
      java.util.Date getShiftEnd(java.util.Date scheduleDate) 
      java.util.Date getShiftEnd(java.util.Date scheduleDate, java.lang.String intShift) 
      java.util.ArrayList getShiftWorkPeriod(java.lang.String shift, IMXGanttModel model)
      Add the WorkPeriod information to the TreeGrid UI
      double getWorkingHoursBetweenStartAndEndDates(java.util.Date startDate, java.util.Date endDate)
      Find the working hours between two dates
      double getWorkingHoursBetweenStartAndEndDatesForShift(java.lang.String shift, java.util.Date startDate, java.util.Date endDate)
      Find the working hours between two dates
      boolean isWorkingDate(java.util.Date scheduleDate) 
      boolean isWorkingDate(java.util.Date scheduleDate, java.lang.String intShift) 
      java.util.Date subtractWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible) 
      java.util.Date subtractWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible, boolean convertUserTimeZone) 
      java.util.Date subtractWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible, java.lang.String intShift) 
      java.util.Date subtractWorkingHours(java.util.Date date, double workingHours, boolean isInterruptible, java.lang.String intShift, boolean convertUserTimeZone) 
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • getActivityDuration

        public java.lang.Object[] getActivityDuration(java.util.Date startDate,
                                                      java.util.Date endDate,
                                                      boolean isInterruptable)
                                               throws java.lang.Exception
        Get the total hours and start and end dates for an activity with non working time taken into consideration. This method is used in case of stretch where duration,start and end dates will change as you stretch.
        Parameters:
        startDate -
        endDate -
        isInterruptable -
        Returns:
        0- IlvTimeInterval,1-totalDuration
        Throws:
        java.lang.Exception
      • durationBetweenTwoDates

        public double durationBetweenTwoDates(java.util.Date startTime,
                                              java.util.Date endTime)
                                       throws java.lang.Exception
        Calculate the duration between two dates.
        Parameters:
        startDate -
        endDate -
        skdf -
        l -
        Returns:
        duration
        Throws:
        java.lang.Exception
      • getWorkingHoursBetweenStartAndEndDates

        public double getWorkingHoursBetweenStartAndEndDates(java.util.Date startDate,
                                                             java.util.Date endDate)
                                                      throws java.lang.Exception
        Find the working hours between two dates
        Parameters:
        startDate -
        endDate -
        Returns:
        working hours
        Throws:
        java.lang.Exception
      • getWorkingHoursBetweenStartAndEndDatesForShift

        public double getWorkingHoursBetweenStartAndEndDatesForShift(java.lang.String shift,
                                                                     java.util.Date startDate,
                                                                     java.util.Date endDate)
                                                              throws java.lang.Exception
        Find the working hours between two dates
        Parameters:
        startDate -
        endDate -
        Returns:
        working hours
        Throws:
        java.lang.Exception
      • getNonWorkingHoursBetweenStartAndEndDates

        public double getNonWorkingHoursBetweenStartAndEndDates(java.util.Date startDate,
                                                                java.util.Date endDate)
                                                         throws java.lang.Exception
        Get the total non working time between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        non work hours
        Throws:
        java.lang.Exception
      • getNonWorkingHoursBetweenStartAndEndDatesForShift

        public double getNonWorkingHoursBetweenStartAndEndDatesForShift(java.lang.String shift,
                                                                        java.util.Date startDate,
                                                                        java.util.Date endDate)
                                                                 throws java.lang.Exception
        Get the total non working time between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        non work hours
        Throws:
        java.lang.Exception
      • getNonWorkingHours

        public double getNonWorkingHours(java.util.ArrayList mergedNonWorkPeriods,
                                         java.util.Date startDate,
                                         java.util.Date endDate)
                                  throws java.lang.Exception
        Get the total non working time between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        non work hours
        Throws:
        java.lang.Exception
      • getNWDateListBetweenDates

        public java.util.LinkedHashSet getNWDateListBetweenDates(java.util.Date startDate,
                                                                 java.util.Date endDate)
                                                          throws java.lang.Exception
        Get the list of non working dates between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        list of non working start and end dates
        Throws:
        java.lang.Exception
      • getNWDateRangeListBetweenDates

        public java.util.List getNWDateRangeListBetweenDates(java.util.Date startDate,
                                                             java.util.Date endDate)
                                                      throws java.lang.Exception
        Get the list of non working dates between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        list of non working start and end dates
        Throws:
        java.lang.Exception
      • getNWDateRangeListBetweenDatesForShift

        public java.util.List getNWDateRangeListBetweenDatesForShift(java.lang.String shiftnum,
                                                                     java.util.Date startDate,
                                                                     java.util.Date endDate)
                                                              throws java.lang.Exception
        Get the list of non working dates between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        list of non working start and end dates
        Throws:
        java.lang.Exception
      • getNWDateRangeList

        public java.util.List getNWDateRangeList(java.util.ArrayList nonWorkPeriods,
                                                 java.util.Date startDate,
                                                 java.util.Date endDate)
                                          throws java.lang.Exception
        Get the list of non working dates between two dates.
        Parameters:
        startDate -
        endDate -
        Returns:
        list of non working start and end dates
        Throws:
        java.lang.Exception
      • getActivityStartAndEndDates

        public ilog.views.gantt.IlvTimeInterval getActivityStartAndEndDates(java.util.Date startDate,
                                                                            java.util.Date endDate,
                                                                            double duration,
                                                                            boolean isInterruptable,
                                                                            java.lang.String intshift)
                                                                     throws java.lang.Exception
        Get the start and end dates for an activity given a duration.This is used when duration is constant like move activity.
        Parameters:
        startDate -
        endDate -
        duration -
        isInterruptable -
        Returns:
        IlvTimeInterval
        Throws:
        java.lang.Exception
      • getFirstAvailableWorkingDate

        public java.util.Date getFirstAvailableWorkingDate(java.util.Date scheduleDate)
                                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getFirstAvailableWorkingDate

        public java.util.Date getFirstAvailableWorkingDate(java.util.Date scheduleDate,
                                                           java.lang.String intShift)
                                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getPreviousAvailableWorkingDate

        public java.util.Date getPreviousAvailableWorkingDate(java.util.Date scheduleDate)
                                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getPreviousAvailableWorkingDate

        public java.util.Date getPreviousAvailableWorkingDate(java.util.Date scheduleDate,
                                                              java.lang.String intShift)
                                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getShiftEnd

        public java.util.Date getShiftEnd(java.util.Date scheduleDate)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getShiftEnd

        public java.util.Date getShiftEnd(java.util.Date scheduleDate,
                                          java.lang.String intShift)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getNextShift

        public java.util.Date getNextShift(java.util.Date scheduleDate)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getNextShift

        public java.util.Date getNextShift(java.util.Date scheduleDate,
                                           java.lang.String intShift)
                                    throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getActivityStartAndEndDates

        public ilog.views.gantt.IlvTimeInterval getActivityStartAndEndDates(java.util.Date startDate,
                                                                            java.util.Date endDate,
                                                                            double duration,
                                                                            boolean isInterruptable,
                                                                            java.util.ArrayList mergedNonWorkPeriods)
                                                                     throws java.lang.Exception
        Get the start and end dates for an activity given a duration.This is used when duration is constant like move activity.
        Parameters:
        startDate -
        endDate -
        duration -
        isInterruptable -
        Returns:
        IlvTimeInterval
        Throws:
        java.lang.Exception
      • getActivityLatestStartAndFinishDates

        public ilog.views.gantt.IlvTimeInterval getActivityLatestStartAndFinishDates(java.util.Date startDate,
                                                                                     java.util.Date endDate,
                                                                                     double duration,
                                                                                     boolean isInterruptable,
                                                                                     java.lang.String intshift)
                                                                              throws java.lang.Exception
        Get the latest start and end dates for an activity given a duration.This is used in backward pass of CPM.
        Parameters:
        startDate -
        endDate -
        duration -
        isInterruptable -
        Returns:
        IlvTimeInterval
        Throws:
        java.lang.Exception
      • getActivityLatestStartAndFinishDates

        public ilog.views.gantt.IlvTimeInterval getActivityLatestStartAndFinishDates(java.util.Date startDate,
                                                                                     java.util.Date endDate,
                                                                                     double duration,
                                                                                     boolean isInterruptable,
                                                                                     java.util.ArrayList mergedNonWorkPeriods)
                                                                              throws java.lang.Exception
        Get the latest start and end dates for an activity given a duration.This is used in backward pass of CPM.
        Parameters:
        startDate -
        endDate -
        duration -
        isInterruptable -
        Returns:
        IlvTimeInterval
        Throws:
        java.lang.Exception
      • getShiftWorkPeriod

        public java.util.ArrayList getShiftWorkPeriod(java.lang.String shift,
                                                      IMXGanttModel model)
                                               throws java.io.IOException
        Add the WorkPeriod information to the TreeGrid UI
        Parameters:
        gantt -
        model -
        Throws:
        java.io.IOException
      • getNonInterruptableActivitiesCalendarBreaksDuration

        public double getNonInterruptableActivitiesCalendarBreaksDuration()
      • isWorkingDate

        public boolean isWorkingDate(java.util.Date scheduleDate,
                                     java.lang.String intShift)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • isWorkingDate

        public boolean isWorkingDate(java.util.Date scheduleDate)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addWorkingHours

        public java.util.Date addWorkingHours(java.util.Date date,
                                              double workingHours,
                                              boolean isInterruptible)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addWorkingHours

        public java.util.Date addWorkingHours(java.util.Date date,
                                              double workingHours,
                                              boolean isInterruptible,
                                              boolean convertUserTimeZone)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addWorkingHours

        public java.util.Date addWorkingHours(java.util.Date date,
                                              double workingHours,
                                              boolean isInterruptible,
                                              java.lang.String intShift)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • addWorkingHours

        public java.util.Date addWorkingHours(java.util.Date date,
                                              double workingHours,
                                              boolean isInterruptible,
                                              java.lang.String intShift,
                                              boolean convertUserTimeZone)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • subtractWorkingHours

        public java.util.Date subtractWorkingHours(java.util.Date date,
                                                   double workingHours,
                                                   boolean isInterruptible,
                                                   java.lang.String intShift)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • subtractWorkingHours

        public java.util.Date subtractWorkingHours(java.util.Date date,
                                                   double workingHours,
                                                   boolean isInterruptible,
                                                   java.lang.String intShift,
                                                   boolean convertUserTimeZone)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • subtractWorkingHours

        public java.util.Date subtractWorkingHours(java.util.Date date,
                                                   double workingHours,
                                                   boolean isInterruptible)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • subtractWorkingHours

        public java.util.Date subtractWorkingHours(java.util.Date date,
                                                   double workingHours,
                                                   boolean isInterruptible,
                                                   boolean convertUserTimeZone)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception