Просмотр исходного кода

OrderTrackFilters 适配修改

ajun 5 лет назад
Родитель
Сommit
e728a36b7b
1 измененных файлов с 29 добавлено и 23 удалено
  1. 29 23
      app/Filters/OrderTrackFilters.php

+ 29 - 23
app/Filters/OrderTrackFilters.php

@@ -8,10 +8,12 @@ use App\Commodity;
 use App\Order;
 use App\OrderPackage;
 use App\OrderPackageCommodities;
+use App\Services\UserService;
 use App\Traits\ModelSearchWay;
 use App\User;
 use Illuminate\Database\Eloquent\Builder;
 use Illuminate\Http\Request;
+use Illuminate\Support\Carbon;
 use Illuminate\Support\Facades\Auth;
 
 class OrderTrackFilters
@@ -58,12 +60,11 @@ class OrderTrackFilters
     public function afterApply()
     {
         if(isset($this->params['data']))
-            $this->id($this->params['data']);
-
+            $this->id(explode(',',$this->params['data']));
 
         // 货主
         $user = Auth::user();
-        $owner_ids = $user ? app('UserService')->getPermittingOwnerIds($user) : [];
+        $owner_ids = $user ? app(UserService::class)->getPermittingOwnerIds($user) : [];
         if (isset($this->params['owner_id'])) {
             $ownerIds = explode(",", $this->params['owner_id']);
             $owner_ids = array_intersect($owner_ids, $ownerIds);
@@ -71,28 +72,28 @@ class OrderTrackFilters
         $this->ownerId($owner_ids);
     }
 
-    public function getCommodityQuery()
+    public function getCommodityQuery(): Builder
     {
         if(!$this->commodityQuery)
             $this->commodityQuery = Commodity::query()->selectRaw('id');
         return $this->commodityQuery;
     }
 
-    public function getOrderPackageCommodityQuery()
+    public function getOrderPackageCommodityQuery(): Builder
     {
         if(!$this->orderPackageCommodityQuery)
             $this->orderPackageCommodityQuery = OrderPackageCommodities::query()->selectRaw('id');
         return $this->orderPackageCommodityQuery;
     }
 
-    public function getOrderPackageQuery()
+    public function getOrderPackageQuery(): Builder
     {
         if(!$this->orderPackageQuery)
             $this->orderPackageQuery = OrderPackage::query()->selectRaw('id');
         return $this->orderPackageQuery;
     }
 
-    public function getOrderQuery()
+    public function getOrderQuery(): Builder
     {
         if(!$this->orderQuery)
             $this->orderQuery = Order::query()->selectRaw('id');
@@ -101,75 +102,80 @@ class OrderTrackFilters
 
     public function client_code($client_code)
     {
-        $this->searchWay($this->queryBuilder,$client_code,'Order_Trackings.Order_Client_Code');
+        $this->searchWay($this->queryBuilder,$client_code,'order_trackings.order_client_code');
     }
 
     public function order_client_code_wms($order_client_code_wms)
     {
-        $this->searchWay($this->queryBuilder,$order_client_code_wms,'Order_Trackings.Order_Client_Code_WMS');
+        $this->searchWay($this->queryBuilder,$order_client_code_wms,'order_trackings.order_client_code_wms');
     }
 
     public function logistic_id($logistic_id)
     {
-        $this->queryBuilder->where('Order_Trackings.Logistic_Id',$logistic_id);
+        $this->queryBuilder->where('order_trackings.logistic_id',$logistic_id);
     }
 
     public function client($client)
     {
-        $this->queryBuilder->where('Order_Trackings.Client','like',$client.'%');
+        $this->queryBuilder->where('order_trackings.client','like',$client.'%');
     }
 
     public function web_order_number($web_order_number)
     {
-        $this->queryBuilder->where('Order_Trackings.Web_Order_Number','like',$web_order_number.'%');
+        $this->searchWay($this->queryBuilder,$web_order_number,'order_trackings.web_order_number');
     }
 
     public function sku($sku)
     {
-        $this->getCommodityQuery()->selectRaw('id')->where('sku',$sku);
-        $this->getOrderPackageCommodityQuery()->selectRaw('id')->where('commodity_id',$this->getCommodityQuery());
+        $this->searchWay($this->getCommodityQuery(),$sku,'sku');
+        $this->getOrderPackageCommodityQuery()->whereIn('commodity_id',$this->getCommodityQuery());
     }
 
     public function logistic_number($logistic_number)
     {
-        $this->getOrderPackageQuery()->where('logistic_number',$logistic_number);
+        $this->searchWay($this->getOrderPackageQuery(),$logistic_number,'logistic_number');
     }
 
     public function remark($remark)
     {
-        $this->queryBuilder->where('Order_Trackings.Remark','like','%'.$remark.'%');
+        $this->queryBuilder->where('order_trackings.remark','like','%'.$remark.'%');
+        if(isset($this->params['remark_addtime'])){
+            $this->queryBuilder->where('order_trackings.created_at','>',Carbon::now()->subDays($this->params['remark_addtime']));
+        }else{
+            $this->queryBuilder->where('order_trackings.created_at','>=',Carbon::now()->subDays(15));
+        }
     }
 
     public function id($id)
     {
-        if(is_array($id))$this->queryBuilder->whereIn('Order_Trackings.Remark.id',$id);
-        $this->queryBuilder->where('Order_Trackings.Remark.id',$id);
+        if(is_array($id))$this->queryBuilder->whereIn('order_trackings.id',$id);
+        else $this->queryBuilder->where('order_trackings.id',$id);
     }
 
     public function ownerId($ids)
     {
-        $this->getOrderQuery()->whereIn('Orders.owner_id',$ids);
+        $this->getOrderQuery()->whereIn('orders.owner_id',$ids);
     }
 
 
     public function start_at($start_at)
     {
-        $this->queryBuilder->where('Order_Trackings.Pick_Up_At','>=',$start_at.' 00:00:00');
+        $this->queryBuilder->where('order_trackings.pick_up_at','>=',$start_at.' 00:00:00');
     }
 
     public function end_at($end_at)
     {
-        $this->queryBuilder->where('Order_Trackings.Pick_Up_At','<=',$end_at.' 23:59:59');
+        $this->queryBuilder->where('order_trackings.pick_up_at','<=',$end_at.' 23:59:59');
     }
 
     public function start_planning_sent_at($start_planning_sent_at)
     {
-        $this->queryBuilder->where('Order_Trackings.Planning_Sent_At','>=',$start_planning_sent_at.' 00:00:00');
+        $this->queryBuilder->where('order_trackings.planning_sent_at','>=',$start_planning_sent_at.' 00:00:00');
     }
 
     public function end_planning_sent_at($end_planning_sent_at)
     {
-        $this->queryBuilder->where('Order_Trackings.Planning_Sent_At','<=',$end_planning_sent_at.' 23:59:59');
+        $this->queryBuilder->where('order_trackings.planning_sent_at','<=',$end_planning_sent_at.' 23:59:59');
     }
 
     public function beforeApply()