Browse Source

admin/afterlist和admin/orderbacklist接口增加业务公司、供应商等字段

wufeng 2 years ago
parent
commit
6702323308
2 changed files with 129 additions and 86 deletions
  1. 92 59
      app/admin/controller/After.php
  2. 37 27
      app/admin/controller/Orderback.php

+ 92 - 59
app/admin/controller/After.php

@@ -106,9 +106,11 @@ class After extends Base
 
         $userCommon = new \app\admin\common\User();
         $supplier = $userCommon->handle('sInfo', ['code' => $goon['supplierNo']]);
-        if (!isset($supplier['code']) || $supplier['code'] != 0) return json_show($supplier['code'], $supplier['message'], $supplier['data']);
+//        if (!isset($supplier['code']) || $supplier['code'] != 0) return json_show($supplier['code'], $supplier['message'], $supplier['data']);
         $supplier = $supplier['data'];
 
+        $names = $userCommon->handle('getCodeAndName', ['code' => [$oder['customer_code'], $oder['supplierNo']]]);
+
 //         $supplier =Db::name("supplier")->where(["code"=>$goon['supplierNo']])->find();
 //        if($supplier==false){
 //            return error_show(1005,"未找到商品供应商数据");
@@ -155,8 +157,11 @@ class After extends Base
                 "good_code" => $oder['good_code'],
                 "good_name" => $oder['good_name'],
                 "customer_code" => $oder['customer_code'],
+                "customer_name" => $names['data'][$oder['customer_code']] ?? '',
                 "apply_id" => $rm,
                 "apply_name" => $ri,
+                'supplierNo' => $goon['supplierNo'],
+                'supplierName' => $supplier['name'],
                 "cgder" => $wsm['contactor_name'] ?? '',
                 "cgderid" => $wsm['contactor'] ?? 0,
                 "person" => $supplier['person'] ?? '',
@@ -171,6 +176,8 @@ class After extends Base
                 "remark" => '',
                 "except_code" => $param['except_code'],
                 "order_type" => $orderout['order_type'],
+                'companyNo' => $oder['supplierNo'],
+                'companyName' => $names['data'][$oder['supplierNo']] ?? '',
                 "status" => 1,
                 "is_del" => 0,
                 "addtime" => date("Y-m-d H:i:s"),
@@ -219,7 +226,6 @@ class After extends Base
     //售后申请单列表
     public function list()
     {
-
         $param = $this->request->only([
             'page' => 1,
             'size' => 10,
@@ -231,13 +237,14 @@ class After extends Base
             'orderCode' => '',
             'good_code' => '',
             'good_name' => '',
-            'customer_code' => '',
             'except_code' => '',
             'apply_name' => '',
             'start' => '',
             'end' => '',
-            'company_name' => '',
+            'company_name' => '',//部门名称
             'supplierNo' => '',
+            'customer_code' => '',
+            'companyNo' => '',
             'order_source' => '',
         ], 'post', 'trim');
 
@@ -256,12 +263,9 @@ class After extends Base
         if ($param['start'] !== "") $where[] = ['a.addtime', ">=", $param['start']];
         if ($param['end'] !== "") $where[] = ['a.addtime', "<=", $param['end']];
         if ($param['order_source'] !== "") $where[] = ['c.order_source', "=", $param['order_source']];
-        if ($param['supplierNo'] !== "") {
-            $spuCode = Db::name('good_basic')
-                ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo']])
-                ->column('spuCode');
-            $where[] = ['c.good_code', "in", $spuCode];
-        }
+        if ($param['supplierNo'] !== "") $where[] = ['a.supplierNo', "like", '%' . $param['supplierNo'] . '%'];
+        if ($param['companyNo'] !== "") $where[] = ['a.companyNo', "like", '%' . $param['companyNo'] . '%'];
+
 
         $condition = [];
 
@@ -303,7 +307,7 @@ class After extends Base
             ->where(function ($query) use ($condition) {
                 $query->whereOr($condition);
             })
-            ->field("a.*,b.return_wsm,b.contactor,b.mobile,b.addr,b.addr_code,b.post_code,b.post_company,b.post_fee,b.gys_remark,c.order_source,c.supplierNo")
+            ->field("a.*,b.return_wsm,b.contactor,b.mobile,b.addr,b.addr_code,b.post_code,b.post_company,b.post_fee,b.gys_remark,c.order_source")
             ->page($param['page'], $param['size'])
             ->order("a.addtime desc")
             ->select()
@@ -316,14 +320,14 @@ class After extends Base
         //获取客户信息
 //        $all_customer_code = array_column($list, 'customer_code');
 
-        $userCommon = new \app\admin\common\User();
-        $customer_ = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($list, 'customer_code'), array_column($list, 'supplierNo')))]);
+//        $userCommon = new \app\admin\common\User();
+//        $customer_ = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($list, 'customer_code'), array_column($list, 'supplierNo')))]);
 
         $data = [];
         foreach ($list as $value) {
 
-            $value['customer_name'] = $customer_['data'][$value['customer_code']] ?? '';
-            $value['supplierName'] = $customer_['data'][$value['supplierNo']] ?? '';
+//            $value['customer_name'] = $customer_['data'][$value['customer_code']] ?? '';
+//            $value['supplierName'] = $customer_['data'][$value['supplierNo']] ?? '';
             $value['company_name'] = $item[$value['apply_id']] ?? '';
 
             //是否具有编辑权限
@@ -359,8 +363,8 @@ class After extends Base
         $info['order_type'] = $orderinfo['order_type'];
         $info['order_source'] = $orderinfo['order_source'];
         $info['is_stock'] = $orderinfo['is_stock'];
-        $info['customer_code'] = $orderinfo['customer_code'];
-        $info['companyNo'] = $orderinfo['supplierNo'];
+//        $info['customer_code'] = $orderinfo['customer_code'];
+//        $info['companyNo'] = $orderinfo['supplierNo'];
         $info['sale_price'] = $orderinfo['sale_price'];
         $info['total_price'] = sprintf("%1\$.2f", $orderinfo['sale_price'] * $info['error_num']);
         if ($orderinfo['order_type'] == 3) {
@@ -406,9 +410,9 @@ class After extends Base
         $names = $userCommon->handle('getCodeAndName', ['code' => [
             $wsmcode['supplierNo'] ?? '',
             $wsmcode['companyNo'] ?? '',
-            $info['customer_code'],
-            $info['companyNo'],
-            $info['supplierNo'],
+//            $info['customer_code'],
+//            $info['companyNo'],
+//            $info['supplierNo'],
         ]]);
 
         if ($info['return_wsm'] != '') {
@@ -425,9 +429,9 @@ class After extends Base
 //            $customer = Db::name("business")->field('id,company,companyNo')->where(["companyNo" => $orderinfo['supplierNo']])->find();
 //        }
 
-        $info['customer_name'] = $names['data'][$info['customer_code']] ?? '';
-        $info['companyName'] = $names['data'][$info['companyNo']] ?? '';
-        $info['supplierName'] = $names['data'][$info['supplierNo']] ?? '';
+//        $info['customer_name'] = $names['data'][$info['customer_code']] ?? '';
+//        $info['companyName'] = $names['data'][$info['companyNo']] ?? '';
+//        $info['supplierName'] = $names['data'][$info['supplierNo']] ?? '';
 
         $info['can'] = $int;
 
@@ -458,11 +462,11 @@ class After extends Base
                 'returnCode',
                 'status',
                 'remark' => '',
-                'wsm_code'=>'',
-                'contactor'=>'',
-                'mobile'=>'',
-                'addr_code'=>'',
-                'addr'=>'',
+                'wsm_code' => '',
+                'contactor' => '',
+                'mobile' => '',
+                'addr_code' => '',
+                'addr' => '',
 
             ], 'post', 'trim');
 
@@ -532,7 +536,7 @@ class After extends Base
             }
 
             //当处于以下节点时,level2账号必须是供应商负责人操作,level3账号不做限制
-            if(in_array($info['status'],[9,10]) && ($this->level==2) && ($this->uid!=$info['person_id'])) return json_show(1004,'您不是供应商负责人,此时无权操作');
+            if (in_array($info['status'], [9, 10]) && ($this->level == 2) && ($this->uid != $info['person_id'])) return json_show(1004, '您不是供应商负责人,此时无权操作');
 
 //        $param['status'] = isset($this->post['status']) && $this->post['status']!=="" ? intval($this->post['status']) :"";
 //        if($param['status']===""){
@@ -633,34 +637,34 @@ class After extends Base
                     }
 
                     //维护退货地址的收货信息
-                    if($info['is_receive'] == 1 && $param['status'] == 4){
+                    if ($info['is_receive'] == 1 && $param['status'] == 4) {
 
                         $tmp = Db::name('order_returninfo')
                             ->field('id')
-                            ->where('returnCode',$param['returnCode'])
+                            ->where('returnCode', $param['returnCode'])
                             ->findOrEmpty();
 
-                        if(empty($tmp)){
+                        if (empty($tmp)) {
                             //新增
                             Db::name('order_returninfo')
                                 ->insert([
-                                    'returnCode'=>$param['returnCode'],
-                                    'return_wsm'=>$param['wsm_code'],
-                                    'contactor'=>$param['contactor'],
-                                    'mobile'=>$param['mobile'] ,
-                                    'addr'=>$param['addr'],
-                                    'addr_code'=>$param['addr_code'],
-                                    'addtime'=>$date
+                                    'returnCode' => $param['returnCode'],
+                                    'return_wsm' => $param['wsm_code'],
+                                    'contactor' => $param['contactor'],
+                                    'mobile' => $param['mobile'],
+                                    'addr' => $param['addr'],
+                                    'addr_code' => $param['addr_code'],
+                                    'addtime' => $date
                                 ]);
-                        }else{
+                        } else {
                             Db::name('order_returninfo')
-                                ->where('id',$tmp['id'])
+                                ->where('id', $tmp['id'])
                                 ->update([
-                                    'return_wsm'=>$param['wsm_code'],
-                                    'contactor'=>$param['contactor'],
-                                    'mobile'=>$param['mobile'] ,
-                                    'addr'=>$param['addr'],
-                                    'addr_code'=>$param['addr_code'],
+                                    'return_wsm' => $param['wsm_code'],
+                                    'contactor' => $param['contactor'],
+                                    'mobile' => $param['mobile'],
+                                    'addr' => $param['addr'],
+                                    'addr_code' => $param['addr_code'],
                                 ]);
                         }
                     }
@@ -1022,8 +1026,13 @@ class After extends Base
                         "post_code"=>$return_info['post_code'],
                         "post_company"=>$return_info['post_company'],
                         "customer_code"=>$info['customer_code'],
+                        "customer_name"=>$info['customer_name'],
                         "addtime"=>date("Y-m-d H:i:s"),
-                        "updatetime"=>date("Y-m-d H:i:s")
+                        "updatetime"=>date("Y-m-d H:i:s"),
+                        'supplierNo' => $info['supplierNo'],
+                        'supplierName' => $info['supplierName'],
+                        'companyNo' => $info['companyNo'],
+                        'companyName' => $info['companyName'],
                     ];
                     $back =Db::name("order_back")->insert($data,true);
                     if($back>0){
@@ -1365,9 +1374,14 @@ class After extends Base
                         "post_code" => $returninfo["post_code"],
                         "post_company" => $returninfo["post_company"],
                         "customer_code" => $info["customer_code"],
+                        "customer_name" => $info["customer_name"],
                         "status" => $info['return_tag'] == 1 ? 4 : 1, //return_tag==1退回供应商,status:4完成退货,1待验收
                         "addtime" => date("Y-m-d H:i:s"),
-                        "updatetime" => date("Y-m-d H:i:s")
+                        "updatetime" => date("Y-m-d H:i:s"),
+                        'supplierNo' => $info['supplierNo'],
+                        'supplierName' => $info['supplierName'],
+                        'companyNo' => $info['companyNo'],
+                        'companyName' => $info['companyName'],
                     ];
                     $sav = Db::name("order_back")->insert($thdata, true);
                     if ($sav) {
@@ -2834,12 +2848,15 @@ class After extends Base
             'orderCode' => '',
             'good_code' => '',
             'good_name' => '',
-            'customer_code' => '',
             'except_code' => '',
             'apply_name' => '',
             'start' => '',
             'end' => '',
-            'company_name' => '',
+            'company_name' => '',//部门名称
+            'supplierNo' => '',
+            'customer_code' => '',
+            'companyNo' => '',
+            'order_source' => '',
         ], 'post', 'trim');
 
         $val = Validate::rule(['returnCode' => 'require|array|max:10']);
@@ -2847,6 +2864,8 @@ class After extends Base
         if ($val->check($param) == false) return json_show(1004, $val->getError());
 
         $where = [['a.is_del', "=", 0], ['a.returnCode', 'in', $param['returnCode']]];
+//        if ($param['relaComNo'] !== '') $where[] = ['a.supplierNo', "=", $param['relaComNo']];
+        if ($param['returnCode'] !== '') $where[] = ['a.returnCode', "like", "%{$param['returnCode']}%"];
         if ($param['outCode'] !== '') $where[] = ['a.outCode', "like", "%{$param['outCode']}%"];
         if ($param['status'] !== '') $where[] = ['a.status', "=", $param['status']];
         if ($param['order_type'] !== "") $where[] = ['a.order_type', "=", $param['order_type']];
@@ -2858,17 +2877,25 @@ class After extends Base
         if ($param['apply_name'] != "") $where[] = ['a.apply_name', "like", "%{$param['apply_name']}%"];
         if ($param['start'] !== "") $where[] = ['a.addtime', ">=", $param['start']];
         if ($param['end'] !== "") $where[] = ['a.addtime', "<=", $param['end']];
+        if ($param['order_source'] !== "") $where[] = ['c.order_source', "=", $param['order_source']];
+        if ($param['supplierNo'] !== "") $where[] = ['a.supplierNo', "like", '%' . $param['supplierNo'] . '%'];
+        if ($param['companyNo'] !== "") $where[] = ['a.companyNo', "like", '%' . $param['companyNo'] . '%'];
         if ($param['company_name'] !== "") $where[] = ["a.apply_id", 'in', get_company_item_user_by_name($param['company_name'])];
 
-        $condition = [];
-        $hand = resign_hand_user($this->uid, 0);
-        $role = $this->checkDataShare();
-        if (!empty($role[DataGroupModel::$type_全部])) {
-            $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
-            $condition[] = ["a.person_id", "in", $hand];
-            $condition[] = ["a.apply_id", "in", $arr];
-            $condition[] = ["a.cgderid", "in", $hand];
+        //只有level2的账号过滤数据权限
+        if ($this->level == 2) {
+            $hand = resign_hand_user($this->uid, 0);
+            $role = $this->checkDataShare();
+            if (!empty($role[DataGroupModel::$type_全部])) {
+                $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
+                $condition[] = ["a.person_id", "in", $hand];
+                $condition[] = ["a.apply_id", "in", $arr];
+                $condition[] = ["a.cgderid", "in", $hand];
+            }
         }
+
+        //level3账号不允许看到库存品订单
+        if ($this->level == 3) $where[] = ['c.is_stock', '<>', 1];
 //        $condition .="a.cgderid in {$hand} or a.person_id in {$hand} or a.apply_id in ("
 //        .implode(',',$role[DataGroupModel::$type_全部]).")";
 
@@ -2890,6 +2917,7 @@ a.orderCode 订单编号,
 a.good_code 商品编号,
 a.good_name 商品名称,
 a.customer_code 客户编码,
+a.customer_name 客户名称,
 a.is_post 是否承担物流费用,
 a.is_th 供应商是否退货,
 a.return_tag 退回何处,
@@ -2908,13 +2936,18 @@ b.addr_code,
 b.post_code 快递单号,
 b.post_company 快递公司,
 b.post_fee 快递费用,
-b.gys_remark 供应商备注')
+b.gys_remark 供应商备注,
+a.supplierNo 供应商编码,
+a.supplierName 供应商名称,
+a.companyNo 业务公司编码,
+a.companyName 业务公司名称')
             ->alias('a')
             ->where($where)
             ->where(function ($query) use ($condition) {
                 $query->whereOr($condition);
             })
             ->leftJoin('order_returninfo b', 'b.returnCode=a.returnCode')
+            ->leftJoin("sale c", "c.orderCode=a.orderCode AND c.is_del=0")
             ->select()
             ->toArray();
 

+ 37 - 27
app/admin/controller/Orderback.php

@@ -71,18 +71,16 @@ class Orderback extends Base
             $where[] = ['a.addtime', "<=", $end];
         }
 
-        $order_source = $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? trim($this->post['order_source']) : "";
+        $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? trim($this->post['order_source']) : "";
         if ($order_source !== "") {
             $where[] = ['b.order_source', "=", $order_source];
         }
 
-        $supplierNo = $this->post['supplierNo'] ?? '';
-        if ($supplierNo !== '') {
-            $spuCode = Db::name('good_basic')
-                ->where(['is_del' => 0, 'supplierNo' => $supplierNo])
-                ->column('spuCode');
-            $where[] = ['b.good_code', 'in', $spuCode];
-        }
+        $supplierNo = trim($this->post['supplierNo'] ?? '');
+        if ($supplierNo !== '') $where[] = ['a.supplierNo', 'like', '%'.$supplierNo.'%'];
+
+        $companyNo = trim($this->post['companyNo'] ?? '');
+        if ($companyNo !== '') $where[] = ['a.companyNo', 'like', '%'.$companyNo.'%'];
 
         $condition = [];
 //        $role=$this->checkRole();
@@ -106,7 +104,6 @@ class Orderback extends Base
             }
         }
 
-
         //供应商账号不允许看到库存品数据
         if ($this->level == 3) $where[] = ['b.is_stock', '<>', 1];
 //        if(!empty($role['platform']) ){
@@ -129,7 +126,7 @@ class Orderback extends Base
             ->where(function ($query) use ($condition) {
                 $query->whereOr($condition);
             })
-            ->field('a.*,b.order_source,b.supplierNo')
+            ->field('a.*,b.order_source')
             ->page($page, $size)
             ->order("a.addtime desc")
             ->select()
@@ -142,7 +139,7 @@ class Orderback extends Base
             ->column("a.name,a.supplierNo", 'a.wsm_code');//b.name,b.code
 
         $userCommon = new \app\admin\common\User();
-        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($all_wsm, 'supplierNo'), array_column($list, 'customer_code'), array_column($list, 'supplierNo')))]);
+        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_column($all_wsm, 'supplierNo'))]);
 
         foreach ($list as $value) {
             $value['wsm_name'] = "";
@@ -159,14 +156,17 @@ class Orderback extends Base
                 $value['wsm_supplier'] = $names['data'][$all_wsm[$value['return_wsm']]['supplierNo']] ?? '';//isset($wsmcode['name']) ? $wsmcode['name']:"";
                 $value['wsm_supplierNo'] = $all_wsm[$value['return_wsm']]['supplierNo'];//isset($wsmcode['code']) ? $wsmcode['code']:"";
             }
-            $value['customer_name'] = '';
-            if ($value['customer_code'] != '') {
+//            $value['customer_name'] = '';
+//            if ($value['customer_code'] != '') {
 //                $customer = Db::name("customer_info")->where(['companyNo'=>$value['customer_code']])->find();
-                $value['customer_name'] = $names['data'][$value['customer_code']] ?? '';//isset($customer['companyName'])?$customer['companyName']:'';
-            }
-            $inorder = Db::name("order_backinfo")->where(['thNo' => $value['thNo'], "is_del" => 0])->select();
+//                $value['customer_name'] = $names['data'][$value['customer_code']] ?? '';//isset($customer['companyName'])?$customer['companyName']:'';
+//            }
+            $inorder = Db::name("order_backinfo")
+                ->where(['thNo' => $value['thNo'], "is_del" => 0])
+                ->select()
+                ->toArray();
             $value['child'] = empty($inorder) ? [] : $inorder;
-            $value['supplierName'] = $names['data'][$value['supplierNo']] ?? '';//isset($customer['companyName'])?$customer['companyName']:'';
+//            $value['supplierName'] = $names['data'][$value['supplierNo']] ?? '';//isset($customer['companyName'])?$customer['companyName']:'';
 
             //是否具有编辑权限
 //            $value['is_allow_update'] = 0;
@@ -198,18 +198,23 @@ class Orderback extends Base
         $info['order_type']=$orderinfo['order_type'];
         $info['order_source']=$orderinfo['order_source'];
         $info['total_price']=$orderinfo['total_price'];
-        $info['companyNo']=$orderinfo['supplierNo'];
+//        $info['companyNo']=$orderinfo['supplierNo'];
 
 //      $info['company'] = Db::name('business')
 //          ->where(['companyNo' => $orderinfo['supplierNo'], 'is_del' => 0])
 //          ->value('company','');
         $info['addr_cn']=GetAddr($info['addr_code']);
         if($orderinfo['order_type']==3){
-            $goon = Db::name("good_zixun")->where(["spuCode"=>$orderinfo['good_code'],"is_del"=>0])->find();
+            $goon = Db::name("good_zixun")
+                ->where(["spuCode"=>$orderinfo['good_code'],"is_del"=>0])
+                ->find();
             $is_stock=0;
         }else {
-            $goon = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
-                ->where(['a.skuCode' => $orderinfo['skuCode']])->find();
+            $goon = Db::name('good_platform')
+                ->alias('a')
+                ->leftJoin('good b', 'b.spuCode=a.spuCode', 'left')
+                ->where(['a.skuCode' => $orderinfo['skuCode']])
+                ->find();
             $is_stock=$goon['is_stock'];
         }
         if (empty($goon)) {
@@ -243,7 +248,7 @@ class Orderback extends Base
         $info['wsm_name']="";
         $info['wsm_supplier']='';
         $info['wsm_supplierNo']='';
-        if($info['return_wsm']!=""){
+//        if($info['return_wsm']!=""){
 //          $wsmcode = Db::name("warehouse_info")
 //              ->alias("a")
 ////              ->leftJoin("supplier b","a.supplierNo=b.code")
@@ -253,9 +258,14 @@ class Orderback extends Base
 //          $info['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
 //          $info['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
 //          $info['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
-        }
-        $inorder= Db::name("order_backinfo")->alias("a")->leftJoin("result_info b","a.error_code=b.result_code")
-            ->where(['a.thNo'=>$info['thNo'],"a.is_del"=>0])->field("a.*,b.result as error_msg")->select();
+//        }
+        $inorder= Db::name("order_backinfo")
+            ->alias("a")
+            ->leftJoin("result_info b","a.error_code=b.result_code")
+            ->where(['a.thNo'=>$info['thNo'],"a.is_del"=>0])
+            ->field("a.*,b.result as error_msg")
+            ->select()
+            ->toArray();
         $info['child']=empty($inorder)? [] : $inorder;
 
         $info['can']=$int;
@@ -270,9 +280,9 @@ class Orderback extends Base
             ->column('wi.name,wi.supplierNo', 'wi.wsm_code');
 
         $userCommon = new \app\admin\common\User();
-        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($warehouse, 'supplierNo'), [$orderinfo['supplierNo']]))]);
+        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($warehouse, 'supplierNo')))]);
 
-        $info['company'] = $names['data'][$orderinfo['supplierNo']] ?? '';
+//        $info['company'] = $names['data'][$orderinfo['supplierNo']] ?? '';
 
         $info['can_sell_wsm_name'] = isset($warehouse[$info['can_sell_wsm']]['name']) ? $warehouse[$info['can_sell_wsm']]['name'] : '';
         $info['can_sell_wsm_supplierNo'] = isset($warehouse[$info['can_sell_wsm']]['supplierNo']) ? $warehouse[$info['can_sell_wsm']]['supplierNo'] : '';