cqpCow 1 year ago
parent
commit
3e731f539a
1 changed files with 22 additions and 2 deletions
  1. 22 2
      app/Service/PurchaseOrderService.php

+ 22 - 2
app/Service/PurchaseOrderService.php

@@ -290,7 +290,7 @@ class PurchaseOrderService extends Service
         }
 
         $list = $this->limit($model,'',$data);
-        $list = $this->fillListData($list);
+        $list = $this->fillListData($list,$data);
 
         return [true, $list];
     }
@@ -300,7 +300,7 @@ class PurchaseOrderService extends Service
      * @param $data
      * @return array
      */
-    public function fillListData($data){
+    public function fillListData($data,$ergs){
         if(empty($data['data'])) return $data;
 
         $depart_id = array_unique(array_column($data['data'],'depart_id'));
@@ -320,6 +320,25 @@ class PurchaseOrderService extends Service
         $supplier = Supplier::whereIn('id',array_unique(array_column($data['data'],'supplier')))
             ->pluck('title','id')
             ->toArray();
+        $product = [];
+        if(! empty($ergs['product'])){
+            $sales_p_info = PurchaseOrderInfo::where('del_time',0)
+                ->whereIn('purchase_order_id',array_column($data['data'],'id'))
+                ->get()->toArray();
+            $basic_price = BasicType::whereIn('id',array_unique(array_column($sales_p_info,'basic_type_id')))->pluck('title','id')->toArray();
+            $map = (new ProductService())->getProductDetail(array_column($sales_p_info,'product_id'));
+
+            foreach ($sales_p_info as $value){
+                $tmp = $map[$value['product_id']] ?? [];
+                $value['title'] = $tmp['title'] ?? "";
+                $value['code'] = $tmp['code'] ?? "";
+                $value['size'] = $tmp['size'] ?? "";
+                $value['unit'] = $tmp['unit'] ?? "";
+                $value['bar_code'] = $tmp['bar_code'] ?? "";
+                $value['basic_type_title'] = $basic_price[$value['basic_type_id']] ?? "";
+                $product[$value['purchase_order_id']][] = $value;
+            }
+        }
         foreach ($data['data'] as $key => $value){
             $data['data'][$key]['crt_time'] = $value['crt_time'] ? date("Y-m-d H:i:s",$value['crt_time']) : '';
             $data['data'][$key]['depart_name'] = $depart_map[$value['depart_id']] ?? '';
@@ -330,6 +349,7 @@ class PurchaseOrderService extends Service
             $data['data'][$key]['sales_order_number'] = $sales[$value['sales_order_id']] ?? '';
             $data['data'][$key]['storehouse_title'] = $storehouse[$value['storehouse_id']] ?? '';
             $data['data'][$key]['supplier_title'] = $supplier[$value['supplier']] ?? '';
+            $data['data'][$key]['product'] = $product[$value['id']] ?? [];
         }
 
         return $data;