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')); }
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(); } } }