cqpCow 1 год назад
Родитель
Сommit
d7724c04ab
2 измененных файлов с 11 добавлено и 4 удалено
  1. 1 1
      app/Service/ProductService.php
  2. 10 3
      app/Service/SalesOrderService.php

+ 1 - 1
app/Service/ProductService.php

@@ -449,7 +449,7 @@ class ProductService extends Service
         }
 
         foreach ($basic as $value){
-            if(! $is_main && ($top_depart['basic_type_id'] != $value['basic_type_id'])) {
+            if(! $is_main && ($top_depart['basic_type_id'] != $value['id'])) {
                 $is_show = 0;
             }else{
                 $is_show = 1;

+ 10 - 3
app/Service/SalesOrderService.php

@@ -437,12 +437,16 @@ class SalesOrderService extends Service
 
         $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'));
+        $sports_bag_arr = [];
+        $sports_bag_pro = [];
         foreach ($sales_p_info as $value){
             $tmp = $map[$value['product_id']] ?? [];
-            if(!empty($value['sports_bag_id'])){
+            if(! empty($value['sports_bag_id'])){
                 $bag_tmp = $bag_map[$value['sports_bag_id']] ?? [];
+                if(! isset($sports_bag_arr[$value['sports_bag_id']])) $sports_bag_arr[$value['sports_bag_id']] = $bag_tmp;
                 $bag_pro_tmp = $bag_pro_map[$value['sports_bag_id']] ?? [];
                 foreach ($bag_pro_tmp as $k => $v){
+                    if($v['product_id'] != $value['product_id']) continue;
                     $is_choose = false;
                     $final_amount = 0;
                     $number = $v['number'];
@@ -459,9 +463,8 @@ class SalesOrderService extends Service
                     $bag_pro_tmp[$k]['size'] = $tmp['size'] ?? "";
                     $bag_pro_tmp[$k]['unit'] = $tmp['unit'] ?? "";
                     $bag_pro_tmp[$k]['bar_code'] = $tmp['bar_code'] ?? "";
+                    $sports_bag_pro[$value['sports_bag_id']][] = $bag_pro_tmp[$k];
                 }
-                $bag_tmp['product'] = $bag_pro_tmp;
-                $sales['activity_product'][] = $bag_tmp;
             }else{
                 $value['title'] = $tmp['title'] ?? "";
                 $value['code'] = $tmp['code'] ?? "";
@@ -472,6 +475,10 @@ class SalesOrderService extends Service
                 $sales['product'][] = $value;
             }
         }
+        foreach ($sports_bag_arr as $key => $value){
+            $value['product'] = $sports_bag_pro[$key] ?? [];
+            $sales['activity_product'][] = $value;
+        }
         $sales['crt_name'] = $emp_map[$sales['crt_id']] ?? '';
         $sales['crt_time'] = $sales['crt_time'] ? date("Y-m-d H:i:s",$sales['crt_time']): '';
         $sales['dispatch_time_first'] = $sales['dispatch_time_first'] ? date("Y-m-d H:i:s",$sales['dispatch_time_first']): '';