cqpCow 10 miesięcy temu
rodzic
commit
7ee4bafb92
1 zmienionych plików z 88 dodań i 83 usunięć
  1. 88 83
      app/Service/ReturnExchangeOrderService.php

+ 88 - 83
app/Service/ReturnExchangeOrderService.php

@@ -34,53 +34,55 @@ class ReturnExchangeOrderService extends Service
             $material_model->save();
             $time = time();
 
-            ReturnExchangeOrderProductInfo::where('del_time',0)
-                ->where('return_exchange_id',$data['id'])
-                ->update(['del_time' => $time]);
-            if(! empty($data['product_one'])){
-                $sub = [];
-                foreach ($data['product_one'] as $value){
-                    $sub[] = [
-                        'return_exchange_id' => $material_model->id,
-                        'product_id' => $value['product_id'],
-                        'number' => $value['number'],
-                        'mark' => $value['mark'] ?? '',
-                        'cost' => $value['cost'] ?? 0,
-                        'retail_price' => $value['retail_price'] ?? 0,
-                        'return_or_exchange' => ReturnExchangeOrderProductInfo::type_one,
-                        'crt_time' => $time,
-                        'storehouse_id' => $data['storehouse_id'],
-                        'basic_type_id' => $value['basic_type_id'],
-                        'price' => $value['price'],
-                        'final_amount' => $value['final_amount'] ?? 0,
-                        'return_exchange_price' => $value['return_exchange_price'],
-                    ];
+            if($data['model_type'] != ReturnExchangeOrder::Model_type_three){
+                ReturnExchangeOrderProductInfo::where('del_time',0)
+                    ->where('return_exchange_id',$data['id'])
+                    ->update(['del_time' => $time]);
+                if(! empty($data['product_one'])){
+                    $sub = [];
+                    foreach ($data['product_one'] as $value){
+                        $sub[] = [
+                            'return_exchange_id' => $material_model->id,
+                            'product_id' => $value['product_id'],
+                            'number' => $value['number'],
+                            'mark' => $value['mark'] ?? '',
+                            'cost' => $value['cost'] ?? 0,
+                            'retail_price' => $value['retail_price'] ?? 0,
+                            'return_or_exchange' => ReturnExchangeOrderProductInfo::type_one,
+                            'crt_time' => $time,
+                            'storehouse_id' => $data['storehouse_id'] ?? 0,
+                            'basic_type_id' => $value['basic_type_id'],
+                            'price' => $value['price'],
+                            'final_amount' => $value['final_amount'] ?? 0,
+                            'return_exchange_price' => $value['return_exchange_price'],
+                        ];
+                    }
+                    ReturnExchangeOrderProductInfo::insert($sub);
                 }
-                ReturnExchangeOrderProductInfo::insert($sub);
-            }
 
-            if(! empty($data['product_two'])){
-                $sub = [];
-                foreach ($data['product_two'] as $value){
-                    $sub[] = [
-                        'return_exchange_id' => $material_model->id,
-                        'product_id' => $value['product_id'],
-                        'number' => $value['number'],
-                        'mark' => $value['mark'] ?? '',
-                        'cost' => $value['cost'] ?? 0,
-                        'retail_price' => $value['retail_price'] ?? 0,
-                        'return_or_exchange' => ReturnExchangeOrderProductInfo::type_two,
-                        'crt_time' => $time,
-                        'storehouse_id' => $data['storehouse_id'],
-                        'basic_type_id' => $value['basic_type_id'],
-                        'price' => $value['price'],
-                    ];
+                if(! empty($data['product_two'])){
+                    $sub = [];
+                    foreach ($data['product_two'] as $value){
+                        $sub[] = [
+                            'return_exchange_id' => $material_model->id,
+                            'product_id' => $value['product_id'],
+                            'number' => $value['number'],
+                            'mark' => $value['mark'] ?? '',
+                            'cost' => $value['cost'] ?? 0,
+                            'retail_price' => $value['retail_price'] ?? 0,
+                            'return_or_exchange' => ReturnExchangeOrderProductInfo::type_two,
+                            'crt_time' => $time,
+                            'storehouse_id' => $data['storehouse_id'] ?? 0,
+                            'basic_type_id' => $value['basic_type_id'],
+                            'price' => $value['price'],
+                        ];
+                    }
+                    ReturnExchangeOrderProductInfo::insert($sub);
                 }
-                ReturnExchangeOrderProductInfo::insert($sub);
-            }
 
-            //锁定库存
-            ProductInventoryService::changeLockNumber($user, $msg[0],$msg[1]);
+                //锁定库存
+                ProductInventoryService::changeLockNumber($user, $msg[0],$msg[1]);
+            }
 
             DB::commit();
         }catch (\Throwable $e){
@@ -111,50 +113,53 @@ class ReturnExchangeOrderService extends Service
             $material_model->save();
             $time = time();
 
-            if(! empty($data['product_one'])){
-                $sub = [];
-                foreach ($data['product_one'] as $value){
-                    $sub[] = [
-                        'return_exchange_id' => $material_model->id,
-                        'product_id' => $value['product_id'],
-                        'number' => $value['number'],
-                        'mark' => $value['mark'] ?? '',
-                        'cost' => $value['cost'] ?? 0,
-                        'retail_price' => $value['retail_price'] ?? 0,
-                        'return_or_exchange' => ReturnExchangeOrderProductInfo::type_one,
-                        'crt_time' => $time,
-                        'storehouse_id' => $data['storehouse_id'],
-                        'basic_type_id' => $value['basic_type_id'],
-                        'price' => $value['price'],
-                        'final_amount' => $value['final_amount'] ?? 0,
-                        'return_exchange_price' => $value['return_exchange_price'],
-                    ];
+            if($data['model_type'] != ReturnExchangeOrder::Model_type_three){
+
+                if(! empty($data['product_one'])){
+                    $sub = [];
+                    foreach ($data['product_one'] as $value){
+                        $sub[] = [
+                            'return_exchange_id' => $material_model->id,
+                            'product_id' => $value['product_id'],
+                            'number' => $value['number'],
+                            'mark' => $value['mark'] ?? '',
+                            'cost' => $value['cost'] ?? 0,
+                            'retail_price' => $value['retail_price'] ?? 0,
+                            'return_or_exchange' => ReturnExchangeOrderProductInfo::type_one,
+                            'crt_time' => $time,
+                            'storehouse_id' => $data['storehouse_id'] ?? 0,
+                            'basic_type_id' => $value['basic_type_id'],
+                            'price' => $value['price'],
+                            'final_amount' => $value['final_amount'] ?? 0,
+                            'return_exchange_price' => $value['return_exchange_price'],
+                        ];
+                    }
+                    ReturnExchangeOrderProductInfo::insert($sub);
                 }
-                ReturnExchangeOrderProductInfo::insert($sub);
-            }
 
-            if(! empty($data['product_two'])){
-                $sub = [];
-                foreach ($data['product_two'] as $value){
-                    $sub[] = [
-                        'return_exchange_id' => $material_model->id,
-                        'product_id' => $value['product_id'],
-                        'number' => $value['number'],
-                        'mark' => $value['mark'] ?? '',
-                        'cost' => $value['cost'] ?? 0,
-                        'retail_price' => $value['retail_price'] ?? 0,
-                        'return_or_exchange' => ReturnExchangeOrderProductInfo::type_two,
-                        'crt_time' => $time,
-                        'storehouse_id' => $data['storehouse_id'],
-                        'basic_type_id' => $value['basic_type_id'],
-                        'price' => $value['price'],
-                    ];
+                if(! empty($data['product_two'])){
+                    $sub = [];
+                    foreach ($data['product_two'] as $value){
+                        $sub[] = [
+                            'return_exchange_id' => $material_model->id,
+                            'product_id' => $value['product_id'],
+                            'number' => $value['number'],
+                            'mark' => $value['mark'] ?? '',
+                            'cost' => $value['cost'] ?? 0,
+                            'retail_price' => $value['retail_price'] ?? 0,
+                            'return_or_exchange' => ReturnExchangeOrderProductInfo::type_two,
+                            'crt_time' => $time,
+                            'storehouse_id' => $data['storehouse_id'] ?? 0,
+                            'basic_type_id' => $value['basic_type_id'],
+                            'price' => $value['price'],
+                        ];
+                    }
+                    ReturnExchangeOrderProductInfo::insert($sub);
                 }
-                ReturnExchangeOrderProductInfo::insert($sub);
-            }
 
-            //锁定库存
-            ProductInventoryService::changeLockNumber($user, $msg[0],[]);
+                //锁定库存
+                ProductInventoryService::changeLockNumber($user, $msg[0],[]);
+            }
 
             DB::commit();
         }catch (\Throwable $e){