Bläddra i källkod

asn同步修改

haozi 4 år sedan
förälder
incheckning
9003dd786b
2 ändrade filer med 7 tillägg och 8 borttagningar
  1. 7 2
      app/Services/StoreItemService.php
  2. 0 6
      app/StoreItem.php

+ 7 - 2
app/Services/StoreItemService.php

@@ -72,10 +72,15 @@ class StoreItemService
         $commodityService = app(CommodityService::class);
         $ownerService = app(OwnerService::class);
         $owners = $ownerService->getOwnerByCodes(array_unique(data_get($asnDetails,'*.customerid')));
+        $stores = Store::query()->whereIn('asn_code', array_unique(data_get($asnDetails, '*.asnno')))->get();
         $owner_map=[];
+        $store_map=[];
         foreach ($owners as $owner){
             $owner_map[$owner->code]=$owner->id;
         }
+        foreach ($stores as $store){
+            $store_map[$store->asn_code]=$store->id;
+        }
         $maps = [];
         foreach ($asnDetails as $asnDetail) {
             $value = [
@@ -87,13 +92,13 @@ class StoreItemService
         $commodities=$commodityService->getCommoditiesByMaps($maps);
         $commodities_map= $dataHandlerService->dataHeader(['owner_id','sku'], $commodities);
         $storeItems = $this->getByWms($asnDetails);
-        $storeItem_map = $dataHandlerService->dataHeader(['store_asn_code', 'asn_line_code', 'commodity_id'], $storeItems);
+        $storeItem_map = $dataHandlerService->dataHeader(['store_id', 'asn_line_code', 'commodity_id'], $storeItems);
         $params = [];
         foreach ($asnDetails as $asnDetail) {
             $commodity=$dataHandlerService->getKeyValue(['owner_id'=>$owner_map[$asnDetail->customerid],'sku'=>$asnDetail->sku],$commodities_map);
             if (!$commodity)continue;
             $storeItem = $dataHandlerService
-                ->getKeyValue(['store_asn_code' => $asnDetail->asnno, 'asn_line_code' => $asnDetail->asnlineno, 'commodity_id' => $commodity->id], $storeItem_map);
+                ->getKeyValue(['store_id' => $store_map[$asnDetail->asnno], 'asn_line_code' => $asnDetail->asnlineno, 'commodity_id' => $commodity->id], $storeItem_map);
             if ($storeItem ?? false) continue;
             $status = null;
             if ($asnDetail->lineStatus && $asnDetail->lineStatus->codename_c == '完全收货') $status = '已入库';

+ 0 - 6
app/StoreItem.php

@@ -16,12 +16,6 @@ class StoreItem extends Model
         'store_id','asn_line_code','name',
         'sku','barcode','depository_id','amount','quality','status','commodity_id','expected_amount'
     ];
-    protected $appends=['store_asn_code'];
-
-    public function getStoreASNCodeAttribute()
-    {
-        return $this['store']?$this['store']['asn_code']:null;
-    }
 
     public function depository(){
         return $this->belongsTo('App\Depository','depository_id','id');