コード例 #1
0
ファイル: Staffs.php プロジェクト: saintyk/yndl_2
 function edit($staff_id)
 {
     $app = get_app();
     $staff = Staff::find_by_id($staff_id);
     //GET
     if ($app->request()->isGet()) {
         render_with_layout('misc.php', 'Staffs/edit.php', compact('staff'));
     }
     //POST
     if ($app->request()->isPost()) {
         $post = $app->request()->post();
         //
         $staff->identifier = $post['identifier'];
         $staff->name = $post['name'];
         $staff->short = $post['short'];
         $staff->group_id = $post['group_id'];
         if (!$staff->is_valid()) {
             $app->flashNow('errors', $staff->errors);
             render_with_layout('misc.php', 'Staffs/add.php', compact('staff'));
         } else {
             $staff->save();
             $app->flash('success', '员工信息更新成功!');
             redirect('/staffs');
         }
     }
 }
コード例 #2
0
ファイル: Users.php プロジェクト: saintyk/yndl_2
 function edit($id)
 {
     // user_id
     $app = get_app();
     $user = User::find_by_id($id);
     // GEt
     if ($app->request()->isGet()) {
         render_with_layout('misc.php', 'Users/edit.php', compact('user'));
     }
     // POST
     if ($app->request()->isPost()) {
         $post = $app->request()->post();
         //
         $user->account = $post['account'];
         $user->username = $post['username'];
         $user->group_id = $post['group_id'];
         $user->role_id = $post['role_id'];
         //
         $password_1 = $post['password_1'];
         $password_2 = $post['password_2'];
         // 当满足两次输入密码相同 且 密码长度大于8位
         // 才更新密码
         if ($password_1 == $password_2 && strlen($password_1) >= 8) {
             $user->password = md5($password_1);
         } else {
             $app->flashNow('errors', array('用户密码必须不小于8位!'));
             render_with_layout('misc.php', 'Users/edit.php', compact('user'));
             exit;
         }
         if (!$user->is_valid()) {
             $app->flashNow('errors', $user->errrors);
             render_with_layout('misc.php', 'Users/edit.php', compact('user'));
         } else {
             $user->save();
             $app->flash('success', '用户信息更新成功!');
             redirect('/users');
         }
     }
 }
コード例 #3
0
ファイル: Urgent.php プロジェクト: saintyk/yndl_2
 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'));
 }
コード例 #4
0
ファイル: Statistics.php プロジェクト: saintyk/yndl_2
 function stat_staff_unsubmitted_work($staff_id)
 {
     $staff = Staff::find_by_id($staff_id);
     $results = Work::get_staff_unsubmitted_works($staff);
     $table_title = '操作者未交验工时明细';
     render_with_layout('misc.php', 'Statistics/work/stat_staff_unsubmitted_work.php', compact('results', 'table_title'));
 }
コード例 #5
0
ファイル: Misc.php プロジェクト: saintyk/yndl_2
 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)));
 }
コード例 #6
0
ファイル: Parts.php プロジェクト: saintyk/yndl_2
 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'));
 }
コード例 #7
0
ファイル: util.php プロジェクト: saintyk/yndl_2
function render($template, $data = array())
{
    render_with_layout('default.php', $template, $data);
}
コード例 #8
0
ファイル: route.php プロジェクト: saintyk/yndl_2
$app->map('/lib/images/upload/file/:file_id', 'check_logged', array('\\Controller\\Images', 'upload_for_file'))->via('GET', 'POST');
// Unit 工序
$app->get('/lib/units/:parent_file_id', 'check_logged', array('\\Controller\\Units', 'index'));
$app->post('/lib/units/add/:parent_file_id', 'check_logged', array('\\Controller\\Units', 'add'));
$app->post('/lib/units/edit/:unit_id', 'check_logged', array('\\Controller\\Units', 'edit'));
$app->get('/lib/units/del/:unit_id', 'check_logged', array('\\Controller\\Units', 'del'));
$app->get('/lib/units/view/:unit_id', 'check_logged', array('\\Controller\\Units', 'view'));
$app->map('/lib/images/upload/unit/:unit_id', 'check_logged', array('\\Controller\\Images', 'upload_for_unit'))->via('GET', 'POST');
// Search
$app->get('/lib/search/files/name/:file_name', 'check_logged', array('\\Controller\\Files', 'search_by_name'));
$app->get('/lib/search/files/grpahic_num/:grpahic_num', 'check_logged', array('\\Controller\\Files', 'search_by_graphic_num'));
//$app->get('/lib/files/:file_id','check_logged',array());
$app->get('/export', function () {
    $parts = array();
    $works = \Model\Work::find('all', array('conditions' => " DATE_FORMAT(  `completion_date` ,  '%Y-%m-%d' ) < DATE_FORMAT(  `check_date` ,  '%Y-%m-%d' )  "));
    foreach ($works as $work) {
        if (!isset($parts[$work->process->part->id])) {
            $parts[$work->process->part->id] = array('零件名称' => $work->process->part->name, '零件编号' => $work->process->part->num, 'procs' => array());
        }
        if (!isset($parts[$work->process->part->id]['procs'][$work->process->id])) {
            $parts[$work->process->part->id]['procs'][$work->process->id] = array('工序序号' => $work->process->priority, '工序名称' => get_proc_name($work->process->name), 'works' => array());
        }
        $parts[$work->process->part->id]['procs'][$work->process->id]['works'][] = array('操作者' => $work->staff->name);
    }
    debug($parts);
});
//
$app->get('/proc/auto_cal_planned_completion_date_form', 'check_logged', function () {
    render_with_layout('misc.php', 'Misc/auto_cal_proc_planned_completion_date_form.php');
});
$app->get('/proc/auto_cal_planned_completion_date/:start_date/:end_date', 'check_logged', array('\\Controller\\Misc', 'auto_cal_proc_planned_completion_date'));