$date_job_item_total_group[$user_date_stamp][$date_data['job_item_id']] = $date_data;
         }
     }
     unset($prev_total_time, $date_rows, $date_data);
     //var_dump($date_department_total_group);
     $date_worked_total_job_item_ids = array_unique($date_worked_total_job_item_ids);
     sort($date_worked_total_job_item_ids);
     if ($date_worked_total_job_item_ids[0] != FALSE or count($date_worked_total_job_item_ids) > 1) {
         $date_job_item_total_rows = TimeSheetFormatArrayByDate($date_job_item_total_group, $date_worked_total_job_item_ids, $calendar_array, 'job_item', 'job_item_id');
     }
 }
 /*
 	Get Premium Time
 */
 $pplf_b = new PremiumPolicyListFactory();
 $premium_policy_options = $pplf_b->getByCompanyIdArray($current_company->getId());
 unset($pplf_b);
 $udtlf = new UserDateTotalListFactory();
 //Get only worked totals.
 $udtlf->getByCompanyIDAndUserIdAndStatusAndTypeAndStartDateAndEndDate($current_company->getId(), $user_id, 10, 40, $start_date, $end_date);
 if ($udtlf->getRecordCount() > 0) {
     foreach ($udtlf as $udt_obj) {
         $user_date_stamp = TTDate::strtotime($udt_obj->getColumn('user_date_stamp'));
         if ($udt_obj->getPremiumPolicyID() !== FALSE and isset($premium_policy_options[$udt_obj->getPremiumPolicyID()])) {
             $premium_policy = $premium_policy_options[$udt_obj->getPremiumPolicyID()];
         } else {
             $premium_policy = TTi18n::gettext('No Policy');
         }
         $date_premium_totals[$user_date_stamp][] = array('date_stamp' => $udt_obj->getColumn('user_date_stamp'), 'id' => $udt_obj->getId(), 'user_date_id' => $udt_obj->getUserDateId(), 'status_id' => $udt_obj->getStatus(), 'type_id' => $udt_obj->getType(), 'over_time_policy_id' => $udt_obj->getOverTimePolicyID(), 'premium_policy_id' => $udt_obj->getPremiumPolicyID(), 'premium_policy' => $premium_policy, 'department_id' => $udt_obj->getDepartment(), 'total_time' => $udt_obj->getTotalTime(), 'override' => $udt_obj->getOverride());
         $date_premium_total_policy_ids[] = (int) $udt_obj->getPremiumPolicyID();
         $date_total_premium_ids[] = (int) $udt_obj->getPremiumPolicyID();
Beispiel #2
0
         foreach ($uwlf as $uw_obj) {
             $user_wage_rows[$uw_obj->getUser()][] = array('type_id' => $uw_obj->getType(), 'type' => Option::getByKey($uw_obj->getType(), $uw_obj->getOptions('type')), 'wage' => $uw_obj->getWage(), 'currency_symbol' => $uw_obj->getUserObject()->getCurrencyObject()->getSymbol(), 'effective_date' => $uw_obj->getEffectiveDate(), 'effective_date_since' => TTDate::getHumanTimeSince($uw_obj->getEffectiveDate()));
         }
     }
 }
 /*
 	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'));
         }
     }