Browse Source

公司平台、公司分类和公司平台分类毛利

wufeng 2 years ago
parent
commit
3c12df3148

+ 34 - 25
app/admin/controller/Cat.php

@@ -17,12 +17,11 @@ class Cat extends Base
     //树状列表
     public function list()
     {
-        $param = $this->request->only(['pid' => 0, 'cat_name' => '', 'supplierNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['pid' => 0, 'cat_name' => ''], 'post', 'trim');
 
         $where = [['is_del', '=', 0], ['pid', '=', $param['pid']]];
 
         if ($param['cat_name'] !== '') $where[] = ['cat_name', 'like', '%' . $param['cat_name'] . '%'];
-        if ($param['supplierNo'] !== '') $where[] = ['supplierNo', '=', $param['supplierNo']];
 
         $data = Db::name('cat')->where($where)->cursor();
         $vmp = [];
@@ -35,10 +34,9 @@ class Cat extends Base
     //列表(含规格和创建人部门)
     public function plist()
     {
-        $param = $this->request->only(['page' => 1, 'size' => 10, 'cat_name' => '', 'pid' => '', 'status' => '', 'company_name' => '', 'supplierNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'cat_name' => '', 'pid' => '', 'status' => '', 'company_name' => ''], 'post', 'trim');
         $where = [['c.is_del', '=', 0]];
         if ($param['cat_name'] !== '') $where[] = ['c.cat_name', 'like', '%' . $param['cat_name'] . '%'];
-        if ($param['supplierNo'] !== '') $where[] = ['c.supplierNo', 'like', '%' . $param['supplierNo'] . '%'];
         if ($param['pid'] !== '') $where[] = ['c.pid', '=', $param['pid']];
         if ($param['status'] !== '') $where[] = ['c.status', '=', $param['status']];
         if ($param['company_name'] !== '') $where[] = ['c.createrid', 'in', get_company_item_user_by_name($param['company_name'])];
@@ -81,14 +79,13 @@ class Cat extends Base
     //查看所有三级分类
     public function wlist()
     {
-        $param = $this->request->only(['page' => 1, 'size' => 10, 'cat_name' => '', 'search' => '', 'pid' => '', 'status' => '', 'supplierNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'cat_name' => '', 'search' => '', 'pid' => '', 'status' => ''], 'post', 'trim');
 
         $where = [['is_del', '=', 0], ['level', '=', 3]];
         if ($param['cat_name'] !== '') $where[] = ['cat_name', 'like', '%' . $param['cat_name'] . '%'];
         if ($param['search'] !== '') $where[] = ['search', 'like', '%' . $param['search'] . '%'];
         if ($param['pid'] !== '') $where[] = ['pid', '=', $param['pid']];
         if ($param['status'] !== '') $where[] = ['status', '=', $param['status']];
-        if ($param['supplierNo'] !== '') $where[] = ['supplierNo', '=', $param['supplierNo']];
 
         $count = Db::name('cat')
             ->where($where)
@@ -110,14 +107,13 @@ class Cat extends Base
     //列表
     public function title()
     {
-        $param = $this->request->only(['cat_name' => '', 'pid' => '', 'status' => '', 'supplierNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['cat_name' => '', 'pid' => '', 'status' => '',], 'post', 'trim');
 
 
         $where = [['is_del', '=', 0]];
         if ($param['cat_name'] !== '') $where[] = ['cat_name', 'like', '%' . $param['cat_name'] . '%'];
         if ($param['pid'] !== '') $where[] = ['pid', '=', $param['pid']];
         if ($param['status'] !== '') $where[] = ['status', '=', $param['status']];
-        if ($param['supplierNo'] !== '') $where[] = ['supplierNo', '=', $param['supplierNo']];
 
         $list = Db::name('cat')
             ->where($where)
@@ -129,7 +125,7 @@ class Cat extends Base
     //列表
     public function tlist()
     {
-        $param = $this->request->only(['page' => 1, 'size' => 10, 'cat_name' => '', 'status' => '', 'creater' => '', 'start' => '', 'end' => '', 'company_name' => '', 'supplierNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'cat_name' => '', 'status' => '', 'creater' => '', 'start' => '', 'end' => '', 'company_name' => ''], 'post', 'trim');
 
 
         $where = [['c.is_del', '=', 0]];
@@ -139,7 +135,6 @@ class Cat extends Base
         if ($param['start'] !== '') $where[] = ['c.addtime', '>=', $param['start']];
         if ($param['end'] !== '') $where[] = ['c.addtime', '<=', $param['end']];
         if ($param['company_name'] !== '') $where[] = ['c.createrid', 'in', get_company_item_user_by_name($param['company_name'])];
-        if ($param['supplierNo'] !== '') $where[] = ['c.supplierNo', 'like', '%' . $param['supplierNo'] . '%'];
 
         $count = Db::name('cat')
             ->alias('c')
@@ -175,7 +170,7 @@ class Cat extends Base
     //创建
     public function create()
     {
-        $param = $this->request->only(['cat_name', 'pid', 'cat_desc' => '', 'fund_code' => '', 'specs_id', 'weight' => 0, 'status' => 0, 'ssupplierNo'], 'post', 'trim');
+        $param = $this->request->only(['cat_name', 'pid', 'cat_desc' => '', 'fund_code' => '', 'specs_id', 'weight' => 0, 'status' => 0], 'post', 'trim');
 //        $cat_name = isset($this->post['cat_name']) && $this->post['cat_name'] !== '' ? trim($this->post['cat_name']) : '';
         $val = Validate::rule([
             'cat_name|分类名称' => 'require|max:255',
@@ -183,7 +178,6 @@ class Cat extends Base
             'specs_id' => 'require|array|max:100',
             'weight|权重' => 'number|egt:0',
             'status|状态' => 'number|in:0,1',
-            'ssupplierNo|公司编码' => 'require|length:18',
         ]);
 
         if (!$val->check($param)) return json_show(1004, $val->getError());
@@ -252,7 +246,6 @@ class Cat extends Base
                 'status' => $param['status'],
                 'cat_desc' => $param['cat_desc'],
                 'fund_code' => $param['fund_code'],
-                'supplierNo' => $param['ssupplierNo'],
                 'creater' => $creater,
                 'createrid' => $createrid,
                 'is_del' => 0,
@@ -507,20 +500,36 @@ class Cat extends Base
     //详情
     public function info()
     {
-        $id = isset($this->post['id']) && $this->post['id'] !== '' ? intval($this->post['id']) : '';
-        if ($id == '') {
-            return error_show(1002, '参数id不能为空');
-        }
-        $idinfo = Db::name('cat')->where(['id' => $id])->find();
-        if ($idinfo == '') {
-            return error_show(1002, '未找到数据');
-        }
-        $info = Db::name('cat_specs')->where(['cat_id' => $idinfo['id'], 'is_del' => 0])->column('specs_id');
-        $temp = Db::name('specs')->where(['id' => $info, 'is_del' => 0])->field('id,spec_name')->select();
+//        $id = isset($this->post['id']) && $this->post['id'] !== '' ? intval($this->post['id']) : '';
+        $id = $this->request->post('id/d', 0, 'trim');
+//        if ($id == '') {
+//            return error_show(1002, '参数id不能为空');
+//        }
+//        $idinfo = Db::name('cat')->where(['id' => $id])->find();
+//        if ($idinfo == '') {
+//            return error_show(1002, '未找到数据');
+//        }
+
+        $idinfo = Db::name('cat')
+            ->where(['id' => $id])
+            ->append(['spec'])
+            ->withAttr('spec', function ($val, $da) {
+                return Db::name('cat_specs')
+                    ->alias('a')
+                    ->leftJoin('specs b', 'b.id=a.specs_id')
+                    ->where(['a.cat_id' => $da['id'], 'a.is_del' => 0])
+                    ->field('a.specs_id,b.spec_name')
+                    ->select()
+                    ->toArray();
+            })
+            ->findOrEmpty();
+
+//        $info = Db::name('cat_specs')->where(['cat_id' => $idinfo['id'], 'is_del' => 0])->column('specs_id');
+//        $temp = Db::name('specs')->where(['id' => $info, 'is_del' => 0])->field('id,spec_name')->select();
         //$idinfo['cat_id']=$info['cat_id'];
-        $idinfo['spec'] = $temp;
+//        $idinfo['spec'] = $temp;
         // $idinfo['specs_id']=$info;
-        return app_show(0, '获取成功', $idinfo);
+        return $idinfo ? json_show(0, '获取成功', $idinfo) : json_show(1002, '未找到数据');
     }
 
     //启禁用

+ 176 - 0
app/admin/controller/SupplierCat.php

@@ -0,0 +1,176 @@
+<?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, '删除失败');
+    }
+
+}

+ 176 - 0
app/admin/controller/SupplierPlatform.php

@@ -0,0 +1,176 @@
+<?php
+
+
+namespace app\admin\controller;
+
+//公司平台
+use think\facade\Db;
+use think\facade\Validate;
+
+class SupplierPlatform extends Base
+{
+
+    //列表
+    public function getList()
+    {
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'supplier_name' => '', 'platform_name' => '', 'supplierNo' => ''], 'post', 'trim');
+
+        $where = [['a.is_del', '=', 0]];
+        if ($param['supplier_name'] != '') $where[] = ['b.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['platform_name'] != '') $where[] = ['c.platform_name', 'like', '%' . $param['platform_name'] . '%'];
+        if ($param['supplierNo'] != '') $where[] = ['a.supplierNo', '=', $param['supplierNo']];
+
+        $count = Db::name('supplier_platform')
+            ->alias('a')
+            ->leftJoin('supplier b', 'b.code=a.supplierNo')
+            ->leftJoin('platform c', 'c.id=a.platform_id AND c.is_del=0')
+            ->where($where)
+            ->count('a.id');
+
+        $list = Db::name('supplier_platform')
+            ->alias('a')
+            ->field('a.id,b.name supplier_name,c.platform_name,c.platform_code,a.status')
+            ->leftJoin('supplier b', 'b.code=a.supplierNo')
+            ->leftJoin('platform c', 'c.id=a.platform_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', 'platform_id'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'supplierNo|公司编码' => 'require|length:18',
+            'platform_id|平台id' => 'require|array|max:100',
+        ]);
+
+        if (!$val->check($param)) return json_show(1004, $val->getError());
+
+        //该公司下已存在的平台id
+        $exis_platform_id = Db::name('supplier_platform')
+            ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo']])
+            ->column('id', 'platform_id');
+
+        $insert = [];
+        $date = date('Y-m-d H:i:s');
+        foreach ($param['platform_id'] as $platform_id) {
+            if (!isset($exis_platform_id[$platform_id])) {
+                $insert[] = [
+                    'platform_id' => $platform_id,
+                    'supplierNo' => $param['supplierNo'],
+                    'status' => 1,
+                    'is_del' => 0,
+                    'addtime' => $date,
+                    'updatetime' => $date,
+                ];
+            }
+
+        }
+
+        $rs = 0;
+        if ($insert) $rs = Db::name('supplier_platform')->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_platform')
+            ->where(['id' => $id, 'is_del' => 0])
+            ->findOrEmpty();
+        return json_show(0, '获取详情成功', $rs);
+    }
+
+    //编辑
+    public function update()
+    {
+        $param = $this->request->only(['id', 'platform_id'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'id' => 'require|number|gt:0',
+            'platform_id|平台id' => 'require|number|gt:0',
+        ]);
+
+        if (!$val->check($param)) return json_show(1004, $val->getError());
+
+        $rs = Db::name('supplier_platform')
+            ->field('id,supplierNo')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->findOrEmpty();
+
+        if (empty($rs)) return json_show(1004, '该记录不存在');
+
+        $tmp = Db::name('supplier_platform')
+            ->field('id')
+            ->where(['is_del' => 0, 'supplierNo' => $rs['supplierNo'], 'platform_id' => $param['platform_id']])
+            ->where('id', '<>', $param['id'])
+            ->findOrEmpty();
+        if (!empty($tmp)) return json_show(1004, '该平台在该公司下已存在');
+
+        $rs = Db::name('supplier_platform')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->update([
+                'platform_id' => $param['platform_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_platform')
+            ->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_platform')
+            ->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_platform')
+            ->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, '删除失败');
+    }
+
+}

+ 189 - 0
app/admin/controller/SupplierPlatformCatProfit.php

@@ -0,0 +1,189 @@
+<?php
+
+
+namespace app\admin\controller;
+
+//公司平台分类毛利
+use think\facade\Db;
+use think\facade\Validate;
+
+class SupplierPlatformCatProfit extends Base
+{
+
+    //列表
+    public function getList()
+    {
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'supplier_name' => '', 'supplierNo' => '', 'platform_name' => '', 'cat_name' => ''], 'post', 'trim');
+
+        $where = [['a.is_del', '=', 0]];
+        if ($param['supplier_name'] != '') $where[] = ['b.name', 'like', '%' . $param['supplier_name'] . '%'];
+        if ($param['supplierNo'] != '') $where[] = ['a.supplierNo', '=', $param['supplierNo']];
+        if ($param['platform_name'] != '') $where[] = ['d.platform_name', 'like', '%' . $param['platform_name'] . '%'];
+        if ($param['cat_name'] != '') $where[] = ['f.cat_name', 'like', '%' . $param['cat_name'] . '%'];
+
+        $count = Db::name('supplier_platform_cat_profit')
+            ->alias('a')
+            ->leftJoin('supplier b', 'b.code=a.supplierNo')
+            ->leftJoin('supplier_platform c', 'c.id=a.supplier_platform_id AND c.is_del=0')
+            ->leftJoin('platform d', 'd.id=c.platform_id AND d.is_del=0')
+            ->leftJoin('supplier_cat e', 'e.id=a.supplier_cat_id AND e.is_del=0')
+            ->leftJoin('cat f', 'f.id=e.cat_id AND f.is_del=0')
+            ->where($where)
+            ->count('a.id');
+
+        $list = Db::name('supplier_platform_cat_profit')
+            ->alias('a')
+            ->field('a.id,a.supplierNo,a.profit,a.status,a.addtime,b.name supplier_name,d.platform_name,f.cat_name')
+            ->leftJoin('supplier b', 'b.code=a.supplierNo')
+            ->leftJoin('supplier_platform c', 'c.id=a.supplier_platform_id AND c.is_del=0')
+            ->leftJoin('platform d', 'd.id=c.platform_id AND d.is_del=0')
+            ->leftJoin('supplier_cat e', 'e.id=a.supplier_cat_id AND e.is_del=0')
+            ->leftJoin('cat f', 'f.id=e.cat_id AND f.is_del=0')
+            ->where($where)
+            ->order('a.id', 'desc')
+            ->page($param['page'], $param['size'])
+            ->fetchSql()->select();halt($list);
+//            ->select()
+//            ->toArray();
+
+        return json_show(0, '获取列表成功', ['count' => $count, 'list' => $list]);
+    }
+
+    //添加
+    public function add()
+    {
+        $param = $this->request->only(['supplierNo', 'supplier_platform_id', 'supplier_cat_id', 'profit'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'supplierNo|公司编码' => 'require|length:18',
+            'supplier_platform_id|公司平台id' => 'require|number|gt:0',
+            'supplier_cat_id|公司分类id' => 'require|number|gt:0',
+            'profit|毛利' => 'require|number|between:0,100',
+        ]);
+
+        if (!$val->check($param)) return json_show(1004, $val->getError());
+
+        $tmp_sp = Db::name('supplier_platform')
+            ->field('id,status')
+            ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo'], 'id' => $param['supplier_platform_id']])
+            ->findOrEmpty();
+        if (empty($tmp_sp)) return json_show(1004, '该公司平台不存在');
+        if ($tmp_sp['status'] == 0) return json_show(1004, '该公司平台已禁用');
+
+        $tmp_sc = Db::name('supplier_cat')
+            ->field('id,status')
+            ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo'], 'id' => $param['supplier_cat_id']])
+            ->findOrEmpty();
+        if (empty($tmp_sc)) return json_show(1004, '该公司分类不存在');
+        if ($tmp_sc['status'] == 0) return json_show(1004, '该公司分类已禁用');
+
+        $tmp_spcp = Db::name('supplier_platform_cat_profit')
+            ->field('id')
+            ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo'], 'supplier_platform_id' => $param['supplier_platform_id'], 'supplier_cat_id' => $param['supplier_cat_id']])
+            ->findOrEmpty();
+        if (!empty($tmp_spcp)) return json_show(1004, '该公司平台分类的毛利已存在');
+
+        $rs = Db::name('supplier_platform_cat_profit')
+            ->insert([
+                'supplierNo' => $param['supplierNo'],
+                'supplier_platform_id' => $param['supplier_platform_id'],
+                'supplier_cat_id' => $param['supplier_cat_id'],
+                'profit' => $param['profit'],
+                'status' => 1,
+                'is_del' => 0,
+                'addtime' => date('Y-m-d H:i:s'),
+                'updatetime' => date('Y-m-d H:i:s'),
+            ]);
+
+        return $rs ? json_show(0, '添加成功') : json_show(1004, '添加失败');
+    }
+
+    //详情
+    public function info()
+    {
+        $id = $this->request->post('id/d', 0, 'trim');
+
+        $rs = Db::name('supplier_platform_cat_profit')
+            ->field(true)
+            ->where(['id' => $id, 'is_del' => 0])
+            ->findOrEmpty();
+        return json_show(0, '获取详情成功', $rs);
+    }
+
+    //修改
+    public function update()
+    {
+        $param = $this->request->only(['id', 'profit'], 'post', 'trim');
+
+        $val = Validate::rule([
+            'id' => 'require|number|gt:0',
+            'profit|毛利' => 'require|number|between:0,100',
+        ]);
+
+        if (!$val->check($param)) return json_show(1004, $val->getError());
+
+        $rs = Db::name('supplier_platform_cat_profit')
+            ->field('id')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->findOrEmpty();
+
+        if (empty($rs)) return json_show(1004, '该记录不存在');
+
+
+        $rs = Db::name('supplier_platform_cat_profit')
+            ->where(['is_del' => 0, 'id' => $param['id']])
+            ->update([
+                'profit' => $param['profit'],
+                '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_platform_cat_profit')
+            ->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_platform_cat_profit')
+            ->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_platform_cat_profit')
+            ->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, '删除失败');
+    }
+
+}

+ 23 - 1
app/admin/route/app.php

@@ -657,4 +657,26 @@ route::rule('addDataShare', 'admin/DataShare/addDataShare');//新建共享规则
 route::rule('getDataShareDetail', 'admin/DataShare/getDataShareDetail');//获取共享规则详情
 route::rule('editDataShare', 'admin/DataShare/editDataShare');//修改共享规则
 route::rule('deleteDataShare', 'admin/DataShare/deleteDataShare');//删除共享规则
-route::rule('statusDataShare', 'admin/DataShare/statusDataShare');//启/禁用共享规则
+route::rule('statusDataShare', 'admin/DataShare/statusDataShare');//启/禁用共享规则
+
+//【公司分类】
+route::rule('scList', 'admin/SupplierCat/getList');
+route::rule('scAdd', 'admin/SupplierCat/add');
+route::rule('scInfo', 'admin/SupplierCat/info');
+route::rule('scUpdate', 'admin/SupplierCat/update');
+route::rule('scStatus', 'admin/SupplierCat/status');
+route::rule('scDelete', 'admin/SupplierCat/delete');
+//【公司平台】
+route::rule('spList', 'admin/SupplierPlatform/getList');
+route::rule('spAdd', 'admin/SupplierPlatform/add');
+route::rule('spInfo', 'admin/SupplierPlatform/info');
+route::rule('spUpdate', 'admin/SupplierPlatform/update');
+route::rule('spStatus', 'admin/SupplierPlatform/status');
+route::rule('spDelete', 'admin/SupplierPlatform/delete');
+//【公司平台分类毛利】
+route::rule('spcpList', 'admin/SupplierPlatformCatProfit/getList');
+route::rule('spcpAdd', 'admin/SupplierPlatformCatProfit/add');
+route::rule('spcpInfo', 'admin/SupplierPlatformCatProfit/info');
+route::rule('spcpUpdate', 'admin/SupplierPlatformCatProfit/update');
+route::rule('spcpStatus', 'admin/SupplierPlatformCatProfit/status');
+route::rule('spcpDelete', 'admin/SupplierPlatformCatProfit/delete');