cqpCow 1 سال پیش
والد
کامیت
eda1e204a5
1فایلهای تغییر یافته به همراه35 افزوده شده و 0 حذف شده
  1. 35 0
      app/Service/ReturnExchangeOrderService.php

+ 35 - 0
app/Service/ReturnExchangeOrderService.php

@@ -262,6 +262,12 @@ class ReturnExchangeOrderService extends Service
             $model->whereBetween('crt_time',[$return[0],$return[1]]);
         }
         if(isset($data['type'])) $model->where('type',$data['type']);
+        if(! empty($data['order'])){
+            $search = -1;
+            if(isset($data['type'])) $search = $data['type'];
+            $id = $this->getDataId($search,$user,$data);
+            $model->whereIn('data_id',$id);
+        }
 
         $list = $this->limit($model,'',$data);
         $list = $this->fillListData($list);
@@ -269,6 +275,35 @@ class ReturnExchangeOrderService extends Service
         return [true, $list];
     }
 
+    public function getDataId($search,$user,$data){
+        if($search < 0){
+            $model2 = SalesOrder::Clear($user,$data);
+            $sale = $model2->where('del_time',0)
+                ->where('order_number', 'LIKE', '%'.$data['order'].'%')
+                ->select('id')
+                ->get()->toArray();
+            $model2 = PurchaseOrder::Clear($user,$data);
+            $purchase = $model2->where('del_time',0)
+                ->where('order_number', 'LIKE', '%'.$data['order'].'%')
+                ->select('id')
+                ->get()->toArray();
+            return array_unique(array_merge_recursive(array_column($sale,'id'),array_column($purchase,'id')));
+        }elseif ($search == 0){
+            $model2 = SalesOrder::Clear($user,$data);
+            $sale = $model2->where('del_time',0)
+                ->where('order_number', 'LIKE', '%'.$data['order'].'%')
+                ->select('id')
+                ->get()->toArray();
+            return array_column($sale,'id');
+        }else{
+            $model2 = PurchaseOrder::Clear($user,$data);
+            $purchase = $model2->where('del_time',0)
+                ->where('order_number', 'LIKE', '%'.$data['order'].'%')
+                ->select('id')
+                ->get()->toArray();
+            return array_column($purchase,'id');
+        }
+    }
     public function fillListData($data){
         if(empty($data['data'])) return $data;