$rlf->getLastROEByUserId($user_id); if ($rlf->getRecordCount() > 0) { $roe_obj = $rlf->getCurrent(); Debug::Text('Previous ROE Last Date: ' . TTDate::getDate('DATE+TIME', $roe_obj->getLastDate()), __FILE__, __LINE__, __METHOD__, 10); //$plf->getFirstPunchByUserIDAndEpoch( $user_id, $roe_obj->getLastDate() ); $plf->getNextPunchByUserIdAndEpoch($user_id, $roe_obj->getLastDate()); if ($plf->getRecordCount() > 0) { $first_date = $plf->getCurrent()->getTimeStamp(); } } if (!isset($first_date) or $first_date == '') { $first_date = $user_obj->getHireDate(); } Debug::Text('First Date: ' . TTDate::getDate('DATE+TIME', $first_date), __FILE__, __LINE__, __METHOD__, 10); //Get last shift worked (not scheduled) $plf->getLastPunchByUserId($user_id); if ($plf->getRecordCount() > 0) { $punch_obj = $plf->getCurrent(); $last_date = $punch_obj->getPunchControlObject()->getUserDateObject()->getDateStamp(); } else { $last_date = TTDate::getTime(); } Debug::Text('Last Punch Date: ' . TTDate::getDate('DATE+TIME', $last_date), __FILE__, __LINE__, __METHOD__, 10); //Get pay period of last shift workd $plf = new PayPeriodListFactory(); $pay_period_obj = $plf->getByUserIdAndEndDate($user_id, $last_date)->getCurrent(); $pay_period_type_id = FALSE; if (is_object($pay_period_obj->getPayPeriodScheduleObject())) { $pay_period_type_id = $pay_period_obj->getPayPeriodScheduleObject()->getType(); } $roe_data = array('user_id' => $user_id, 'pay_period_type_id' => $pay_period_type_id, 'first_date' => $first_date, 'last_date' => $last_date, 'pay_period_end_date' => $pay_period_obj->getEndDate());