Пример #1
0
 function get_works_detail($works, $switch = 'default')
 {
     $results = array();
     // 按员工分组现场工时
     foreach ($works as $work) {
         if ($switch == 'default') {
             $work_hours = get_work_hours($work);
         }
         if ($switch == 'unchecked') {
             $work_hours = get_uncheck_work_hours($work);
         }
         if ($switch == 'unsubmitted') {
             $work_hours = get_unsubmitted_work_hours($work);
         }
         // 考核率
         $assessment_rate = cal_assessment($work);
         $assessment_work_hours = round($work_hours * (1 - $assessment_rate), 2);
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['works'][] = array('overdue_days' => daysbetweendates($work->check_date, $work->process->planned_completion_date), 'work_count' => $work->count, 'work_count_valid' => $work->count_valid, 'work_count_concession' => $work->count_concession, 'work_count_invalid' => $work->count_invalid, 'work_count_check' => $work->count_check, 'work_ticket' => $work->ticket, 'work_hours' => $work_hours, 'work_check_date' => $work->check_date ? date('Y/m/d', strtotime($work->check_date)) : '', 'work_completion_date' => $work->completion_date ? date('Y/m/d', strtotime($work->completion_date)) : '', 'work_remark' => get_proc_plan_source($work->process->part->production), 'assessment_rate' => $assessment_rate, 'assessment_work_hours' => $assessment_work_hours, 'proc_priority' => $work->process->priority, 'proc_name' => get_proc_name($work->process->name), 'proc_takt_time' => $work->process->takt_time ? $work->process->takt_time : 0, 'proc_preparation_time' => $work->process->preparation_time ? $work->process->preparation_time : 0, 'proc_production_date' => $work->process->production_date ? date('Y/m/d', strtotime($work->process->production_date)) : '', 'proc_planned_completion_date' => $work->process->planned_completion_date ? date('Y/m/d', strtotime($work->process->planned_completion_date)) : '', 'part_num' => $work->process->part->num, 'part_name' => $work->process->part->name, 'part_return_date' => $work->process->part->return_date ? date('Y/m/d', strtotime($work->process->part->return_date)) : '', 'prod_type' => get_prod_type($work->process->part->production->type), 'prod_graphic_src' => get_prod_graphic_src($work->process->part->production->graphic_src));
         // 累加同种工序现场工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['work_hours_sum'] += $work_hours;
         // 累加同种工序考核现场工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['a_work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['a_work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['a_work_hours_sum'] += $assessment_work_hours;
         // 累加所有工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['work_hours_sum'] += $work_hours;
         // 累加所有考核工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['a_work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['a_work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['a_work_hours_sum'] += $assessment_work_hours;
     }
     return $results;
 }
Пример #2
0
function echo_proc_plan_source($var)
{
    echo get_proc_plan_source($var);
}