liuhairui 3 недель назад
Родитель
Сommit
43ded18a89

+ 11 - 2
application/api/controller/PartLib.php

@@ -57,11 +57,20 @@ class PartLib extends Api
         if (empty($pages)){
             $pages = 1;
         }
-        $list =  Db::name('产品_部件库')->whereNull('mod_rq')->where($where)->page($pages)->limit($limit)->order('id desc')->select();
+        $list =  Db::name('产品_部件库')
+            ->field('
+            id,
+            part_code as 部件编码,
+            part_name as 部件名称,
+            sys_id,
+            sys_rq as 创建时间,
+            updatetime as 修改时间
+            ')
+            ->whereNull('mod_rq')->where($where)->page($pages)->limit($limit)->order('id desc')->select();
         $total = Db::name('产品_部件库')->whereNull('mod_rq')->where($where)->count();
         $data['list'] = $list;
         $data['total'] = $total;
-        $this->success('获取工艺库列表',$data);
+        $this->success('获取成功',$data);
     }
 
     /**

+ 17 - 2
application/api/controller/ProcessLib.php

@@ -77,6 +77,9 @@ class ProcessLib extends Api
         if (!empty($params['search'])){
             $where['gy_code|gy_name|big_process'] = array('like','%'.$params['search'].'%');
         }
+        if (!empty($params['code'])){
+            $where['big_process'] = array('like','%'.$params['code'].'%');
+        }
 
         $limit = $params['limit'];
         if (empty($limit)){
@@ -86,11 +89,23 @@ class ProcessLib extends Api
         if (empty($pages)){
             $pages = 1;
         }
-        $list =  Db::name('产品_工艺库')->whereNull('mod_rq')->where($where)->page($pages)->limit($limit)->order('id desc')->select();
+        $list =  Db::name('产品_工艺库')
+            ->field('
+                id,
+                gy_code as 工艺编码,
+                gy_name as 工艺名称,
+                big_process as 生产工序,
+                standard_hour as 标准工时,
+                standard_score as 标准工分,
+                sys_id,
+                createtime as 创建时间,
+                updatetime as 修改时间
+            ')
+            ->whereNull('mod_rq')->where($where)->page($pages)->limit($limit)->order('id desc')->select();
         $total = Db::name('产品_工艺库')->whereNull('mod_rq')->where($where)->count();
         $data['list'] = $list;
         $data['total'] = $total;
-        $this->success('获取工艺库列表',$data);
+        $this->success('获取成功',$data);
     }
 
     /**

+ 216 - 15
application/api/controller/Staff.php

@@ -81,7 +81,7 @@ class Staff extends Api
             $where['staff_no|staff_name'] = array('like','%'.$params['search'].'%');
         }
         if (!empty($params['department_code'])){
-            $where['team_name|big_process|dept_name'] = $params['department_code'];
+            $where['big_process|dept_name'] = $params['department_code'];
         }
 
         $limit = $params['limit'];
@@ -98,10 +98,7 @@ class Staff extends Api
                 staff_no as 员工编号,
                 staff_name as 员工姓名,
                 gender as 性别,
-                team_id,
-                team_name as 所在小组,
                 big_process as 生产工序,
-                position as 职称职务,
                 dept_name as 所在部门,
                 status as 状态,
                 sys_rq as 创建日期,
@@ -139,10 +136,7 @@ class Staff extends Api
                 staff_no as 员工编号,
                 staff_name as 员工姓名,
                 gender as 性别,
-                team_id,
-                team_name as 所在小组,
                 big_process as 生产工序,
-                position as 职称职务,
                 dept_name as 所在部门,
                 status as 状态,
                 sys_rq as 创建日期,
@@ -181,9 +175,6 @@ class Staff extends Api
         $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');
@@ -244,9 +235,6 @@ class Staff extends Api
         $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'];
@@ -287,16 +275,229 @@ class Staff extends Api
      * 获取设备编组
      */
     public function GetDeviceNameList(){
-        if (Request::instance()->isGet() == false){
+        if (!Request::instance()->isGet()){
             $this->error('非法请求');
         }
+
+        // 定义需要过滤、不返回给前端的设备编组
+        $filterGroups = [
+            '自动裁床01组',
+            '自动裁床02组',
+            '模板机01组',
+            '模板机02组',
+            '上袖机01组',
+            '上袖机02组',
+            '裁床1',
+            '裁床2',
+            '模版机'
+        ];
+
         $list = Db::name('设备_基本资料')
             ->field('UniqId,设备编组,生产工序,工序')
-            ->where('设备名称','1')
+            ->where('设备名称', 1)
             ->whereNull('mod_rq')
+            ->whereNotIn('设备编组', $filterGroups) // 过滤不想要的数据
             ->group('设备编组')
             ->order('工序,UniqId asc')
             ->select();
+
         $this->success('获取设备编组成功', $list);
     }
+
+    /**
+     * 获取小组及人员列表
+     * 支持按工序/小组名称搜索,返回每个小组下的成员信息
+     */
+    public function GetTeamStaffList()
+    {
+        if (Request::instance()->isGet() == false){
+            $this->error('非法请求');
+        }
+        $params = Request::instance()->param();
+
+        $where = [];
+        if (!empty($params['search'])){
+            $where['a.team_name|a.big_process'] = array('like','%'.$params['search'].'%');
+        }
+
+        $list = Db::name('人员_小组资料')->alias('a')
+            ->field('
+                b.staff_no as 员工编号,
+                b.staff_name as 员工姓名,
+                a.*
+            ')
+            ->join('人员_基本资料 b', 'a.staff_no = b.staff_no')
+            ->where($where)
+            ->whereNull('a.mod_rq')
+            ->whereNull('b.mod_rq')
+            ->order('a.id asc')
+            ->select();
+
+        // 整理成"小组+成员"的树形结构
+        $result = [];
+        foreach ($list as $item) {
+            $teamId = $item['team_id'];
+            if (!isset($result[$teamId])) {
+                $result[$teamId] = [
+                    '小组ID' => $teamId,
+                    '小组名称' => $item['team_name'],
+                    '生产工序' => $item['big_process'],
+                    'staff_list' => []
+                ];
+            }
+            // 添加成员信息
+            $result[$teamId]['staff_list'][] = [
+                'id' => $item['id'],
+                '员工编号' => $item['员工编号'],
+                '员工姓名' => $item['员工姓名'],
+                '职位' => $item['position']
+            ];
+        }
+
+        // 转为索引数组返回
+        $data = array_values($result);
+        $this->success('获取成功', $data);
+    }
+
+    /**
+     * 新增小组人员
+     */
+    public function AddTeamStaff()
+    {
+        if (!Request::instance()->isPost()) {
+            $this->error('非法请求');
+        }
+
+        $params = Request::instance()->param();
+
+        // 1. 校验员工是否存在
+        $staffInfo = Db::name('人员_基本资料')
+            ->where('staff_no', $params['staff_no'])
+            ->whereNull('mod_rq')
+            ->find();
+        if (!$staffInfo) {
+            $this->error('员工不存在或已删除');
+        }
+
+        // 2. 校验该员工是否已在小组中
+        $exist = Db::name('人员_小组资料')
+            ->where('staff_no', $params['staff_no'])
+            ->whereNull('mod_rq')
+            ->find();
+        if ($exist) {
+            $this->error('该员工已在其他小组中');
+        }
+
+        // 3. 组装数据
+        $data = [
+            'big_process' => $params['big_process'],
+            'team_id' => $params['team_id'],
+            'team_name' => $params['team_name'],
+            'staff_no' => $params['staff_no'],
+            'staff_name' => $params['staff_name'],
+            'position' => $params['position'],
+            'status' => 1,
+            'sys_id' => $params['sys_id'],
+            'createtime' => date('Y-m-d H:i:s')
+        ];
+
+        $res = Db::name('人员_小组资料')->insert($data);
+        if ($res) {
+            $this->success('新增成功');
+        } else {
+            $this->error('新增失败');
+        }
+    }
+
+    /**
+     * 修改小组人员
+     */
+    public function EditTeamStaff()
+    {
+        if (!Request::instance()->isPost()) {
+            $this->error('非法请求');
+        }
+
+        $params = Request::instance()->param();
+        echo "<pre>";
+        print_r($params);
+        echo "<pre>";die;
+        // 必传参数校验
+        if (empty($params['id'])) {
+            $this->error('参数不完整');
+        }
+
+        // 1. 校验该记录是否存在
+        $info = Db::name('人员_小组资料')
+            ->where('id', $params['id'])
+            ->whereNull('mod_rq')
+            ->find();
+        if (!$info) {
+            $this->error('记录不存在或已删除');
+        }
+
+        // 2. 如果修改了员工ID,校验新员工是否已在该小组中(排除自身)
+        if (!empty($params['staff_id']) && $params['staff_id'] != $info['staff_id']) {
+            $exist = Db::name('人员_小组资料')
+                ->where('team_id', $params['team_id'] ?? $info['team_id'])
+                ->where('staff_id', $params['staff_id'])
+                ->where('id', '<>', $params['id'])
+                ->whereNull('mod_rq')
+                ->find();
+            if ($exist) {
+                $this->error('该员工已在此小组中');
+            }
+        }
+
+        // 3. 组装更新数据
+        $data = [];
+        if (isset($params['big_process'])) $data['big_process'] = $params['big_process'];
+        if (isset($params['team_id'])) $data['team_id'] = $params['team_id'];
+        if (isset($params['team_name'])) $data['team_name'] = $params['team_name'];
+        if (isset($params['staff_id'])) {
+            $data['staff_id'] = $params['staff_id'];
+            // 更新员工姓名
+            $staffInfo = Db::name('人员_基本资料')->where('id', $params['staff_id'])->find();
+            if ($staffInfo) {
+                $data['staff_name'] = $staffInfo['staff_name'];
+            }
+        }
+        if (isset($params['position'])) $data['position'] = $params['position'];
+        $data['updatetime'] = date('Y-m-d H:i:s');
+
+        $res = Db::name('人员_小组资料')
+            ->where('id', $params['id'])
+            ->update($data);
+
+        if ($res !== false) {
+            $this->success('修改成功');
+        } else {
+            $this->error('修改失败');
+        }
+    }
+
+    /**
+     * 删除小组人员
+     */
+    public function DelTeamStaff()
+    {
+        if (!Request::instance()->isPost()) {
+            $this->error('非法请求');
+        }
+
+        $params = Request::instance()->param();
+
+        $res = Db::name('人员_小组资料')
+            ->where('id', $params['id'])
+            ->update([
+                'mod_rq' => date('Y-m-d H:i:s')
+            ]);
+
+        if ($res !== false) {
+            $this->success('删除成功');
+        } else {
+            $this->error('删除失败');
+        }
+    }
+
 }

+ 8 - 8
application/database.php

@@ -18,25 +18,25 @@ return [
 
     //测试环境库
 //    // 服务器地址
-//    'hostname'        => Env::get('database.hostname', '20.0.16.102'),
+//    'hostname'        => Env::get('database.hostname', '192.168.28.22'),
 //    // 数据库名
-//    'database'        => Env::get('database.database', 'dacheng_mesdb'),
+//    'database'        => Env::get('database.database', 'dacheng'),
 //    // 用户名
-//    'username'        => Env::get('database.username', 'dacheng_mesdb'),
+//    'username'        => Env::get('database.username', 'dacheng'),
 //    // 密码
-//    'password'        => Env::get('database.password', '3HWEpekbikHp4jHi'),
+//    'password'        => Env::get('database.password', 'Shck8kcw2GKwAcCG'),
 //    // 端口
 //    'hostport'        => Env::get('database.hostport', '3306'),
 
 //    //生产环境库
     // 服务器地址
-    'hostname'        => Env::get('database.hostname', '192.168.28.22'),
+    'hostname'        => Env::get('database.hostname', '20.0.16.128'),
     // 数据库名
-    'database'        => Env::get('database.database', 'dacheng'),
+    'database'        => Env::get('database.database', 'dc_mesdb'),
     // 用户名
-    'username'        => Env::get('database.username', 'dacheng'),
+    'username'        => Env::get('database.username', 'dc_mesdb'),
     // 密码
-    'password'        => Env::get('database.password', 'Shck8kcw2GKwAcCG'),
+    'password'        => Env::get('database.password', 'ifRNDGMACCRcnR8j'),
     // 端口
     'hostport'        => Env::get('database.hostport', '3306'),