Esempio n. 1
0
 function search_by_graph_src($graph_src_id)
 {
     $nodes = array();
     $prods = Production::find('all', array('conditions' => array(' graphic_src = ?', $graph_src_id), 'limit' => 500, 'order' => 'num asc'));
     foreach ($prods as $prod) {
         $nodes[] = array('id' => $prod->id, 'name' => $prod->num . ' ' . $prod->name . ' (' . count($prod->parts) . ')', 'font' => array('color' => $prod->is_done ? 'green' : 'black'), 'isParent' => count($prod->parts) == 0 ? false : true, 'type' => 'prod', 'icon' => $prod->is_urgent && !$prod->is_done ? get_path('/webroot/css/img/diy/2_urgent.jpg', true) : get_path('/webroot/css/img/diy/2.png', true));
     }
     echo json_encode($nodes);
 }
Esempio n. 2
0
 function item_month_plan($date, $page = 1)
 {
     // 2014-06
     $limit = get_config('prod_per_page');
     $offset = $page - 1;
     $app = get_app();
     //GET
     if ($app->request()->isGet()) {
         $grps = array();
         $date = $date . '-01';
         $total_time = 0;
         $prods = Production::find('all', array('conditions' => array(' is_done = 0 AND DATE(item_month) = ? ', $date)));
         foreach ($prods as $prod) {
             $grps[$prod->id] = array('prod_num' => $prod->num, 'prod_time' => 0, 'parts' => array());
             $parts = $prod->parts;
             foreach ($parts as $part) {
                 $grps[$prod->id]['parts'][$part->id] = array('part_num' => $part->num, 'part_name' => $part->name, 'procs' => array());
                 $procs = $part->processes;
                 foreach ($procs as $proc) {
                     $proc_time = get_proc_time($proc);
                     $grps[$prod->id]['parts'][$part->id]['procs'][$proc->id] = array('proc_priority' => $proc->priority, 'proc_name' => get_proc_name($proc->name), 'proc_count' => $proc->count, 'proc_takt_time' => $proc->takt_time, 'proc_preparation_time' => $proc->preparation_time, 'proc_time' => $proc_time, '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)) : '');
                     $total_time += $proc_time;
                     $grps[$prod->id]['prod_time'] += $proc_time;
                 }
             }
         }
         render_with_layout('misc.php', 'Misc/item_month_plan.php', compact('grps', 'date', 'total_time'));
     }
     //POST
     if ($app->request()->isPost()) {
         $proc = Process::find_by_id($app->request()->post('proc_id'));
         if ($proc) {
             $proc->planned_completion_date = $app->request()->post('planned_completion_date');
             $proc->production_date = $app->request()->post('production_date');
             $proc->save();
         }
     }
 }
Esempio n. 3
0
 function outport($type)
 {
     // 工装管理员 生产安全部
     if (!has_perm(6, 1)) {
         exit;
     }
     $app = get_app();
     $type = $type == 'is_done' ? 1 : 0;
     // 查询
     $prods = Production::find('all', array('conditions' => array('is_done = ?', $type), 'order' => 'id desc'));
     // data
     $data[0] = array('指令号', '名称', '图号', '数量', '计划完工时间', '是否完工', '图纸来源', '项目来源', '联系人', '联系电话', '备注');
     foreach ($prods as $prod) {
         $data[] = array($prod->num, $prod->name, $prod->graphic_num, $prod->count, $prod->planned_completion_date ? date('Y-m-d', strtotime($prod->planned_completion_date)) : '', $type ? '是' : '否', get_prod_graphic_src($prod->graphic_src), $prod->project_src, $prod->completion_contact_person, $prod->completion_contact_phone, $prod->remark);
     }
     // xml
     $app->response->headers->set('Content-Type', 'application/vnd.ms-excel; charset=UTF-8');
     $xls = new \Excel_XML('UTF-8', true, date('Y-m-d') . '_Prod');
     $xls->addArray($data);
     $xls->generateXML(date('Y-m-d') . '_Prod');
 }