cqpCow vor 1 Jahr
Ursprung
Commit
3fe4b61c68
1 geänderte Dateien mit 35 neuen und 3 gelöschten Zeilen
  1. 35 3
      app/Service/ReturnExchangeOrderService.php

+ 35 - 3
app/Service/ReturnExchangeOrderService.php

@@ -2,6 +2,7 @@
 
 namespace App\Service;
 
+use App\Model\Depart;
 use App\Model\Employee;
 use App\Model\ReturnExchangeOrder;
 use App\Model\ReturnExchangeOrderProductInfo;
@@ -223,12 +224,15 @@ class ReturnExchangeOrderService extends Service
 
         $order = ReturnExchangeOrder::where('id',$data['id'])
             ->where('del_time',0)
-            ->select('id','order_number','model_type','sales_order_id','difference_amount','crt_id','mark','state')
+            ->select('id','order_number','model_type','sales_order_id','difference_amount','crt_id','mark','state','crt_time')
             ->first();
         if(empty($order)) return [false, '退换货订单不存在或已被删除'];
         $order = $order->toArray();
+        $sales = SalesOrder::where('id',$order['sales_order_id'])->value('order_number');
+        $order['sales_order_number'] = $sales;
+        $order['model_type_title'] = ReturnExchangeOrder::$model_type_name[$order['model_type']] ?? "";
 
-        $order['product_one'] = $order['product_two'] = [];
+        $order['product_one'] = $order['product_two'] = $order['depart'] = $order['employee'] = [];
         $info = ReturnExchangeOrderProductInfo::where('del_time',0)
             ->where('return_exchange_id',$data['id'])
             ->select('id','return_exchange_id','product_id','product_id','number','mark','title','code','size','unit','bar_code','cost','depart_price','retail_price','return_or_exchange')
@@ -241,6 +245,34 @@ class ReturnExchangeOrderService extends Service
             }
         }
 
+        $range = ReturnExchangeOrderRange::where('del_time',0)
+            ->where('return_exchange_id',$order['id'])
+            ->select('id','return_exchange_id','depart_id','type','employee_id')
+            ->get()->toArray();
+        $emp_map = Employee::whereIn('id',array_unique(array_merge_recursive([$order['crt_id']],array_column($range,'employee_id'))))
+            ->pluck('emp_name','id')
+            ->toArray();
+        $depart_map = Depart::whereIn('id',array_unique(array_column($range,'depart_id')))
+            ->pluck('title','id')
+            ->toArray();
+        foreach ($range as $value){
+            if($value['type'] == ReturnExchangeOrderRange::type_one){
+                $tmp = [
+                    'id' => $value['depart_id'],
+                    'name' => $depart_map[$value['depart_id']],
+                ];
+                $order['depart'][] = $tmp;
+            }elseif ($value['type'] == ReturnExchangeOrderRange::type_two){
+                $tmp = [
+                    'id' => $value['employee_id'],
+                    'name' => $emp_map[$value['employee_id']] ?? '',
+                ];
+                $order['employee'][] = $tmp;
+            }
+        }
+        $order['crt_name'] = $emp_map[$order['crt_id']] ?? '';
+        $order['crt_time'] = $order['crt_time'] ? date("Y-m-d H:i:s",$order['crt_time']): '';
+
         return [true, $order];
     }
 
@@ -407,7 +439,7 @@ class ReturnExchangeOrderService extends Service
         if(empty($id)) return $product_save;
 
         $sub = ReturnExchangeOrderProductInfo::where('return_exchange_id',$id)
-            ->where('type',ReturnExchangeOrderProductInfo::type_two)
+            ->where('return_or_exchange',ReturnExchangeOrderProductInfo::type_two)
             ->where('del_time',0)
             ->get()->toArray();
         foreach ($sub as $value){