123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- <?php
- namespace app\admin\controller;
- //公司分类
- use think\facade\Db;
- use think\facade\Validate;
- class SupplierCat extends Base
- {
- //列表
- public function getList()
- {
- $param = $this->request->only(['page' => 1, 'size' => 10, 'supplier_name' => '', 'cat_name' => '', 'supplierNo' => ''], 'post', 'trim');
- $where = [['a.is_del', '=', 0]];
- if ($param['supplier_name'] != '') $where[] = ['s.name', 'like', '%' . $param['supplier_name'] . '%'];
- if ($param['cat_name'] != '') $where[] = ['c.cat_name', 'like', '%' . $param['cat_name'] . '%'];
- if ($param['supplierNo'] != '') $where[] = ['a.supplierNo', '=', $param['supplierNo']];
- $count = Db::name('supplier_cat')
- ->alias('a')
- ->leftJoin('supplier s', 's.code=a.supplierNo')
- ->leftJoin('cat c', 'c.id=a.cat_id AND c.is_del=0')
- ->where($where)
- ->count('a.id');
- $list = Db::name('supplier_cat')
- ->alias('a')
- ->field('a.id,s.name supplier_name,c.cat_name,c.level,a.status')
- ->leftJoin('supplier s', 's.code=a.supplierNo')
- ->leftJoin('cat c', 'c.id=a.cat_id AND c.is_del=0')
- ->where($where)
- ->order('a.id', 'desc')
- ->page($param['page'], $param['size'])
- ->select()
- ->toArray();
- return json_show(0, '获取列表成功', ['count' => $count, 'list' => $list]);
- }
- //添加
- public function add()
- {
- $param = $this->request->only(['supplierNo', 'cat_id'], 'post', 'trim');
- $val = Validate::rule([
- 'supplierNo|公司编码' => 'require|length:18',
- 'cat_id|分类id' => 'require|array|max:100',
- ]);
- if (!$val->check($param)) return json_show(1004, $val->getError());
- //该公司下已存在的分类id
- $exis_cat_id = Db::name('supplier_cat')
- ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo']])
- ->column('id', 'cat_id');
- $insert = [];
- $date = date('Y-m-d H:i:s');
- foreach ($param['cat_id'] as $cat_id) {
- if (!isset($exis_cat_id[$cat_id])) {
- $insert[] = [
- 'cat_id' => $cat_id,
- 'supplierNo' => $param['supplierNo'],
- 'status' => 1,
- 'is_del' => 0,
- 'addtime' => $date,
- 'updatetime' => $date,
- ];
- }
- }
- $rs = 0;
- if ($insert) $rs = Db::name('supplier_cat')->insertAll($insert);
- return $rs ? json_show(0, '添加成功') : json_show(1004, '添加失败');
- }
- //详情
- public function info()
- {
- $id = $this->request->post('id/d', 0, 'trim');
- $rs = Db::name('supplier_cat')
- ->where(['id' => $id, 'is_del' => 0])
- ->findOrEmpty();
- return json_show(0, '获取详情成功', $rs);
- }
- //编辑
- public function update()
- {
- $param = $this->request->only(['id', 'cat_id'], 'post', 'trim');
- $val = Validate::rule([
- 'id' => 'require|number|gt:0',
- 'cat_id|分类id' => 'require|number|gt:0',
- ]);
- if (!$val->check($param)) return json_show(1004, $val->getError());
- $rs = Db::name('supplier_cat')
- ->field('id,supplierNo')
- ->where(['is_del' => 0, 'id' => $param['id']])
- ->findOrEmpty();
- if (empty($rs)) return json_show(1004, '该记录不存在');
- $tmp = Db::name('supplier_cat')
- ->field('id')
- ->where(['is_del' => 0, 'supplierNo' => $rs['supplierNo'], 'cat_id' => $param['cat_id']])
- ->where('id', '<>', $param['id'])
- ->findOrEmpty();
- if (!empty($tmp)) return json_show(1004, '该分类在该公司下已存在');
- $rs = Db::name('supplier_cat')
- ->where(['is_del' => 0, 'id' => $param['id']])
- ->update([
- 'cat_id' => $param['cat_id'],
- 'updatetime' => date('Y-m-d H:i:s')
- ]);
- return $rs ? json_show(0, '修改成功') : json_show(1004, '修改失败');
- }
- //启禁用
- public function status()
- {
- $param = $this->request->only(['id', 'status'], 'post', 'trim');
- $val = Validate::rule([
- 'id' => 'require|number|gt:0',
- 'status|状态' => 'require|number|in:0,1',
- ]);
- if (!$val->check($param)) return json_show(1004, $val->getError());
- $tmp = Db::name('supplier_cat')
- ->field('id,status')
- ->where(['is_del' => 0, 'id' => $param['id']])
- ->findOrEmpty();
- if (empty($tmp)) return json_show(1004, '该记录不存在');
- if ($tmp['status'] == $param['status']) return json_show(1004, '重复操作');
- $rs = Db::name('supplier_cat')
- ->where(['is_del' => 0, 'id' => $param['id']])
- ->where('status', '<>', $param['status'])
- ->update([
- 'status' => $param['status'],
- 'updatetime' => date('Y-m-d H:i:s')
- ]);
- return $rs ? json_show(0, '操作成功') : json_show(1004, '操作失败');
- }
- //删除
- public function delete()
- {
- $id = $this->request->post('id/d', 0, 'trim');
- $rs = Db::name('supplier_cat')
- ->where(['is_del' => 0, 'id' => $id])
- ->update([
- 'is_del' => 1,
- 'updatetime' => date('Y-m-d H:i:s')
- ]);
- return $rs ? json_show(0, '删除成功') : json_show(1004, '删除失败');
- }
- }
|