예제 #1
0
     }
 }
 /*
 	Get Attendance History
 */
 if (isset($columns['attendance'])) {
     //Get policy names.
     $oplf = new OverTimePolicyListFactory();
     $over_time_policy_arr = $oplf->getByCompanyIdArray($current_company->getId(), FALSE);
     $aplf = new AbsencePolicyListFactory();
     $absence_policy_arr = $aplf->getByCompanyIdArray($current_company->getId(), FALSE);
     $pplf = new PremiumPolicyListFactory();
     $premium_policy_arr = $pplf->getByCompanyIdArray($current_company->getId(), FALSE);
     //Get stats on number of days worked per month/week
     $udlf = new UserDateListFactory();
     $udlf->getDaysWorkedByTimePeriodAndUserIdAndCompanyIdAndStartDateAndEndDate('month', $filter_data['user_ids'], $current_company->getId(), $filter_data['start_date'], $filter_data['end_date']);
     if ($udlf->getRecordCount() > 0) {
         foreach ($udlf as $ud_obj) {
             //$user_days_worked[$ud_obj->getUser()]['month']
             $user_attendance_rows[$ud_obj->getUser()]['days_worked']['month'] = array('avg' => round($ud_obj->getColumn('avg'), 2), 'min' => $ud_obj->getColumn('min'), 'max' => $ud_obj->getColumn('max'));
         }
     }
     $udlf->getDaysWorkedByTimePeriodAndUserIdAndCompanyIdAndStartDateAndEndDate('week', $filter_data['user_ids'], $current_company->getId(), $filter_data['start_date'], $filter_data['end_date']);
     if ($udlf->getRecordCount() > 0) {
         foreach ($udlf as $ud_obj) {
             $user_attendance_rows[$ud_obj->getUser()]['days_worked']['week'] = array('avg' => round($ud_obj->getColumn('avg'), 2), 'min' => $ud_obj->getColumn('min'), 'max' => $ud_obj->getColumn('max'));
         }
     }
     //var_dump($user_days_worked);
     $udtlf = new UserDateTotalListFactory();
     $udtlf->getReportHoursByTimePeriodAndUserIdAndCompanyIdAndStartDateAndEndDate('day', $filter_data['user_ids'], $current_company->getId(), $filter_data['start_date'], $filter_data['end_date']);