Kaynağa Gözat

两个退货工单列表接口优化

wufeng 2 yıl önce
ebeveyn
işleme
bb745c3ca7

+ 24 - 22
app/admin/controller/AfterChild.php

@@ -15,7 +15,7 @@ class AfterChild extends Base
     public function getList()
     {
 
-        $param = $this->request->only(['page' => 1, 'size' => 10, 'returnCode' => '', 'status' => '', 'orderCode' => '', 'outCode' => '', 'order_type' => '', 'supplierNo' => ''], 'post', 'trim');
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'returnCode' => '', 'status' => '', 'orderCode' => '', 'outCode' => '', 'order_type' => '', 'supplierNo' => '', 'is_authority' => 0], 'post', 'trim');
 
         $db = Db::name('order_return_child')
             ->alias('a')
@@ -31,28 +31,30 @@ class AfterChild extends Base
         if ($param['order_type'] !== '') $db->where('d.order_type', $param['order_type']);
         if ($param['supplierNo'] != '') $db->whereLike('d.supplierNo', '%' . $param['supplierNo'] . '%');
 
+        if ($param['is_authority'] == '0' && $param['returnCode'] == '' && $param['orderCode'] == '' && $param['outCode'] == '') return json_show('请选择筛选条件');
+
         //数据权限相关
-        //供应商账号,只查询该供应商下所有数据
-        if ($this->level == 3 && $param['supplierNo'] == '') return json_show(1004, '供应商账号时供应商编码不能为空');
-
-
-        //1.超管,查看全部;
-        //2.业务公司账号-申请人,初始状态只查看自己创建的;
-        //3.业务公司账号-退回仓库负责人,只查看自己负责仓库的数据;
-        //4.业务公司账号-数据共享接受人,共享给自己的数据;
-        if ($this->level == 2) {
-
-            //是否仓库负责人
-            $is_contactor = Db::name('warehouse_info')
-                ->field('id')
-                ->where(['is_del' => 0, 'contactor' => $this->uid])
-                ->findOrEmpty();
-            if (empty($is_contactor)) {
-                $role = $this->checkDataShare();
-                $hand = resign_hand_user($this->uid, 0);
-                $db->whereIn('d.apply_id', array_unique(array_merge($role[DataGroupModel::$type_全部], $hand)));
-            } else {
-                $db->where('`a`.`return_wsm_code` in ' . Db::name('warehouse_info')->field('wsm_code')->where(['is_del' => 0, 'contactor' => $this->uid])->buildSql());
+        if ($param['is_authority'] == 1) {
+            //供应商账号,只查询该供应商下所有数据
+            if ($this->level == 3 && $param['supplierNo'] == '') return json_show(1004, '供应商账号时供应商编码不能为空');
+
+            //1.超管,查看全部;
+            //2.业务公司账号-申请人,初始状态只查看自己创建的;
+            //3.业务公司账号-退回仓库负责人,只查看自己负责仓库的数据;
+            //4.业务公司账号-数据共享接受人,共享给自己的数据;
+            if ($this->level == 2) {
+                //是否仓库负责人
+                $is_contactor = Db::name('warehouse_info')
+                    ->field('id')
+                    ->where(['is_del' => 0, 'contactor' => $this->uid])
+                    ->findOrEmpty();
+                if (empty($is_contactor)) {
+                    $role = $this->checkDataShare();
+                    $hand = resign_hand_user($this->uid, 0);
+                    $db->whereIn('d.apply_id', array_unique(array_merge($role[DataGroupModel::$type_全部], $hand)));
+                } else {
+                    $db->where('`a`.`return_wsm_code` in ' . Db::name('warehouse_info')->field('wsm_code')->where(['is_del' => 0, 'contactor' => $this->uid])->buildSql());
+                }
             }
         }
 

+ 1 - 1
app/admin/controller/Reorder.php

@@ -1881,7 +1881,7 @@ class Reorder extends Base
             ->field('a.id,a.outCode,a.send_num,a.return_num,a.is_sale_return_child,b.contactor,b.mobile,b.addr_code,b.addr,"" addr_code_cn')
             ->leftJoin('order_addr b', 'b.id=a.addrid and b.is_del=0')
             ->where($where)
-            ->order(['a.addtime' => 'desc', 'a.id' => 'desc'])
+            ->order(['a.is_sale_return_child'=>'asc','a.addtime' => 'desc', 'a.id' => 'desc'])
             ->page($param['page'], $param['size'])
             ->select()
             ->toArray();

+ 39 - 34
app/admin/controller/ReorderChild.php

@@ -39,18 +39,18 @@ class ReorderChild extends Base
             ->findOrEmpty();
         if (empty($sale)) return json_show(1004, '销售单不存在');
 
-            //所有发货工单
-            $orderOutChild = Db::name('order_out_child')
-                ->where(['is_del' => 0, 'outChildCode' => array_unique(array_column($param['list'], 'outChildCode'))])
-                ->column('outCode,wsm_code,num,status', 'outChildCode');
-
-            $saleReturnAddr = Db::name('sale_returnaddr')
-                ->field('id,return_num,is_sale_return_child')
-                ->where(['is_del' => 0, 'returnCode' => $param['returnCode'], 'outCode' => $param['outCode']])
-                ->findOrEmpty();
-            if (empty($saleReturnAddr)) return json_show(1004, '该退货地址不存在');
-            if ($saleReturnAddr['is_sale_return_child'] == 1) return json_show(1004, '该退货地址不能重复设置退货工单');
-            if ($saleReturnAddr['return_num'] != array_sum(array_column($param['list'], 'return_num'))) return json_show(1004, '数量错误');
+        //所有发货工单
+        $orderOutChild = Db::name('order_out_child')
+            ->where(['is_del' => 0, 'outChildCode' => array_unique(array_column($param['list'], 'outChildCode'))])
+            ->column('outCode,wsm_code,num,status', 'outChildCode');
+
+        $saleReturnAddr = Db::name('sale_returnaddr')
+            ->field('id,return_num,is_sale_return_child')
+            ->where(['is_del' => 0, 'returnCode' => $param['returnCode'], 'outCode' => $param['outCode']])
+            ->findOrEmpty();
+        if (empty($saleReturnAddr)) return json_show(1004, '该退货地址不存在');
+        if ($saleReturnAddr['is_sale_return_child'] == 1) return json_show(1004, '该退货地址不能重复设置退货工单');
+        if ($saleReturnAddr['return_num'] != array_sum(array_column($param['list'], 'return_num'))) return json_show(1004, '数量错误');
 
 
         $val_child = Validate::rule([
@@ -133,14 +133,16 @@ class ReorderChild extends Base
     public function getList()
     {
 
+        $param = $this->request->only(['page' => 1, 'size' => 10, 'returnCode' => '', 'status' => '', 'orderCode' => '', 'outCode' => '', 'outChildCode' => '', 'saleReturnChildCode' => '', 'order_type' => '', 'supplierNo' => '', 'is_authority' => 1], 'post', 'trim');
+
+        if ($param['is_authority'] == '0' && $param['returnCode'] == '' && $param['orderCode'] == '' && $param['outCode'] == '' && $param['outChildCode'] == '' && $param['saleReturnChildCode'] == '') return json_show('请选择筛选条件');
+
         $db = Db::name('sale_return_child')
             ->alias('a')
             ->leftJoin('sale_return b', 'b.returnCode=a.returnCode and b.is_del=0')
             ->leftJoin('warehouse_info c', 'c.wsm_code=a.return_wsm_code and c.is_del=0')
             ->where('a.is_del', 0);
 
-        $param = $this->request->only(['page' => 1, 'size' => 10, 'returnCode' => '', 'status' => '', 'orderCode' => '', 'outCode' => '', 'outChildCode' => '', 'saleReturnChildCode' => '', 'order_type' => '', 'supplierNo' => ''], 'post', 'trim');
-
         if ($param['returnCode'] != '') $db->whereLike('a.returnCode', '%' . $param['returnCode'] . '%');
         if ($param['status'] !== '') $db->where('a.status', $param['status']);
         if ($param['orderCode'] != '') $db->whereLike('a.orderCode', '%' . $param['orderCode'] . '%');
@@ -150,26 +152,29 @@ class ReorderChild extends Base
         if ($param['order_type'] !== '') $db->where('b.order_type', $param['order_type']);
         if ($param['supplierNo'] != '') $db->whereLike('b.supplierNo', '%' . $param['supplierNo'] . '%');
 
-        //供应商账号,只查询该供应商下所有数据
-        if ($this->level == 3 && $param['supplierNo'] == '') return json_show(1004, '供应商账号时供应商编码不能为空');
-
-        //1.超管,查看全部;
-        //2.业务公司账号-申请人,初始状态只查看自己创建的;
-        //3.业务公司账号-退回仓库负责人,只查看自己负责仓库的数据;
-        //4.业务公司账号-数据共享接受人,共享给自己的数据;
-        if ($this->level == 2) {
-
-            //是否仓库负责人
-            $is_contactor = Db::name('warehouse_info')
-                ->field('id')
-                ->where(['is_del' => 0, 'contactor' => $this->uid])
-                ->findOrEmpty();
-            if (empty($is_contactor)) {
-                $role = $this->checkDataShare();
-                $hand = resign_hand_user($this->uid, 0);
-                $db->whereIn('b.apply_id', array_unique(array_merge($role[DataGroupModel::$type_全部], $hand)));
-            } else {
-                $db->where('`a`.`return_wsm_code` in ' . Db::name('warehouse_info')->field('wsm_code')->where(['is_del' => 0, 'contactor' => $this->uid])->buildSql());
+        //启用数据权限
+        if ($param['is_authority'] == 1) {
+            //供应商账号,只查询该供应商下所有数据
+            if ($this->level == 3 && $param['supplierNo'] == '') return json_show(1004, '供应商账号时供应商编码不能为空');
+
+            //1.超管,查看全部;
+            //2.业务公司账号-申请人,初始状态只查看自己创建的;
+            //3.业务公司账号-退回仓库负责人,只查看自己负责仓库的数据;
+            //4.业务公司账号-数据共享接受人,共享给自己的数据;
+            if ($this->level == 2) {
+
+                //是否仓库负责人
+                $is_contactor = Db::name('warehouse_info')
+                    ->field('id')
+                    ->where(['is_del' => 0, 'contactor' => $this->uid])
+                    ->findOrEmpty();
+                if (empty($is_contactor)) {
+                    $role = $this->checkDataShare();
+                    $hand = resign_hand_user($this->uid, 0);
+                    $db->whereIn('b.apply_id', array_unique(array_merge($role[DataGroupModel::$type_全部], $hand)));
+                } else {
+                    $db->where('`a`.`return_wsm_code` in ' . Db::name('warehouse_info')->field('wsm_code')->where(['is_del' => 0, 'contactor' => $this->uid])->buildSql());
+                }
             }
         }