cqpCow hace 9 meses
padre
commit
31753d8a2e
Se han modificado 3 ficheros con 23 adiciones y 8 borrados
  1. 17 6
      app/Service/InvoiceOrderService.php
  2. 2 2
      app/Service/SalesOrderService.php
  3. 4 0
      config/header/36.php

+ 17 - 6
app/Service/InvoiceOrderService.php

@@ -145,8 +145,9 @@ class InvoiceOrderService extends Service
         $order = $order->toArray();
         $order['storehouse_title'] = Storehouse::where('id',$order['storehouse_id'])->value('title');
         $order['state_title'] = InvoiceOrder::$name[$order['state']] ?? '';
-        $sales = SalesOrder::where('id',$order['sales_order_id'])->value('order_number');
-        $order['sales_order_number'] = $sales;
+        $sales = SalesOrder::where('id',$order['sales_order_id'])->first();
+        $order['sales_order_number'] = $sales->order_number ?? "";
+        $order['purchase_order_number'] = $sales->contact_order_no ?? "";//分社采购单
 
         $emp_map = Employee::whereIn('id',array_unique(array_merge_recursive([$order['crt_id']],[$order['send']])))
             ->pluck('emp_name','id')
@@ -249,10 +250,17 @@ class InvoiceOrderService extends Service
             $model->whereIn('send',array_unique(array_column($emp,'id')));
         }
         if(! empty($data['take'])) $model->where('take', 'LIKE', '%'.$data['take'].'%');
-        if(! empty($data['sale_order'])){
+        if(! empty($data['sale_order']) || ! empty($data['purchase_order_number'])){
+            $sale_order_number = $data['sale_order'] ?? "";
+            $purchase_order_number = $data['purchase_order_number'] ?? "";
             $model2 = SalesOrder::Clear($user,$data);
             $sale = $model2->where('del_time',0)
-                ->where('order_number', 'LIKE', '%'.$data['sale_order'].'%')
+                ->when(! empty($sale_order_number), function ($query) use ($sale_order_number) {
+                    return $query->where('order_number', 'LIKE', '%'.$sale_order_number.'%');
+                })
+                ->when(! empty($purchase_order_number), function ($query) use ($purchase_order_number) {
+                    return $query->where('contact_order_no', 'LIKE', '%'.$purchase_order_number.'%');
+                })
                 ->select('id')
                 ->get()->toArray();
             $model->whereIn('sales_order_id',array_unique(array_column($sale,'id')));
@@ -282,7 +290,8 @@ class InvoiceOrderService extends Service
                     ->pluck('emp_name','id')
                     ->toArray();
 
-        $sales = SalesOrder::whereIn('id',array_unique(array_column($data['data'],'sales_order_id')))->pluck('order_number','id')->toArray();
+        $sales = SalesOrder::whereIn('id',array_unique(array_column($data['data'],'sales_order_id')))->select('order_number','id','contact_order_no')->get()->toArray();
+        $sales = array_column($sales,null,'id');
         $storehouse = Storehouse::whereIn('id',array_unique(array_column($data['data'],'storehouse_id')))
             ->pluck('title','id')
             ->toArray();
@@ -292,7 +301,9 @@ class InvoiceOrderService extends Service
             $data['data'][$key]['crt_name'] = $emp_map[$value['crt_id']] ?? '';
             $data['data'][$key]['send_name'] = $emp_map[$value['send']] ?? '';
             $data['data'][$key]['state_title'] = InvoiceOrder::$name[$value['state']] ?? '';
-            $data['data'][$key]['sales_order_number'] = $sales[$value['sales_order_id']] ?? '';
+            $tmp = $sales[$value['sales_order_id']] ?? [];
+            $data['data'][$key]['sales_order_number'] = $tmp['order_number'] ?? '';
+            $data['data'][$key]['purchase_order_number'] = $tmp['contact_order_no'] ?? '';
             $data['data'][$key]['storehouse_title'] = $storehouse[$value['storehouse_id']] ?? '';
         }
 

+ 2 - 2
app/Service/SalesOrderService.php

@@ -733,7 +733,7 @@ class SalesOrderService extends Service
     public function salesOrderList($data,$user){
         $model = SalesOrder::Clear($user,$data);
         $model = $model->where('del_time',0)
-            ->select('id','sales_order_type','model_type','order_number','selling_price','vin_no','car_type','order_type','customer_id','sign_time','crt_id','crt_time','mark','product_total','rate','construction_time','handover_time','other_fee','discount_fee','contract_fee','pay_way','car_type','year','mileage','color','original_set','processing','state','invoice_state','plat_type','plat_order','install_method','install_position','customer_contact','is_confirm','dispatch_time_second')
+            ->select('id','sales_order_type','model_type','order_number','selling_price','vin_no','car_type','order_type','customer_id','sign_time','crt_id','crt_time','mark','product_total','rate','construction_time','handover_time','other_fee','discount_fee','contract_fee','pay_way','car_type','year','mileage','color','original_set','processing','state','invoice_state','plat_type','plat_order','install_method','install_position','customer_contact','is_confirm','dispatch_time_second','contact_order_no')
             ->orderby('id', 'desc')
             ->orderby('dispatch_time_second','desc');
 
@@ -1369,7 +1369,7 @@ class SalesOrderService extends Service
 
     public function salesOrderListsalesOrderWxList($data,$user){
         $model = SalesOrder::where('del_time',0)
-            ->select('id','sales_order_type','model_type','order_number','selling_price','vin_no','car_type','order_type','customer_id','sign_time','crt_id','crt_time','mark','product_total','rate','construction_time','handover_time','other_fee','discount_fee','contract_fee','pay_way','car_type','year','mileage','color','original_set','processing','state','invoice_state','plat_type','plat_order','install_method','install_position','customer_contact','is_confirm','dispatch_time_second')
+            ->select('id','sales_order_type','model_type','order_number','selling_price','vin_no','car_type','order_type','customer_id','sign_time','crt_id','crt_time','mark','product_total','rate','construction_time','handover_time','other_fee','discount_fee','contract_fee','pay_way','car_type','year','mileage','color','original_set','processing','state','invoice_state','plat_type','plat_order','install_method','install_position','customer_contact','is_confirm','dispatch_time_second','contact_order_no')
             ->orderby('id', 'desc')
             ->orderby('dispatch_time_second','desc');
 

+ 4 - 0
config/header/36.php

@@ -15,6 +15,10 @@ return [
         'value' => '关联单号',
     ],
     [
+        'key' => 'purchase_order_number',
+        'value' => '分社采购单号',
+    ],
+    [
         'key' => 'storehouse_title',
         'value' => '发货仓库',
     ],