Просмотр исходного кода

同商品多次不同条码BUG修复

Zhouzhendong 5 лет назад
Родитель
Сommit
97bdc705ba

+ 21 - 8
app/Http/Controllers/ProcessController.php

@@ -1021,16 +1021,29 @@ class ProcessController extends Controller
             }
             $goods = Commodity::query()->with('barcodes')->whereNull('owner_id')
                 ->where('sku',$commodityData['sku'])->first();
+            $commodity_barcodes = [];
             if (!$goods){
                 $goods = Commodity::query()->create($commodityData);
-                if (!$barcode)$this->log(__METHOD__,"二次加工导入时产品条码为空",
-                    json_encode($commodity,JSON_UNESCAPED_UNICODE),Auth::user()['id']);
-                $commodityBarCode=CommodityBarcode::query()->create([
-                    'code' => $barcode,
-                    'commodity_id' => $goods->id
-                ]);
-                $commodity_barcodes = [$commodityBarCode];
-            }else $commodity_barcodes = $goods->barcodes;
+                if ($barcode){
+                    $commodityBarCode=CommodityBarcode::query()->create([
+                        'code' => $barcode,
+                        'commodity_id' => $goods->id
+                    ]);
+                    $commodity_barcodes = [$commodityBarCode];
+                }
+            }else {
+                if ($barcode){
+                    $commodity_barcodes = $goods->barcodes->toArray();
+                    $commodityBarCode = $goods->barcodes->where('code',$barcode)->first();
+                    if (!$commodityBarCode){
+                        $commodityBarCode = CommodityBarcode::query()->create([
+                            'code' => $barcode,
+                            'commodity_id' => $goods->id
+                        ]);
+                        array_push($commodity_barcodes,$commodityBarCode);
+                    }
+                }
+            }
             $this->log(__METHOD__,"二次加工单录入导入商品数据时添加商品及条码".__FUNCTION__,
                 json_encode($goods)." || ".json_encode($commodity_barcodes),Auth::user()['id']);
             $processContent=['bill_type'=>'入库单','commodity_id'=>$goods->id,'wms_code'=>$wmsCode,'amount'=>$amount,

+ 1 - 1
resources/views/process/create.blade.php

@@ -718,7 +718,7 @@
                                 res.data.data.forEach(function (processContent) {
                                     if (!_this._seekSignCommodity(processContent.wms_code,processContent.commodity_id,processContent.type)){
                                         _this.processContents.push(processContent);
-                                        _this._seekSignCommodity(processContent.wms_code,processContent.commodity_id,processContent.type);
+                                        _this._addSignCommodity(processContent.wms_code,processContent.commodity_id,processContent.type);
                                         if (!processContent.type) sum += Number(processContent.amount);
                                         if (processContent.owner_id && !_this.process.owner_id)
                                             _this.process.owner_id = processContent.owner_id;