success('产品_工艺资料库'); } /** * 新增产品工艺库 */ public function ProcessAdd(){ if (Request::instance()->isPost() == false){ $this->error('非法请求'); } $params = Request::instance()->param(); // 单条/多条统一处理 $insertData = []; if (isset($params['gy_name'])) { $insertData[] = $params; } else { $insertData = $params; } // ========== 自动生成 GX 编号 ========== $lastCode = \db('产品_工艺库')->order('id desc')->whereNull('mod_rq')->value('gy_code'); if ($lastCode) { $num = intval(str_replace('GX', '', $lastCode)) + 1; } else { $num = 1; // 空表从 1 开始 } // 批量生成编号 foreach ($insertData as &$item) { $item['gy_code'] = 'GX' . str_pad($num, 6, '0', STR_PAD_LEFT); $item['status'] = 1; $item['create_time'] = date('Y-m-d H:i:s'); $num++; } // echo "
";
//        print_r($insertData);
//        echo "
";die;
        $result = \db('产品_工艺库')->insertAll($insertData);

        return $result ? $this->success('新增成功') : $this->error('新增失败');
    }

    /**
     * 获取产品工艺库
     */
    public function ProcessList(){
        if (Request::instance()->isGet() == false){
            $this->error('非法请求');
        }
        $params = Request::instance()->param();
        $where = [];

        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)){
            $limit = 30;
        }
        $pages = $params['page'];
        if (empty($pages)){
            $pages = 1;
        }
        $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);
    }

    /**
     * 修改产品工艺库
     */
    public function ProcessEdit(){
        if (!Request::instance()->isPost()) {
            $this->error('非法请求');
        }

        // 获取前端传参:必须带 id
        $params = Request::instance()->param();

        // 必传参数校验
        if (empty($params['id'])) {
            $this->error('请选择要修改的数据');
        }

        // 不允许修改的字段(如果不需要可以删掉)
        unset($params['gy_code']);
        unset($params['create_time']);

        $params['updatetime'] = date('Y-m-d H:i:s');
//        echo "
";
//        print_r($params);
//        echo "
";die;
        // 执行更新
        $result = \db('产品_工艺库')
            ->where('id', $params['id'])
            ->update($params);

        if ($result !== false) {
            $this->success('修改成功');
        } else {
            $this->error('修改失败');
        }
    }

    /**
     * 删除产品工艺库(软删除,修改mod_rq=1)
     * 支持单条 / 多条删除,前端传 id 逗号分隔
     */
    public function ProcessDelete(){
        if (!Request::instance()->isPost()) {
            $this->error('非法请求');
        }

        $params = Request::instance()->param();

        // 接收前端传的 id 字符串:1,2,3
        $ids = $params['id'] ?? '';
        if (empty($ids)) {
            $this->error('请选择需要删除的数据');
        }

        // 转成数组
        $idArray = explode(',', $ids);

        $result = \db('产品_工艺库')
            ->where('id', 'in', $idArray)
            ->update(['mod_rq' => date('Y-m-d H:i:s')]);

        if ($result !== false) {
            $this->success('删除成功');
        } else {
            $this->error('删除失败');
        }
    }

}