cqp 1 месяц назад
Родитель
Сommit
5371c48755
1 измененных файлов с 87 добавлено и 95 удалено
  1. 87 95
      app/Service/RangeService.php

+ 87 - 95
app/Service/RangeService.php

@@ -25,6 +25,7 @@ use App\Model\SalesOrder;
 use App\Model\SalesOrderInfo;
 use App\Model\SeeRange;
 use App\Model\SportsBag;
+use App\Model\Supplier;
 use Illuminate\Support\Facades\DB;
 
 class RangeService extends Service
@@ -241,11 +242,13 @@ class RangeService extends Service
     //获取客户可见数据
     public static function customerRange($user,$search){
         // 销售人员/负责人 3协同人  可以看见
-        $customer_id = CustomerInfo::where('del_time',0)
-           ->where('data_id',$user['id'])
-           ->whereIn('type',CustomerInfo::$see_man)
-           ->select('customer_id')->get()->toArray();
-        $return_id = array_unique(array_column($customer_id,'customer_id'));
+        $return_id = CustomerInfo::where('del_time', 0)
+            ->where('data_id', $user['id'])
+            ->whereIn('type', CustomerInfo::$see_man)
+            ->distinct()
+            ->pluck('customer_id')
+            ->all();
+
         //可见范围id
         $rang_id = Self::getRangeDataId($user,SeeRange::type_one);
         //并和
@@ -280,11 +283,11 @@ class RangeService extends Service
     //获取施工单可见数据
     public static function constructionRange($user,$search){
         //单据中选择的签订负责协同人
-        $construction_id = ConstructionInfo::where('del_time',0)
+        $return_id = ConstructionInfo::where('del_time',0)
             ->where('employee_id',$user['id'])
-            ->select('construction_id')
-            ->get()->toArray();
-        $return_id = array_unique(array_column($construction_id,'construction_id'));
+            ->distinct()
+            ->pluck('construction_id')
+            ->all();
 
         //可见范围id
         $return = Self::getRangeDataId($user,SeeRange::type_two);
@@ -294,8 +297,8 @@ class RangeService extends Service
             $id = DB::table('construction')
                 ->where('del_time',0)
                 ->where('top_depart_id',$search['top_depart_id'])
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(! in_array($value,$id)) unset($return_id[$key]);
             }
@@ -373,11 +376,10 @@ class RangeService extends Service
         if(empty($user['is_all_depart']) && ! empty($user['is_manager'])) {
             $depart = array_shift($user['rule_depart']);
             $depart_id = $depart['depart_id'] ?? 0;
-            $id = DB::table('product')
-                ->where('del_time',0)
+            $id = Product::where('del_time',0)
                 ->where('top_depart_id',$depart_id)
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(in_array($value,$id)) unset($return_id[$key]);
             }
@@ -392,11 +394,10 @@ class RangeService extends Service
         $return_id = Self::getRangeDataId($user,SeeRange::type_five);
 
         if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
-            $id = DB::table('purchase_order')
-                ->where('del_time',0)
+            $id = PurchaseOrder::where('del_time',0)
                 ->where('top_depart_id',$search['top_depart_id'])
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(! in_array($value,$id)) unset($return_id[$key]);
             }
@@ -421,11 +422,10 @@ class RangeService extends Service
         //可见范围id
         $return_id = Self::getRangeDataId($user,SeeRange::type_six);
         if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
-            $id = DB::table('return_exchange_order')
-                ->where('del_time',0)
+            $id = ReturnExchangeOrder::where('del_time',0)
                 ->where('top_depart_id',$search['top_depart_id'])
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(! in_array($value,$id)) unset($return_id[$key]);
             }
@@ -449,11 +449,11 @@ class RangeService extends Service
     public static function salesOrderRange($user,$search){
         //单据中选择的签订负责协同人
         $sales_order_id = SalesOrderInfo::where('del_time',0)
-            ->whereIn('type',SalesOrderInfo::$man)
+            ->whereIn('type', SalesOrderInfo::$man)
             ->where('data_id',$user['id'])
-            ->select('sales_order_id')
-            ->get()->toArray();
-        $sales_order_id = array_unique(array_column($sales_order_id,'sales_order_id'));
+            ->distinct()
+            ->pluck('sales_order_id')
+            ->all();
 
         $bool = ! empty($search['top_depart_id']) && ! empty($user['is_all_depart']);
         if(! $bool){
@@ -465,18 +465,16 @@ class RangeService extends Service
                 ->where('param_id', $current_top_depart_id)
                 ->where('data_type',SeeRange::type_seven)
                 ->where('type',SeeRange::data_three)
-                ->select('data_id')
-                ->get()->toArray();
-            $dispatch_company = array_column($dispatch_company,'data_id');
+                ->pluck('data_id')
+                ->all();
 
             // 找出仅在 $array1 中存在的元素
             $diff1 = array_diff($sales_order_id, $dispatch_company);
 
             $sales_order_id = SalesOrder::whereIn('id', $diff1)
                 ->where('top_depart_id',$current_top_depart_id)
-                ->select('id')
-                ->get()->toArray();
-            $sales_order_id = array_column($sales_order_id,'sales_order_id');
+                ->pluck('id')
+                ->all();
             $sales_order_id = array_merge_recursive($sales_order_id,$dispatch_company);
         }
 
@@ -485,11 +483,10 @@ class RangeService extends Service
 
         $return_id = array_unique(array_merge_recursive($sales_order_id,$return));
         if($bool){
-            $id = DB::table('sales_order')
-                ->where('del_time',0)
+            $id = SalesOrder::where('del_time',0)
                 ->where('top_depart_id',$search['top_depart_id'])
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(! in_array($value,$id)) unset($return_id[$key]);
             }
@@ -534,11 +531,10 @@ class RangeService extends Service
         $return_id = Self::getRangeDataId($user,SeeRange::type_nine);
 
         if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
-            $id = DB::table('supplier')
-                ->where('del_time',0)
+            $id = Supplier::where('del_time',0)
                 ->where('top_depart_id',$search['top_depart_id'])
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(! in_array($value,$id)) unset($return_id[$key]);
             }
@@ -553,11 +549,10 @@ class RangeService extends Service
         $return_id = Self::getRangeDataId($user,SeeRange::type_eight);
 
         if(! empty($search['top_depart_id']) && ! empty($user['is_all_depart'])){
-            $id = DB::table('sports_bag')
-                ->where('del_time',0)
+            $id = SportsBag::where('del_time',0)
                 ->where('top_depart_id',$search['top_depart_id'])
-                ->select('id')->get()->toArray();
-            $id = array_column($id,'id');
+                ->pluck('id')
+                ->all();
             foreach ($return_id as $key => $value){
                 if(! in_array($value,$id)) unset($return_id[$key]);
             }
@@ -588,28 +583,28 @@ class RangeService extends Service
         if(! empty($data['qd'])){
             $emp_id = Employee::where('del_time',0)
                 ->where('emp_name','LIKE', '%'.$data['qd'].'%')
-                ->select('id')->get()->toArray();
-            $emp_id = array_column($emp_id,'id');
+                ->pluck('id')
+                ->all();
             //单据中选择的签订人
-            $sales_order_id = SalesOrderInfo::where('del_time',0)
+            $return1 = SalesOrderInfo::where('del_time',0)
                 ->where('type',SalesOrderInfo::type_one)
                 ->whereIn('data_id',$emp_id)
-                ->select('sales_order_id')
-                ->get()->toArray();
-            $return1 = array_unique(array_column($sales_order_id,'sales_order_id'));
+                ->distinct()
+                ->pluck('sales_order_id')
+                ->all();
         }
         if(! empty($data['fz'])){
             $emp_id = Employee::where('del_time',0)
                 ->where('emp_name','LIKE', '%'.$data['fz'].'%')
-                ->select('id')->get()->toArray();
-            $emp_id = array_column($emp_id,'id');
+                ->pluck('id')
+                ->all();
             //单据中选择的负责人
-            $sales_order_id = SalesOrderInfo::where('del_time',0)
+            $return2 = SalesOrderInfo::where('del_time',0)
                 ->where('type',SalesOrderInfo::type_two)
                 ->whereIn('data_id',$emp_id)
-                ->select('sales_order_id')
-                ->get()->toArray();
-            $return2 = array_unique(array_column($sales_order_id,'sales_order_id'));
+                ->distinct()
+                ->pluck('sales_order_id')
+                ->all();
         }
 
         if(! empty($data['qd']) && ! empty($data['fz'])){
@@ -625,77 +620,73 @@ class RangeService extends Service
 
     //指派门店
     public function salesOrderZpSearch($data){
-        $return = SeeRange::where('del_time',0)
+        return SeeRange::where('del_time',0)
             ->where('param_id',$data['zp'])
             ->where('data_type',SeeRange::type_seven)
             ->where('type',SeeRange::data_three)
-            ->select('data_id')
-            ->get()->toArray();
-
-        return array_column($return,'data_id');
+            ->pluck('data_id')
+            ->all();
     }
 
     //客户创建人
     public function salesOrderCustomerCrtSearch($user,$data){
         $emp_id = Employee::where('del_time',0)
             ->where('emp_name','LIKE', '%'.$data['customer_crt_name'].'%')
-            ->select('id')->get()->toArray();
-        $emp_id = array_column($emp_id,'id');
+            ->pluck('id')
+            ->all();
 
         $model2 = Customer::Clear($user,$data);
-        $customer = $model2->where('del_time',0)
+        return $model2->where('del_time',0)
             ->whereIn('crt_id', $emp_id)
-            ->select('id')
-            ->get()->toArray();
-
-        return array_column($customer,'id');
+            ->pluck('id')
+            ->all();
     }
 
     //收付款人搜索
     public function paymentReceiptSearch($data){
         $emp_id = Employee::where('del_time',0)
             ->where('emp_name','LIKE', '%'.$data['belong'].'%')
-            ->select('id')->get()->toArray();
-        $emp_id = array_column($emp_id,'id');
+            ->pluck('id')
+            ->all();
         //单据中选择的签订人
-        $id = PaymentReceiptInfo::where('del_time',0)
+        return PaymentReceiptInfo::where('del_time',0)
             ->where('type',PaymentReceiptInfo::type_two)
             ->whereIn('data_id',$emp_id)
-            ->select('payment_receipt_id')
-            ->get()->toArray();
-        return array_unique(array_column($id,'payment_receipt_id'));
+            ->distinct()
+            ->pluck('payment_receipt_id')
+            ->all();
     }
 
     //创建人
     public function crtNameSearch($data){
-        $emp_id = Employee::where('del_time',0)
+        return Employee::where('del_time',0)
             ->where('emp_name','LIKE', '%'.$data['crt_name'].'%')
-            ->select('id')->get()->toArray();
-        return array_column($emp_id,'id');
+            ->pluck('id')
+            ->all();
     }
 
     public function crtContactSearch($data){
-        $id = CustomerInfo::where('del_time',0)
+        return CustomerInfo::where('del_time',0)
             ->where('type',CustomerInfo::type_one)
             ->where('contact_info','LIKE', '%'.$data['title_t'].'%')
-            ->select('customer_id')->get()->toArray();
-        return array_column($id,'customer_id');
+            ->pluck('customer_id')
+            ->all();
     }
 
     //负责人
     public function customerSearch($data){
         $emp_id = Employee::where('del_time',0)
             ->where('emp_name','LIKE', '%'.$data['fz'].'%')
-            ->select('id')->get()->toArray();
-        $emp_id = array_column($emp_id,'id');
+            ->pluck('id')
+            ->all();
+
         //单据中选择的负责人
-        $customer_id = CustomerInfo::where('del_time',0)
+        return CustomerInfo::where('del_time',0)
             ->where('type',CustomerInfo::type_two)
             ->whereIn('data_id',$emp_id)
-            ->select('customer_id')
-            ->get()->toArray();
-
-        return array_unique(array_column($customer_id,'customer_id'));;
+            ->distinct()
+            ->pluck('customer_id')
+            ->all();
     }
 
     //获取可见人施工单
@@ -708,7 +699,8 @@ class RangeService extends Service
             ->get()->toArray();
         $emp_map = Employee::where('del_time',0)
             ->whereIn('id',array_column($see,'employee_id'))
-            ->pluck('emp_name','id')->toArray();
+            ->pluck('emp_name','id')
+            ->all();
 
         $employee = [];
         foreach ($see as $value){
@@ -727,19 +719,19 @@ class RangeService extends Service
 
     //客户类型
     public function customerBasicTypeSearch($customer_type, $type){
-        $result = BasicType::where('del_time',0)
+        return BasicType::where('del_time',0)
             ->whereIn('type',$type)
             ->where('title', $customer_type)
-            ->select('id')->get()->toArray();
-        return array_column($result,'id');
+            ->pluck('id')
+            ->all();
     }
 
     public function customerBasicTypeAllUseSearch($customer_type, $type){
-        $result = BasicTypeAllUse::where('del_time',0)
+        return BasicTypeAllUse::where('del_time',0)
             ->whereIn('type',$type)
             ->where('title', $customer_type)
-            ->select('id')->get()->toArray();
-        return array_column($result,'id');
+            ->pluck('id')
+            ->all();
     }
 
     //全部 待审 已审核 -----------------------------------------------