} } elseif (!isset($action)) { //Get all the data we should need for this ROE in regards to pay period and such //Guess for end dates... //get User data for hire date $ulf = new UserListFactory(); $user_obj = $ulf->getById($user_id)->getCurrent(); $plf = new PunchListFactory(); //Is there a previous ROE? If so, find first shift back since ROE was issued. $rlf = new ROEListFactory(); $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();