cqp 8 months ago
parent
commit
b3366dcf7d
1 changed files with 36 additions and 15 deletions
  1. 36 15
      app/Service/ProductService.php

+ 36 - 15
app/Service/ProductService.php

@@ -1128,7 +1128,7 @@ class ProductService extends Service
         $model = Product::ProductClear($user,$data);
         $model = $model->where('del_time',0)
             ->where('item_code','<>',"")
-            ->select('title','id','product_category_id','product_category','retail_price','product_attribute','item_code')
+            ->select('title','id','product_category_id','product_category','retail_price','product_attribute','item_code','unit','size','code','bar_code')
             ->where('is_use', Product::is_use_one)
             ->groupBy('item_code')
             ->orderby('product_attribute', 'desc');
@@ -1187,7 +1187,8 @@ class ProductService extends Service
             ->get()
             ->toArray();
         $category = array_column($category,null,'id');
-        $basic_map = BasicType::where('type',BasicType::type_22)
+        $basic_map = BasicType::whereIn('id',array_unique(array_column($data['data'], 'unit')))
+            ->OrWhere('type',BasicType::type_22)
             ->pluck('title','id')
             ->toArray();
 
@@ -1200,6 +1201,11 @@ class ProductService extends Service
 
         //当前门店
         $top_depart = $user['depart_top'][0] ?? [];
+
+        $stock = ProductInventoryOfTop::where('del_time',0)
+            ->whereIn('product_id',$product_id)
+            ->pluck('number','product_id')
+            ->toArray();
         foreach ($data['data'] as $key => $value){
             $arr = json_decode($value['product_category'], true);
             $arr = array_flip($arr);
@@ -1215,6 +1221,8 @@ class ProductService extends Service
             $category_tmp = $category[$value['product_category_id']] ?? [];
             $data['data'][$key]['product_category_name'] = $category_tmp['title'] ?? '';
             $data['data'][$key]['product_attribute_title'] = Product::$product_attribute[$value['product_attribute']] ?? "";
+            $data['data'][$key]['stock'] = $this->returnStock($stock, $value);
+            $data['data'][$key]['unit_title'] = $basic_map[$value['unit']] ?? "";
         }
 
         return $data;
@@ -1256,20 +1264,15 @@ class ProductService extends Service
             $product[$key]['img'] = $img[$value['id']] ?? "";
             $product[$key]['product_category_name'] = $category[$value['product_category_id']] ?? '';
             $product[$key]['product_attribute_title'] = Product::$product_attribute[$value['product_attribute']] ?? "";
-            if(isset($stock[$value['id']])){
-                $number = $stock[$value['id']];
-                if($number <= 0){
-                    $stock = "售罄";
-                } elseif($number <= 15){
-                    $stock = " 库存紧张";
-                }else{
-                    $stock = " 库存充足";
-                }
+            $product[$key]['stock'] = $this->returnStock($stock, $value);
+            $product[$key]['unit_title'] = $basic_map[$value['unit']] ?? "";
+            $arr = json_decode($value['product_category'], true);
+            $arr = array_flip($arr);
+            if (isset($arr[112])) {
+                $product[$key]['is_roll'] = true;
             }else{
-                $stock = "联系客服";
+                $product[$key]['is_roll'] = false;
             }
-            $product[$key]['stock'] = $stock;
-            $product[$key]['unit_title'] = $basic_map[$value['unit']] ?? "";
         }
 
         return [true, $product];
@@ -1282,7 +1285,8 @@ class ProductService extends Service
         $product = $model->where('del_time',0)
             ->whereIn('item_code', $item_code)
             ->where('is_use', Product::is_use_one)
-            ->select('title','id','product_category_id','retail_price','product_attribute','item_code','size','unit')
+            ->select('title','id','product_category_id','retail_price','product_attribute','item_code','size','unit','code','bar_code','product_category')
+            ->orderby('product_attribute', 'desc')
             ->get()->toArray();
 
         return $product;
@@ -1362,4 +1366,21 @@ class ProductService extends Service
 
         return [true, ''];
     }
+
+    private function returnStock($stock, $value){
+        if(isset($stock[$value['id']])){
+            $number = $stock[$value['id']];
+            if($number <= 0){
+                $stock = "售罄";
+            } elseif($number <= 15){
+                $stock = " 库存紧张";
+            }else{
+                $stock = " 库存充足";
+            }
+        }else{
+            $stock = "联系客服";
+        }
+
+        return $stock;
+    }
 }