cqpCow hace 1 año
padre
commit
ba481d39b2
Se han modificado 2 ficheros con 45 adiciones y 0 borrados
  1. 41 0
      app/Service/RangeService.php
  2. 4 0
      app/Service/SalesOrderService.php

+ 41 - 0
app/Service/RangeService.php

@@ -363,4 +363,45 @@ class RangeService extends Service
 
         return $return;
     }
+
+    //产品签订人负责人
+    public function salesOrderSearch($data){
+        $return = $return1 = $return2 = [];
+        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');
+            //单据中选择的签订人
+            $sales_order_id = 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'));
+        }
+        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');
+            //单据中选择的负责人
+            $sales_order_id = 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'));
+        }
+
+        if(! empty($data['qd']) && ! empty($data['fz'])){
+            $return = array_intersect($return1, $return2);
+        }elseif(!empty($data['qd'])){
+            $return = $return1;
+        }else{
+            $return = $return2;
+        }
+
+        return $return;
+    }
 }

+ 4 - 0
app/Service/SalesOrderService.php

@@ -616,6 +616,10 @@ class SalesOrderService extends Service
             $model->where('crt_time','>=',$return[0]);
             $model->where('crt_time','<=',$return[1]);
         }
+        if(! empty($data['qd']) || ! empty($data['fz'])){
+            $sale_order_id = (new RangeService())->salesOrderSearch($data);
+            $model->whereIn('id',$sale_order_id);
+        }
 
         $list = $this->limit($model,'',$data);
         $list = $this->fillData($list,$data);