Esempio n. 1
0
 function search_order_by_proc_name($start_date, $end_date)
 {
     // 按工序名称查询指定时间段内的工序
     // 投产日期非空
     $procs = Process::find('all', array('conditions' => array('DATE(`production_date`) > ? AND `is_done` = ? AND DATE(`planned_completion_date`) >= ?  AND DATE(`planned_completion_date`) <= ?', 0, 0, $start_date, $end_date), 'order' => 'name asc'));
     //debug( $procs );
     // 过滤急件,将工序对应的零件分类存储
     $results = array();
     foreach ($procs as $proc) {
         // 急件
         if ($proc->part->production->is_urgent) {
             $part = $proc->part;
             // 创建 part
             if (!isset($results[$proc->name][$part->id])) {
                 $results[$proc->name][$part->id] = array('part_num' => $part->num, 'part_name' => $part->name, 'part_count' => $part->count, 'procs' => array(array('proc_priority' => $proc->priority, 'proc_planned_completion_date' => $proc->planned_completion_date ? date('Y-m-d', strtotime($proc->planned_completion_date)) : '', 'proc_production_date' => $proc->production_date ? date('Y-m-d', strtotime($proc->production_date)) : '', 'proc_completion_date' => $proc->completion_date ? date('Y-m-d', strtotime($proc->completion_date)) : '')));
             } else {
                 // 追加 procs
                 $results[$proc->name][$part->id]['procs'][] = array('proc_priority' => $proc->priority, 'proc_planned_completion_date' => $proc->planned_completion_date ? date('Y-m-d', strtotime($proc->planned_completion_date)) : '', 'proc_production_date' => $proc->production_date ? date('Y-m-d', strtotime($proc->production_date)) : '', 'proc_completion_date' => $proc->completion_date ? date('Y-m-d', strtotime($proc->completion_date)) : '');
             }
         }
     }
     //debug( $results );
     render_with_layout('misc.php', 'Urgent/list_group_by_proc.php', compact('results'));
 }
Esempio n. 2
0
 function auto_cal_proc_planned_completion_date($start_date, $end_date)
 {
     if (!has_perm(2, 4)) {
         exit;
     }
     $procs = Process::find('all', array('conditions' => array(" is_done = ? AND ( planned_completion_date is NULL OR planned_completion_date = 0 ) AND takt_time > 0 AND production_date >= ? AND production_date <= ?", 0, $start_date, $end_date)));
     foreach ($procs as $proc) {
         $cycle = cal_proc_production_cycle($proc);
         $proc->cycle = $cycle;
         $proc->planned_completion_date = cal_proc_planned_completion_date($proc->production_date, $cycle);
         $proc->save();
     }
     render_with_layout('misc.php', 'Misc/auto_cal_proc_planned_completion_date.php', array('count' => count($procs)));
 }
Esempio n. 3
0
 function copy_procs($target_id, $ids)
 {
     $ids = explode(',', $ids);
     $part = Part::find_by_id($target_id);
     $procs = Process::find('all', array('conditions' => array('id IN (?)', $ids)));
     $nodes = array();
     foreach ($procs as $proc) {
         // 取值
         $item = array();
         $item['priority'] = 900 + $proc->priority;
         $item['name'] = $proc->name;
         $item['content'] = $proc->content;
         $item['part_id'] = $target_id;
         $item['takt_time'] = '';
         $item['preparation_time'] = '';
         $item['price'] = '';
         $item['production_date'] = '';
         //date('Y-m-d');
         $item['planned_completion_date'] = '';
         //date('Y-m-d');
         $item['remark'] = '';
         $item['is_done'] = 0;
         $item['count'] = 0;
         //$part->count;
         $item['count_done'] = 0;
         $item['user_id'] = $_SESSION['user_id'];
         // 保存节点
         $_proc = Process::create($item);
         $_proc->save();
         // 创建 ztree 节点
         $node = array();
         $node['id'] = $_proc->id;
         $node['priority'] = $_proc->priority;
         $node['name'] = $_proc->priority . '# ' . get_proc_name($_proc->name) . ' (0)';
         $node['isParent'] = false;
         $node['type'] = 'proc';
         $node['moveFirst'] = false;
         $node['icon'] = get_path('/webroot/css/img/diy/4.png', true);
         $node['is_outsourcing'] = $proc->is_outsourcing;
         // 将新增节点添加进 $nodes
         $nodes[] = $node;
     }
     echo json_encode($nodes);
 }