|
@@ -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){
|