Browse Source

判断供应商是否有启用账号

wufeng 2 năm trước cách đây
mục cha
commit
4a078603f4
3 tập tin đã thay đổi với 34 bổ sung18 xóa
  1. 2 1
      app/admin/controller/Sale.php
  2. 20 17
      app/admin/controller/Supplier.php
  3. 12 0
      app/common.php

+ 2 - 1
app/admin/controller/Sale.php

@@ -3318,8 +3318,9 @@ class Sale extends Base
                 $goon = Db::name('good_platform')->field('a.id,b.cat_id')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')->where(['a.skuCode' => $value['skuCode']])->find();
             }
             $value['wsm_name'] = isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name'] : "";
-            $value['wsm_supplier'] = isset($wsmcode['name']) ? $wsmcode['name'] : "";
             $value['wsm_supplierNo'] = isset($wsmcode['code']) ? $wsmcode['code'] : "";
+            $value['wsm_supplier'] = isset($wsmcode['name']) ? $wsmcode['name'] : "";
+            $value['wsm_has_account'] = (int)isset(checkHasAccountBySupplierNos([$wsmcode['code']])[$wsmcode['code']]);
             $value['addr'] = isset($addr['addr']) ?  $addr['addr_cn'].$addr['addr'] : "";
             $value['contactor'] = isset($addr['contactor']) ? $addr['contactor'] : "";
             $value['mobile'] = isset($addr['mobile']) ? $addr['mobile'] : "";

+ 20 - 17
app/admin/controller/Supplier.php

@@ -23,26 +23,29 @@ public function __construct(App $app){
 }
 /*列表*/
 public function list(){
-    $page = isset($this->post['page']) && $this->post['page'] != "" ? intval($this->post['page']) : 1;
-    $size = isset($this->post['size']) && $this->post['size'] != "" ? intval($this->post['size']) : 10;
+
+    $param = $this->request->filter('trim')->only(['page'=>1,'size'=>10,'name'=>'','code'=>'','is_platform'=>''],'post');
+
     $where = [['is_del',"=",0]];
-    $name = isset($this->post['name']) && $this->post['name'] !== "" ? trim($this->post['name']) : "";
-    if ($name !== "") {
-        $where[] = ["name","like", "%{$name}%"];
-    }
-    $code = isset($this->post['code']) && $this->post['code'] !== "" ? trim($this->post['code']) : "";
-    if ($code !== "") {
-        $where[] = ["code","=", $code];
-    }
-    $is_platform = isset($this->post['is_platform']) && $this->post['is_platform'] !== "" ? intval($this->post['is_platform']) : "";
-    if ($is_platform !== "") {
-        $where[] = ['is_platform',"=", $is_platform];
-    }
+    if ($param['name'] !== "") $where[] = ["name","like", "%{$param['name']}%"];
+    if ($param['code'] !== "") $where[] = ["code","=", $param['code']];
+    if ($param['is_platform'] !== "") $where[] = ['is_platform',"=", $param['is_platform']];
 
     $count = Db::name("supplier")->where($where)->count();
-    $total = ceil($count/$size);
-    $page = $page >= $total ? $total : $page;
-    $list = Db::name('supplier')->where($where)->page($page,$size)->select();
+    $total = ceil($count/$param['size']);
+    $page = $param['page'] >= $total ? $total : $param['page'];
+    $list = Db::name('supplier')
+        ->where($where)
+        ->page($page, $param['size'])
+        ->select()
+        ->toArray();
+
+    //这些供应商是否有启用的账号
+    $has_account = checkHasAccountBySupplierNos(array_column($list, 'code'));
+    foreach ($list as &$value) {
+        $value['has_account'] = (int)isset($has_account[$value['code']]);
+    }
+
     return app_show(0,"获取成功",["list"=>$list,'count'=>$count]);
 }
 /*新建*/

+ 12 - 0
app/common.php

@@ -1202,4 +1202,16 @@ if (!function_exists('get_encryption_password')) {
         ];
     }
 
+}
+
+//检查供应商是否有开通账号
+if (!function_exists('checkHasAccountBySupplierNos')) {
+    function checkHasAccountBySupplierNos(array $supplierNo = []): array
+    {
+        return \app\abutment\model\SupplierRelationUser::where('is_del', \app\abutment\model\SupplierUser::$is_del_normal)
+            ->whereIn('supplierNo', $supplierNo)
+            ->where('status', \app\abutment\model\SupplierUser::$status_normal)
+            ->column('uid','supplierNo');
+
+    }
 }