CalculatePolicy - staffcheck/api GitHub Wiki

CalculatePolicy

  • Class name: CalculatePolicy
  • Namespace:

Properties

$flags

private mixed $flags = array('meal' => TRUE, 'undertime_absence' => TRUE, 'break' => TRUE, 'holiday' => TRUE, 'schedule_absence' => TRUE, 'absence' => TRUE, 'regular' => TRUE, 'overtime' => TRUE, 'premium' => TRUE, 'accrual' => TRUE, 'exception' => TRUE, 'exception_premature' => FALSE, 'exception_future' => TRUE, 'future_dates' => TRUE, 'past_dates' => FALSE)
  • Visibility: private

$profiler_start_time

private mixed $profiler_start_time = NULL
  • Visibility: private

$user_obj

private mixed $user_obj = NULL
  • Visibility: private

$original_time_zone

private mixed $original_time_zone = NULL
  • Visibility: private

$pay_periods

private mixed $pay_periods = NULL
  • Visibility: private

$pay_period_schedules

private mixed $pay_period_schedules = NULL
  • Visibility: private

$pay_period_obj

private mixed $pay_period_obj = NULL
  • Visibility: private

$pay_period_schedule_obj

private mixed $pay_period_schedule_obj = NULL
  • Visibility: private

$start_week_day_id

private mixed $start_week_day_id
  • Visibility: private

$dates

private mixed $dates = array('data' => array(), 'pending_calculation' => array(), 'calculated' => array())
  • Visibility: private

$delete_system_total_time_already_run

private mixed $delete_system_total_time_already_run = FALSE
  • Visibility: private

$currency_rates

private mixed $currency_rates = NULL
  • Visibility: private

$user_wages

private mixed $user_wages = NULL
  • Visibility: private

$user_date_total_insert_id

public mixed $user_date_total_insert_id = -1
  • Visibility: public

$new_user_date_total_ids

private mixed $new_user_date_total_ids = NULL
  • Visibility: private

$new_system_user_date_total_id

private mixed $new_system_user_date_total_id = array()
  • Visibility: private

$user_date_total

public mixed $user_date_total = NULL
  • Visibility: public

$schedule

private mixed $schedule = NULL
  • Visibility: private

$exception

private mixed $exception = NULL
  • Visibility: private

$punch

private mixed $punch = NULL
  • Visibility: private

$schedule_policy_rs

private mixed $schedule_policy_rs = NULL
  • Visibility: private

$schedule_policy_max_start_stop_window

private mixed $schedule_policy_max_start_stop_window
  • Visibility: private

$meal_time_policy

private mixed $meal_time_policy = NULL
  • Visibility: private

$schedule_policy_meal_time_policy

private mixed $schedule_policy_meal_time_policy = NULL
  • Visibility: private

$break_time_policy

private mixed $break_time_policy = NULL
  • Visibility: private

$schedule_policy_break_time_policy

private mixed $schedule_policy_break_time_policy = NULL
  • Visibility: private

$undertime_absence_policy

private mixed $undertime_absence_policy = NULL
  • Visibility: private

$exception_policy

private mixed $exception_policy = NULL
  • Visibility: private

$accrual_time_exclusivity_map

private mixed $accrual_time_exclusivity_map = NULL
  • Visibility: private

$regular_time_policy

private mixed $regular_time_policy = NULL
  • Visibility: private

$regular_time_exclusivity_map

private mixed $regular_time_exclusivity_map = NULL
  • Visibility: private

$over_time_policy

private mixed $over_time_policy = NULL
  • Visibility: private

$over_time_trigger_time_exclusivity_map

private mixed $over_time_trigger_time_exclusivity_map = NULL
  • Visibility: private

$over_time_recurse_map

private mixed $over_time_recurse_map = NULL
  • Visibility: private

$prev_user_date_total_start_time_stamp

private mixed $prev_user_date_total_start_time_stamp = NULL
  • Visibility: private

$prev_user_date_total_end_time_stamp

private mixed $prev_user_date_total_end_time_stamp = NULL
  • Visibility: private

$schedule_over_time_policy_ids

private mixed $schedule_over_time_policy_ids = NULL
  • Visibility: private

$premium_time_policy

private mixed $premium_time_policy = NULL
  • Visibility: private

$schedule_premium_time_policy_ids

private mixed $schedule_premium_time_policy_ids = NULL
  • Visibility: private

$accrual_policy

private mixed $accrual_policy = NULL
  • Visibility: private

$holiday_policy

public mixed $holiday_policy = NULL
  • Visibility: public

$is_eligible_holiday_description

private mixed $is_eligible_holiday_description = NULL
  • Visibility: private

$holiday

private mixed $holiday = NULL
  • Visibility: private

$policy_group_holiday_policy_ids

private mixed $policy_group_holiday_policy_ids = NULL
  • Visibility: private

$contributing_shift_policy

private mixed $contributing_shift_policy = NULL
  • Visibility: private

$contributing_pay_code_policy

private mixed $contributing_pay_code_policy = NULL
  • Visibility: private

$contributing_pay_codes_by_policy_id

private mixed $contributing_pay_codes_by_policy_id = NULL
  • Visibility: private

$pay_codes

private mixed $pay_codes = NULL
  • Visibility: private

$holiday_policy_used_pay_code_ids

private mixed $holiday_policy_used_pay_code_ids = NULL
  • Visibility: private

$pay_formula_policy

private mixed $pay_formula_policy = NULL
  • Visibility: private

Methods

__construct

mixed CalculatePolicy::__construct(object $user_obj)

CalculatePolicy constructor.

  • Visibility: public

Arguments

  • $user_obj object

setFlag

boolean CalculatePolicy::setFlag($key, boolean $value)
  • Visibility: public

Arguments

  • $key mixed
  • $value boolean

getFlag

boolean|mixed CalculatePolicy::getFlag($key)
  • Visibility: public

Arguments

  • $key mixed

getUserObject

null CalculatePolicy::getUserObject()
  • Visibility: public

setUserObject

boolean CalculatePolicy::setUserObject(object $obj)
  • Visibility: public

Arguments

  • $obj object

getPayPeriodObject

boolean CalculatePolicy::getPayPeriodObject(string $id)
  • Visibility: public

Arguments

  • $id string - UUID

getPayPeriodScheduleObject

boolean CalculatePolicy::getPayPeriodScheduleObject(string $id)
  • Visibility: public

Arguments

  • $id string - UUID

setTimeZone

boolean CalculatePolicy::setTimeZone()
  • Visibility: public

revertTimeZone

boolean CalculatePolicy::revertTimeZone()
  • Visibility: public

isPastDateCalculationRequired

boolean CalculatePolicy::isPastDateCalculationRequired()

Check if past date calculation is required.

This is based on PayFormulas that use average calculations.

  • Visibility: public

compactMealAndBreakUserDateTotalObjects

array|boolean CalculatePolicy::compactMealAndBreakUserDateTotalObjects(integer $user_date_total_rows)

Since handling auto-deduct meal policies (negative total time) is virtually impossible to handle by itself when it comes to overtime/premium policies that adjust the total time themselves, this function will roll the meal/break policy time into the source record before being calculated for Reg/OT/Prem.

This way Reg/OT/Prem. calculation functions don't need to worry about negative total times at all.

  • Visibility: public

Arguments

  • $user_date_total_rows integer - EPOCH

testOverriddenUserDateTotalObject

boolean CalculatePolicy::testOverriddenUserDateTotalObject(object $udt_obj, object $tmp_udt_obj, $check_src_object_id)
  • Visibility: public

Arguments

  • $udt_obj object
  • $tmp_udt_obj object
  • $check_src_object_id mixed

isOverriddenUserDateTotalObject

boolean CalculatePolicy::isOverriddenUserDateTotalObject(object $udt_obj, boolean $check_src_object_id)

Find existing UDT records that have override=TRUE and other fields matching, so we don't try to insert new UDT records.

  • Visibility: public

Arguments

  • $udt_obj object
  • $check_src_object_id boolean - More strict checks against src_object_ids as well. Typically only used for absence records so the same pay code can be used with different absence policies.

removeRedundantUserDateTotalObjects

boolean CalculatePolicy::removeRedundantUserDateTotalObjects()
  • Visibility: public

insertUserDateTotal

boolean CalculatePolicy::insertUserDateTotal(integer $user_date_total_records)
  • Visibility: public

Arguments

  • $user_date_total_records integer - EPOCH

isConflictingUserDateTotal

boolean CalculatePolicy::isConflictingUserDateTotal(integer $date_stamp, integer $object_type_id, string $pay_code_id, $src_object_id, string $branch_id, string $department_id, string $job_id, string $job_item_id, boolean $override, array $include_pay_code_id)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $object_type_id integer
  • $pay_code_id string - UUID
  • $src_object_id mixed
  • $branch_id string - UUID
  • $department_id string - UUID
  • $job_id string - UUID
  • $job_item_id string - UUID
  • $override boolean
  • $include_pay_code_id array - UUID

calculateScheduleAbsence

boolean CalculatePolicy::calculateScheduleAbsence(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getScheduleDates

array CalculatePolicy::getScheduleDates($schedule_arr)
  • Visibility: public

Arguments

  • $schedule_arr mixed

getSumScheduledDays

integer CalculatePolicy::getSumScheduledDays($schedule_arr)
  • Visibility: public

Arguments

  • $schedule_arr mixed

getSumScheduleTime

integer CalculatePolicy::getSumScheduleTime($schedule_arr)
  • Visibility: public

Arguments

  • $schedule_arr mixed

sortScheduleByDateASC

integer CalculatePolicy::sortScheduleByDateASC($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

sortScheduleByDateDESC

integer CalculatePolicy::sortScheduleByDateDESC($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

filterScheduleDataByDateAndDirection

array CalculatePolicy::filterScheduleDataByDateAndDirection(integer $pivot_date, integer $status_ids, null $direction, integer $limit)
  • Visibility: public

Arguments

  • $pivot_date integer - EPOCH
  • $status_ids integer - ID
  • $direction null
  • $limit integer - Limit the number of records returned

filterScheduleDataByStatus

array CalculatePolicy::filterScheduleDataByStatus(integer $start_date, integer $end_date, integer $status_ids)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $status_ids integer - ID

filterScheduleDataByShiftStartAndEnd

array CalculatePolicy::filterScheduleDataByShiftStartAndEnd($start_time, $end_time, boolean $schedule_status_id)
  • Visibility: public

Arguments

  • $start_time mixed
  • $end_time mixed
  • $schedule_status_id boolean

getScheduleData

boolean CalculatePolicy::getScheduleData(integer $start_date, integer $end_date, integer $status_ids, integer $limit, array $order)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $status_ids integer - ID
  • $limit integer - Limit the number of records returned
  • $order array - Sort order passed to SQL in format of array( $column => 'asc', 'name' => 'desc', ... ). ie: array( 'id' => 'asc', 'name' => 'desc', ... )

filterSchedulePolicyByDate

array CalculatePolicy::filterSchedulePolicyByDate(integer $date_stamp, boolean $force_all_scheduled_shifts)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $force_all_scheduled_shifts boolean

getSchedulePolicy

boolean CalculatePolicy::getSchedulePolicy()

Get all possible schedule policies.

  • Visibility: public

deleteSystemTotalTime

boolean CalculatePolicy::deleteSystemTotalTime(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

compactUserDateTotalDataBasedOnTimeStamps

mixed CalculatePolicy::compactUserDateTotalDataBasedOnTimeStamps($udtlf)

FIXME: This can be activated later on with more testing, specifically used in cases where Contributing Shifts split on certain times of day.

  • Visibility: public

Arguments

  • $udtlf mixed

compactUserDateTotalDataBasedOnOverride

mixed CalculatePolicy::compactUserDateTotalDataBasedOnOverride($udtlf)
  • Visibility: public

Arguments

  • $udtlf mixed

calculateSystemTotalTime

boolean CalculatePolicy::calculateSystemTotalTime(integer $date_stamp, $tmp_system_total_time)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $tmp_system_total_time mixed

calculateBreakTimePolicy

boolean CalculatePolicy::calculateBreakTimePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

BreakTimePolicySortByTriggerTimeAsc

integer CalculatePolicy::BreakTimePolicySortByTriggerTimeAsc($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

filterBreakTimePolicy

array CalculatePolicy::filterBreakTimePolicy(integer $date_stamp, null $daily_total_time, integer $type_id, boolean $always_return_at_least_one)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $daily_total_time null
  • $type_id integer - ID
  • $always_return_at_least_one boolean

getBreakTimePolicy

boolean CalculatePolicy::getBreakTimePolicy()
  • Visibility: public

calculateMealTimePolicy

boolean CalculatePolicy::calculateMealTimePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

filterMealTimePolicy

array CalculatePolicy::filterMealTimePolicy(integer $date_stamp, null $daily_total_time, integer $type_id, boolean $always_return_at_least_one)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $daily_total_time null
  • $type_id integer - ID
  • $always_return_at_least_one boolean

getMealTimePolicy

boolean CalculatePolicy::getMealTimePolicy()
  • Visibility: public

calculateAbsenceTimePolicy

boolean CalculatePolicy::calculateAbsenceTimePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

calculateUnderTimeAbsencePolicy

boolean CalculatePolicy::calculateUnderTimeAbsencePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

filterUnderTimeAbsencePolicy

array CalculatePolicy::filterUnderTimeAbsencePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getUnderTimeAbsenceTimePolicy

boolean CalculatePolicy::getUnderTimeAbsenceTimePolicy()
  • Visibility: public

calculateRegularTimeExclusivity

boolean CalculatePolicy::calculateRegularTimeExclusivity()
  • Visibility: public

calculateUserDateTotalStartAndEndTimeStamps

array CalculatePolicy::calculateUserDateTotalStartAndEndTimeStamps(object $udt_obj)
  • Visibility: public

Arguments

  • $udt_obj object

calculateRegularTimePolicy

boolean CalculatePolicy::calculateRegularTimePolicy(integer $date_stamp, null $maximum_daily_total_time)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $maximum_daily_total_time null

RegularTimePolicySortByCalculationOrderAsc

integer CalculatePolicy::RegularTimePolicySortByCalculationOrderAsc($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

filterRegularTimePolicy

array CalculatePolicy::filterRegularTimePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getRegularTimePolicy

boolean CalculatePolicy::getRegularTimePolicy()

Get all regulartime policies that could possibly apply, including from schedule policies.

  • Visibility: public

calculateOverTimeHourlyRates

boolean CalculatePolicy::calculateOverTimeHourlyRates(integer $user_date_total_records)

This must be done after all other policies are calculated so any average calculations can include premium time wages.

  • Visibility: public

Arguments

  • $user_date_total_records integer - EPOCH

calculateOverTimePolicyForTriggerTime

boolean CalculatePolicy::calculateOverTimePolicyForTriggerTime(integer $date_stamp, $current_trigger_time_arr, boolean $prev_policy_data)

Overtime policies need to be nested.

.. Since they are basically like saying: Any time after Xhrs/day goes to this OT policy. If some time is filtered out, it simply applies to the next OT policy. So the first OT policy should have almost all time applied to it, then the next policy simply moves time from the prior OT policy into itself, rinse and repeat...

  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $current_trigger_time_arr mixed
  • $prev_policy_data boolean

calculateOverTimePolicy

boolean CalculatePolicy::calculateOverTimePolicy(integer $date_stamp, $trigger_time_arr, null $maximum_daily_total_time)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $trigger_time_arr mixed
  • $maximum_daily_total_time null

filterOverTimePolicy

array CalculatePolicy::filterOverTimePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getWeeklyOverTimePolicyTypeIds

array CalculatePolicy::getWeeklyOverTimePolicyTypeIds()
  • Visibility: public

getWeeklyOverTimePolicyPayCodes

array CalculatePolicy::getWeeklyOverTimePolicyPayCodes()
  • Visibility: public

getWeeklyOverTimePolicyIDs

array CalculatePolicy::getWeeklyOverTimePolicyIDs()
  • Visibility: public

filterWeeklyOverTimePolicy

array CalculatePolicy::filterWeeklyOverTimePolicy()
  • Visibility: public

getOverTimePolicy

boolean CalculatePolicy::getOverTimePolicy()
  • Visibility: public

isSecondBiWeeklyOverTimeWeek

boolean CalculatePolicy::isSecondBiWeeklyOverTimeWeek(integer $date_stamp, integer $first_pay_period_start_date, integer $start_week_day_id)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $first_pay_period_start_date integer - EPOCH
  • $start_week_day_id integer

getOverTimePeriodDates

array CalculatePolicy::getOverTimePeriodDates(integer $date_stamp, $weeks, integer $first_pay_period_start_date, integer $start_week_day_id)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $weeks mixed
  • $first_pay_period_start_date integer - EPOCH
  • $start_week_day_id integer

getOverTimeTriggerTimeAdjustAmount

integer CalculatePolicy::getOverTimeTriggerTimeAdjustAmount(integer $start_date, integer $end_date, object $otp_obj)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $otp_obj object

getOverTimeTriggerArray

array|boolean CalculatePolicy::getOverTimeTriggerArray(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

processTriggerTimeArray

boolean CalculatePolicy::processTriggerTimeArray(integer $date_stamp, $trigger_time_arr)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $trigger_time_arr mixed

calculateExceptionPolicy

boolean CalculatePolicy::calculateExceptionPolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getExceptionPolicy

boolean CalculatePolicy::getExceptionPolicy()
  • Visibility: public

getExceptionData

boolean CalculatePolicy::getExceptionData(integer $start_date, integer $end_date)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

filterPunchDataByDateAndTypeAndStatus

array CalculatePolicy::filterPunchDataByDateAndTypeAndStatus(integer $date_stamp, integer $type_ids, integer $status_ids)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $type_ids integer - ID
  • $status_ids integer - ID

getPunchData

boolean CalculatePolicy::getPunchData(integer $start_date, integer $end_date)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

getContributingShiftPolicy

boolean CalculatePolicy::getContributingShiftPolicy()
  • Visibility: public

getContributingPayCodePolicy

boolean CalculatePolicy::getContributingPayCodePolicy()
  • Visibility: public

getPayCode

boolean CalculatePolicy::getPayCode()

Need to get all pay codes referenced by policies and all pay codes used by contributing shift policies too.

So we may as well just get them all.

  • Visibility: public

getPayFormulaPolicyObjectByPayFormulaIdOrPayCodeId

boolean CalculatePolicy::getPayFormulaPolicyObjectByPayFormulaIdOrPayCodeId(string $pay_formula_policy_id, string $pay_code_id)
  • Visibility: public

Arguments

  • $pay_formula_policy_id string - UUID
  • $pay_code_id string - UUID

getPayFormulaPolicyObjectByPolicyObject

boolean CalculatePolicy::getPayFormulaPolicyObjectByPolicyObject(object $obj)
  • Visibility: public

Arguments

  • $obj object

isPayFormulaAccruing

boolean CalculatePolicy::isPayFormulaAccruing(object $pay_formula_policy_obj)
  • Visibility: public

Arguments

  • $pay_formula_policy_obj object

isPayFormulaPolicyAveraging

boolean CalculatePolicy::isPayFormulaPolicyAveraging(string $pay_formula_policy_id, string $pay_code_id)
  • Visibility: public

Arguments

  • $pay_formula_policy_id string - UUID
  • $pay_code_id string - UUID

getPayFormulaPolicy

boolean CalculatePolicy::getPayFormulaPolicy()
  • Visibility: public

getAverageHourlyRate

boolean|float|integer CalculatePolicy::getAverageHourlyRate(integer $date_stamp, object $hour_contributing_shift_policy_obj, integer $hour_object_type_ids, object $wage_contributing_shift_policy_obj)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $hour_contributing_shift_policy_obj object
  • $hour_object_type_ids integer
  • $wage_contributing_shift_policy_obj object

getBaseHourlyRate

boolean|float|integer CalculatePolicy::getBaseHourlyRate(string $pay_formula_policy_id, string $pay_code_id, integer $date_stamp, boolean $contributing_pay_code_hourly_rate, object $contributing_shift_policy_obj, integer $object_type_ids)
  • Visibility: public

Arguments

  • $pay_formula_policy_id string - UUID
  • $pay_code_id string - UUID
  • $date_stamp integer - EPOCH
  • $contributing_pay_code_hourly_rate boolean
  • $contributing_shift_policy_obj object
  • $object_type_ids integer - ID

getHourlyRate

integer CalculatePolicy::getHourlyRate(string $pay_formula_policy_id, string $pay_code_id, integer $date_stamp, $base_hourly_rate)
  • Visibility: public

Arguments

  • $pay_formula_policy_id string - UUID
  • $pay_code_id string - UUID
  • $date_stamp integer - EPOCH
  • $base_hourly_rate mixed

getHourlyRateWithBurden

integer CalculatePolicy::getHourlyRateWithBurden(string $pay_formula_policy_id, string $pay_code_id, integer $date_stamp, integer $base_hourly_rate)
  • Visibility: public

Arguments

  • $pay_formula_policy_id string - UUID
  • $pay_code_id string - UUID
  • $date_stamp integer - EPOCH
  • $base_hourly_rate integer

filterUserWage

array|object CalculatePolicy::filterUserWage(string $wage_group_id, integer $date_stamp)
  • Visibility: public

Arguments

  • $wage_group_id string - UUID
  • $date_stamp integer - EPOCH

UserWageSortByEffectiveDateDesc

integer CalculatePolicy::UserWageSortByEffectiveDateDesc($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

getUserWageData

boolean CalculatePolicy::getUserWageData(integer $start_date, integer $end_date)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

filterCurrencyRate

object CalculatePolicy::filterCurrencyRate(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getCurrencyRateData

boolean CalculatePolicy::getCurrencyRateData(integer $start_date, integer $end_date)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

calculatePremiumTimePolicy

boolean CalculatePolicy::calculatePremiumTimePolicy(integer $date_stamp, null $maximum_daily_total_time)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $maximum_daily_total_time null

filterPremiumTimePolicy

array CalculatePolicy::filterPremiumTimePolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getPremiumTimePolicy

boolean CalculatePolicy::getPremiumTimePolicy()
  • Visibility: public

calculateAccrualPolicy

boolean CalculatePolicy::calculateAccrualPolicy()
  • Visibility: public

getAccrualPolicy

boolean CalculatePolicy::getAccrualPolicy()
  • Visibility: public

isEligibleForHoliday

boolean CalculatePolicy::isEligibleForHoliday(integer $date_stamp, object $holiday_policy_obj, boolean $ignore_after_eligibility)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $holiday_policy_obj object
  • $ignore_after_eligibility boolean

getHolidayTime

float|integer|string CalculatePolicy::getHolidayTime(integer $date_stamp, object $holiday_policy_obj)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $holiday_policy_obj object

calculateHolidayPolicy

boolean CalculatePolicy::calculateHolidayPolicy(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

filterHoliday

array CalculatePolicy::filterHoliday(integer $date_stamp, $holiday_policy_obj, null $assigned_to_policy_group)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $holiday_policy_obj mixed
  • $assigned_to_policy_group null

getHolidayData

boolean CalculatePolicy::getHolidayData(integer $start_date, integer $end_date, boolean $enable_recalculate_holiday)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $enable_recalculate_holiday boolean

getHolidayPolicy

boolean CalculatePolicy::getHolidayPolicy($date_stamp)
  • Visibility: public

Arguments

  • $date_stamp mixed

getPreviousDayByUserTotalData

boolean|mixed CalculatePolicy::getPreviousDayByUserTotalData(integer $user_date_total_arr, integer $date_stamp)
  • Visibility: public

Arguments

  • $user_date_total_arr integer - EPOCH
  • $date_stamp integer - EPOCH

getDayArrayUserDateTotalData

array CalculatePolicy::getDayArrayUserDateTotalData(integer $user_date_total_arr)
  • Visibility: public

Arguments

  • $user_date_total_arr integer - EPOCH

getSumUserDateTotalData

integer CalculatePolicy::getSumUserDateTotalData(integer $user_date_total_arr)
  • Visibility: public

Arguments

  • $user_date_total_arr integer - EPOCH

getShiftData

boolean CalculatePolicy::getShiftData(integer $user_date_total_arr, integer $epoch, null $filter, null $maximum_shift_time, null $new_shift_trigger_time)
  • Visibility: public

Arguments

  • $user_date_total_arr integer - EPOCH
  • $epoch integer - EPOCH
  • $filter null
  • $maximum_shift_time null
  • $new_shift_trigger_time null

sortUserDateTotalDataByObjectTypeDescAndID

integer CalculatePolicy::sortUserDateTotalDataByObjectTypeDescAndID($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

sortUserDateTotalDataByDateAndObjectTypeAndStartTimeStampAndID

integer CalculatePolicy::sortUserDateTotalDataByDateAndObjectTypeAndStartTimeStampAndID($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

sortUserDateTotalDataByTimeStampAndAndObjectTypeAndID

integer CalculatePolicy::sortUserDateTotalDataByTimeStampAndAndObjectTypeAndID($a, $b)
  • Visibility: public

Arguments

  • $a mixed
  • $b mixed

sortUserDateTotalData

boolean CalculatePolicy::sortUserDateTotalData($udtlf, string $sort_function_name)
  • Visibility: public

Arguments

  • $udtlf mixed
  • $sort_function_name string

sortPolicyByPayCodeDependancy

mixed CalculatePolicy::sortPolicyByPayCodeDependancy($policy_arr)
  • Visibility: public

Arguments

  • $policy_arr mixed

filterUserDateTotalDataByContributingShiftPolicy

array CalculatePolicy::filterUserDateTotalDataByContributingShiftPolicy(integer $start_date, integer $end_date, object $contributing_shift_policy_obj, integer $object_type_ids, array $additional_pay_code_ids, array $additional_src_object_ids)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $contributing_shift_policy_obj object
  • $object_type_ids integer - ID
  • $additional_pay_code_ids array
  • $additional_src_object_ids array

filterUserDateTotalDataByPayCodeIDs

array CalculatePolicy::filterUserDateTotalDataByPayCodeIDs(integer $start_date, integer $end_date, string $pay_code_ids)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $pay_code_ids string - UUID

filterUserDateTotalDataByObjectTypeIDs

array CalculatePolicy::filterUserDateTotalDataByObjectTypeIDs(integer $start_date, integer $end_date, integer $object_type_ids)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $object_type_ids integer - ID

filterUserDateTotalDataByPunchTypeIDs

array CalculatePolicy::filterUserDateTotalDataByPunchTypeIDs(integer $start_date, integer $end_date, integer $punch_type_ids)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH
  • $punch_type_ids integer - ID

getShiftStartAndEndUserDateTotal

boolean CalculatePolicy::getShiftStartAndEndUserDateTotal(integer $start_date, integer $end_date)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

getUserDateTotalData

boolean CalculatePolicy::getUserDateTotalData(integer $start_date, integer $end_date)

Grabs all user_date total data from DB for each date specified.

  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

isUserDateTotalData

mixed CalculatePolicy::isUserDateTotalData()
  • Visibility: public

getDateRangeFromDateArray

mixed CalculatePolicy::getDateRangeFromDateArray(integer $date_arr)
  • Visibility: public

Arguments

  • $date_arr integer - EPOCH

getDatesToObtainDataFor

array CalculatePolicy::getDatesToObtainDataFor(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

getRequiredData

boolean CalculatePolicy::getRequiredData(integer $date_stamp, boolean $enable_recalculate_holiday)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH
  • $enable_recalculate_holiday boolean

getCalculatedDateRange

array|boolean CalculatePolicy::getCalculatedDateRange()
  • Visibility: public

addCalculatedDate

boolean CalculatePolicy::addCalculatedDate(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

addPendingCalculationDate

boolean CalculatePolicy::addPendingCalculationDate(integer $start_date, integer $end_date)
  • Visibility: public

Arguments

  • $start_date integer - EPOCH
  • $end_date integer - EPOCH

getNextPendingDate

boolean|mixed CalculatePolicy::getNextPendingDate()
  • Visibility: public

getFirstPendingDate

boolean|mixed CalculatePolicy::getFirstPendingDate()
  • Visibility: public

getLastPendingDate

boolean|mixed CalculatePolicy::getLastPendingDate()
  • Visibility: public

setPayPeriodFromDate

boolean CalculatePolicy::setPayPeriodFromDate(integer $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp integer - EPOCH

_calculate

boolean|mixed CalculatePolicy::_calculate(integer $date_stamp)
  • Visibility: private

Arguments

  • $date_stamp integer - EPOCH

calculate

boolean CalculatePolicy::calculate(boolean $date_stamp)
  • Visibility: public

Arguments

  • $date_stamp boolean

Save

boolean CalculatePolicy::Save()
  • Visibility: public
⚠️ **GitHub.com Fallback** ⚠️