wugg 2 years ago
parent
commit
e981f4ae2e
1 changed files with 15 additions and 7 deletions
  1. 15 7
      app/admin/controller/Purch.php

+ 15 - 7
app/admin/controller/Purch.php

@@ -109,8 +109,10 @@ class Purch extends Base
             $where[]=['on.orderCode',"like", '%'.$orderCode.'%'];
         }
         $role=$this->checkRole();
+        $whereor=[];
         if(!empty($role['write'])){
-            $where[]=["po.cgder_id","in",$role['write']];
+            $whereor[]=["po.cgder_id","in",$role['write']];
+            $whereor[]=["sip.personid","=",$this->uid];
         }
         $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($company_name !== "") $where[] = ["po.cgder_id", 'in', get_company_item_user_by_name($company_name)];
@@ -121,20 +123,26 @@ class Purch extends Base
         $count = Db::name("purchease_order")
             ->alias('po')
             ->leftJoin('order_num on', 'on.cgdNo=po.cgdNo')
+            ->leftJoin('supplier sip', 'sip.code=po.supplierNo')
             ->where($where)
             ->where(function ($query) use ($where) {
                 $query->whereOr([['po.order_type', '<>', 1], ['po.order_source', '=', 0]]);
-            })
-            ->count();
+            })->where(function ($query) use ($whereor) {
+                $query->whereOr($whereor);
+            })->count();
         $total = ceil($count/$size);
         $page = $page >= $total ? $total : $page;
         $list = Db::name("purchease_order")
             ->alias('po')
             ->leftJoin('order_num on','on.cgdNo=po.cgdNo')
             ->leftJoin("depart_user u", "u.uid=po.cgder_id AND u.is_del=0")
-            ->field('po.*,on.orderCode,u.itemid')
+             ->leftJoin('supplier sip', 'sip.code=po.supplierNo')
+            ->field('po.*,on.orderCode,u.itemid,sip.personid as supplier_cgderid,sip.person as supplier_cgder')
             ->where($where)
             ->where(function($query) use ($where){$query->whereOr([['po.order_type', '<>', 1],['po.order_source', '=', 0]]);})
+            ->where(function ($query) use ($whereor) {
+                $query->whereOr($whereor);
+            })
             ->page($page,$size)
             ->order("po.addtime desc")
             ->select()
@@ -151,9 +159,9 @@ class Purch extends Base
                 $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
                 $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
             }
-			$supplierCgder =Db::name("supplier")->where(["code"=>$value['supplierNo']])->findOrEmpty();
-            $value['supplier_cgderid'] = $supplierCgder['personid'] ??'';
-            $value['supplier_cgder'] = $supplierCgder['person'] ??'';
+//			$supplierCgder =Db::name("supplier")->where(["code"=>$value['supplierNo']])->findOrEmpty();
+//            $value['supplier_cgderid'] = $supplierCgder['personid'] ??'';
+//            $value['supplier_cgder'] = $supplierCgder['person'] ??'';
             if($value['order_type']==3){
                 $goon = Db::name("good_zixun")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
                 $value["speclist"]=isset($goon['specinfo'])&&$goon['specinfo']!=""? json_decode($goon['specinfo'],true):"";