Пример #1
0
 function stat_part_info_by_return_date($start_date, $end_date)
 {
     // 2014-03-01 , 2014-06-14
     $group = array();
     $parts = Part::find('all', array('conditions' => array(' DATE(`return_date`) >= ? AND DATE(`return_date`) <= ? ', $start_date, $end_date)));
     foreach ($parts as $part) {
         $prod = $part->production;
         $procs = $part->processes;
         // prod
         if (!isset($group[$prod->id])) {
             $group[$prod->id] = array('prod_use_dep' => $prod->use_dep, 'prod_num' => $prod->num, 'parts' => array());
         }
         $group[$prod->id]['parts'][$part->id] = array('part_num' => $part->num, 'part_name' => $part->name, 'part_return_date' => $part->return_date ? date('Y-m-d', strtotime($part->return_date)) : '', 'procs' => array());
         // processes
         foreach ($procs as $proc) {
             $group[$prod->id]['parts'][$part->id]['procs'][] = array('proc_priority' => $proc->priority, 'proc_name' => $proc->name, 'proc_staffs' => get_proc_all_staffs($proc), 'proc_count' => $proc->count, 'proc_count_done' => $proc->count_done, 'proc_takt_time' => $proc->takt_time, 'proc_preparation_time' => $proc->preparation_time, 'proc_time' => get_proc_time($proc), 'proc_completion_date' => $proc->completion_date ? date('Y-m-d', strtotime($proc->completion_date)) : '');
         }
     }
     render_with_layout('misc.php', 'Statistics/stat_part_info_by_reutrn_date.php', compact('group'));
 }
Пример #2
0
 function search_accurate_part($part_num = '')
 {
     $results = array();
     $app = get_app();
     // 指令号前缀转换
     if (preg_match("/^([a-zA-Z]{1,2})(.*)\$/", $part_num, $matches)) {
         if (count($matches) == 3) {
             $part_num = transform_num_prefix($matches[1], $matches[0]);
         }
     }
     $part = Part::find('first', array('conditions' => array(' num = ? ', $part_num)));
     // app view fetch
     if ($part) {
         $procs = $part->processes;
         $part_id = $part->id;
         $results['is_success'] = true;
         $results['html'] = $app->view->fetch('Processes/list.php', compact('procs', 'part_id'));
         $results['nodes'] = \Controller\Search::search_accurate_part_get_nodes($part);
     }
     echo json_encode($results);
 }
Пример #3
0
 function done_but_empty_return_date()
 {
     $parts = Part::find('all', array('conditions' => array(" is_done = 1 AND return_date=0 ")));
     $results = array();
     foreach ($parts as $part) {
         $results[] = array('num' => $part->num, 'name' => $part->name, 'count' => $part->count, 'completion_date' => $part->completion_date ? date('Y-m-d', strtotime($part->completion_date)) : '', 'work_hours' => get_total_work_hours_and_prices($part->processes)['part_work_hours']);
     }
     render_with_layout('misc.php', 'Parts/empty_return_date.php', compact('results'));
 }
Пример #4
0
 function quick_list($part_num)
 {
     //精确查询
     $results = array();
     // 指令号前缀转换
     if (preg_match("/^([a-zA-Z]{1,2})(.*)\$/", $part_num, $matches)) {
         if (count($matches) == 3) {
             $part_num = transform_num_prefix($matches[1], $matches[0]);
         }
     }
     $part = Part::find('first', array('conditions' => array(' num = ? ', $part_num)));
     if ($part) {
         $templates = \Controller\Works::quick_list_get_html($part);
         // results
         $results['is_success'] = true;
         $results['nodes'] = \Controller\Works::quick_list_get_nodes($part);
         $results['html'] = $templates['html'];
         $results['cur_proc_id'] = $templates['cur_proc_id'];
     } else {
         $results['is_success'] = false;
     }
     echo json_encode($results);
 }