liuhairui hace 3 semanas
padre
commit
1724af2778
Se han modificado 1 ficheros con 81 adiciones y 9 borrados
  1. 81 9
      application/api/controller/Staff.php

+ 81 - 9
application/api/controller/Staff.php

@@ -80,6 +80,9 @@ class Staff extends Api
         if (!empty($params['search'])){
             $where['staff_no|staff_name'] = array('like','%'.$params['search'].'%');
         }
+        if (!empty($params['department_code'])){
+            $where['team_name|big_process|dept_name'] = $params['department_code'];
+        }
 
         $limit = $params['limit'];
         if (empty($limit)){
@@ -104,7 +107,7 @@ class Staff extends Api
                 sys_rq as 创建日期,
                 sys_id as 创建人员
             ')
-            ->where($where)->page($pages)->limit($limit)->order('id asc')->whereNull('mod_rq')->select();
+            ->where($where)->page($pages)->limit($limit)->order('id desc')->whereNull('mod_rq')->select();
         $total = db('人员_基本资料')->where($where)->whereNull('mod_rq')->count();
         $data['list'] = $list;
         $data['total'] = $total;
@@ -159,10 +162,40 @@ class Staff extends Api
         if (Request::instance()->isPost() == false){
             $this->error('非法请求');
         }
+
         $params = Request::instance()->param();
-        echo "<pre>";
-        print_r($params);
-        echo "<pre>";die;
+
+        $staff_no = $params['员工编号'] ?? '';
+        if(empty($staff_no)){
+            $this->error('员工编号不能为空');
+        }
+
+        // 查询数据库是否已存在
+        $Find_list = Db::name('人员_基本资料')->where('staff_no', $staff_no)->find();
+        if($Find_list){
+            $this->error('员工编号已存在');
+        }
+
+        $data = [];
+        $data['staff_no'] = $params['员工编号'];
+        $data['staff_name'] = $params['员工姓名'];
+        $data['gender'] = $params['性别'];
+        $data['big_process'] = $params['生产工序'];
+        $data['position'] = $params['职称职务'];
+        $data['team_name'] = $params['所在小组'];
+        $data['team_id'] = $params['UniqId'];
+        $data['dept_name'] = '生产部';
+        $data['status'] = 1;
+        $data['sys_rq'] = date('Y-m-d H:i:s');
+        $data['sys_id'] = $params['sys_id'];
+
+        $res = Db::name('人员_基本资料')->insert($data);
+
+        if ($res !== false){
+            $this->success('新增成功');
+        }else{
+            $this->error('新增失败');
+        }
     }
 
 
@@ -172,16 +205,55 @@ class Staff extends Api
      *
     */
     public function PostStaffEdit(){
-        if (Request::instance()->isPost() == false){
+        if (!Request::instance()->isPost()){
             $this->error('非法请求');
         }
+
         $params = Request::instance()->param();
+
+        //必传参数校验
         if (empty($params['id'])){
             $this->error('参数不能为空');
         }
-        $staffCode = $params['id'];
-        $sql = db('人员_基本资料')->where('员工编号',$staffCode)->fetchSql(true)->whereNull('mod_rq')->update($params);
-        $res = Db::query($sql);
+        if (empty($params['员工编号'])){
+            $this->error('员工编号不能为空');
+        }
+
+        //查询员工是否存在(未删除)
+        $info = db('人员_基本资料')
+            ->where('id', $params['id'])
+            ->whereNull('mod_rq')
+            ->find();
+        if (!$info){
+            $this->error('员工不存在');
+        }
+
+        //员工编号重复判断(排除自身)
+        $exist = db('人员_基本资料')
+            ->where('staff_no', $params['员工编号'])
+            ->where('id', '<>', $params['id'])  // 排除自己
+            ->whereNull('mod_rq')
+            ->find();
+        if ($exist) {
+            $this->error('员工编号已存在');
+        }
+
+        //修改数据
+        $data = [];
+        $data['staff_no']      = $params['员工编号'];
+        $data['staff_name']    = $params['员工姓名'];
+        $data['gender']        = $params['性别'];
+        $data['big_process']   = $params['生产工序'];
+        $data['position']      = $params['职称职务'];
+        $data['team_name']     = $params['所在小组'];
+        $data['team_id']       = $params['UniqId'];
+        $data['dept_name']     = '生产部';
+        $data['updatetime']    = date('Y-m-d H:i:s');
+        $data['sys_id']        = $params['sys_id'];
+
+        $res = db('人员_基本资料')
+            ->where('id', $params['id'])
+            ->update($data);
         if ($res !== false){
             $this->success('更新成功');
         }else{
@@ -192,7 +264,7 @@ class Staff extends Api
     /**
      * 删除员工资料
      */
-    public function delete()
+    public function PostStaffDelete()
     {
         if (Request::instance()->isPost() == false){
             $this->error('非法请求');