| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- <?php
 
- namespace App\Scopes;
 
- use App\Model\Employee;
 
- use App\Model\SalesOrder;
 
- use App\Model\SalesOrderInfo;
 
- use App\Service\SalesOrderService;
 
- use Illuminate\Database\Eloquent\Builder;
 
- use Illuminate\Database\Eloquent\Model;
 
- use Illuminate\Database\Eloquent\Scope;
 
- class SalesOrderScope implements Scope
 
- {
 
-     public $user = [];
 
-     public $search = [];
 
-     public function __construct($user = [],$search = [])
 
-     {
 
-         $this->user = $user;
 
-         $this->search = $search;
 
-     }
 
-     public function apply(Builder $builder, Model $model)
 
-     {
 
-         if($this->user['id'] != Employee::SPECIAL_ADMIN) {
 
-             $depart_id = $this->user['depart_range'];
 
-             $user_id = $this->user['id'];
 
-             $data = $this->search;
 
-             $builder->orwhere(function ($query) use ($depart_id,$user_id,$data){
 
-                 $query->where(function ($query_sub) use ($depart_id,$user_id){
 
-                     $query_sub->whereIn('depart_id', $depart_id)
 
-                         ->orWhereIn('top_depart_id',$depart_id)
 
-                         ->orWhere('crt_id', $user_id);
 
-                 });
 
-             });
 
-         }
 
-     }
 
- }
 
 
  |