|
|
@@ -179,18 +179,24 @@ Class CommodityService
|
|
|
$commodities = Commodity::query()
|
|
|
->whereIn('owner_id',data_get($owners,'*.id'))
|
|
|
->whereIn('sku',$orderHeader_sku)
|
|
|
+ ->groupBy('owner_id','sku') //*!!!!!!!!
|
|
|
->get();
|
|
|
- if($commodities->count() < count($orderHeader_sku)){
|
|
|
- $params = [];
|
|
|
- foreach ($commodities as $commodity) {
|
|
|
- $owner_code = $owners_id_map[$commodity->owner_id]->code ?? '';
|
|
|
- $params [] = [
|
|
|
- 'owner_code' => $owner_code,
|
|
|
- 'sku' => $commodity->sku
|
|
|
- ];
|
|
|
+
|
|
|
+ if($commodities->count() < count($customerId_sku_map)){
|
|
|
+ $commoditiesInWAS索引_sku = [];
|
|
|
+ foreach ($commodities as $commodityInWms) {
|
|
|
+ $owner = $owners_id_map[$commodityInWms->owner_id] ?? '';
|
|
|
+ if(!$owner)continue;
|
|
|
+ $key ='owner_cod='.$owner['code'].' sku='.$commodityInWms->sku;
|
|
|
+ $commoditiesInWAS索引_sku[$key]=$commodityInWms;
|
|
|
}
|
|
|
- $params = array_diff($customerId_sku_map,$params);
|
|
|
- $commodity_set = $this->createCommodities($params,$owners_code_map);
|
|
|
+ $commodities需要新增=[];
|
|
|
+ foreach ($customerId_sku_map as $commodityInWms) {
|
|
|
+ $key ='owner_cod='.$commodityInWms['owner_code'].' sku='.$commodityInWms['sku'];
|
|
|
+ if($commoditiesInWAS索引_sku[$key] ?? false) continue;
|
|
|
+ $commodities需要新增[$key] = $commodityInWms;
|
|
|
+ }
|
|
|
+ $commodity_set = $this->createCommodities($commodities需要新增,$owners_code_map);
|
|
|
$commodities = $commodities->concat($commodity_set);
|
|
|
}
|
|
|
return $commodities;
|
|
|
@@ -204,8 +210,10 @@ Class CommodityService
|
|
|
->whereIn('Sku',data_get($params,'*.sku'))
|
|
|
->get();
|
|
|
$insert_params = [];
|
|
|
+
|
|
|
foreach ($bas_sku_arr as $bas_sku) {
|
|
|
$owner = $owners_code_map[$bas_sku->customerid] ?? '';
|
|
|
+ if(!$owner)continue;
|
|
|
$created_at = Carbon::now()->format('Y-m-d H:i:s');
|
|
|
$insert_params[] = [
|
|
|
'owner_id' => $owner->id,
|
|
|
@@ -227,12 +235,9 @@ Class CommodityService
|
|
|
LogService::log(__METHOD__,__FUNCTION__,'批量添加 commodity error' .json_encode($insert_params) ."||".$e->getMessage().'||'.$e->getTraceAsString());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return Commodity::query()
|
|
|
->whereIn('owner_id',data_get($owners_code_map,'*.id'))
|
|
|
->whereIn('sku',data_get($params,'*.sku'))
|
|
|
->get();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|