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

OrderIssue 添加归档时间筛选

ajun 5 лет назад
Родитель
Сommit
bfd9f450a5
1 измененных файлов с 15 добавлено и 3 удалено
  1. 15 3
      app/Filters/OrderIssueFilters.php

+ 15 - 3
app/Filters/OrderIssueFilters.php

@@ -64,7 +64,9 @@ class OrderIssueFilters
         'finance_confirm',
         'logistic_number_return',
         'final_status',
-        'user_owner_group_id'
+        'user_owner_group_id',
+        'archive_at_start',
+        'archive_at_end',
     ];
     protected $array_filter;
     protected $params = [];
@@ -161,7 +163,7 @@ class OrderIssueFilters
             $ids = explode(',',$this->params['data']);
             $this->id($ids);
         }elseif(!($this->params['is_handle'] ?? false) && !($this->params['final_status'] ?? false)){
-            if(!(isset($this->params['settlement_at_start']) || isset($this->params['settlement_at_end']))) {
+            if(!(isset($this->params['settlement_at_start']) || isset($this->params['settlement_at_end']) || isset($this->params['archive_at_end']) || isset($this->params['archive_at_start']))) {
                 $this->queryBuilder->where(function ($query) {
                     $query->whereNotIn('order_issues.final_status', ['已解决', '已归档'])->orWhereNull('order_issues.final_status');
                 });
@@ -175,6 +177,7 @@ class OrderIssueFilters
         } else{
             $this->getOrderQuery()->whereIn('owner_id',$owner_ids);
         }
+
     }
 
     public function afterApply()
@@ -205,7 +208,6 @@ class OrderIssueFilters
 
         if($this->orderIssueProcessLogQuery)
             $this->queryBuilder->whereIn('order_issues.id',$this->orderIssueProcessLogQuery);
-
     }
 
     private function isSearchLike($str)
@@ -428,4 +430,14 @@ class OrderIssueFilters
         $this->queryBuilder->where('order_issues.user_owner_group_id',$user_owner_group_id);
     }
 
+    public function archive_at_start($archive_at_start)
+    {
+        $this->queryBuilder->where('order_issues.archive_at','>=',$archive_at_start.' 00:00:00');
+    }
+
+    public function archive_at_end($archive_at_end)
+    {
+        $this->queryBuilder->where('order_issues.archive_at','<=',$archive_at_end.' 23:59:59');
+    }
+
 }