|
|
@@ -58,7 +58,6 @@ Class OrderCommodityService
|
|
|
if(count($sku_codes) ==0)return;
|
|
|
$owners = $ownerService->getOwnerByCodes($owner_codes);
|
|
|
$owner_id_maps = $dataHandlerService->dataHeader(['id'],$owners);
|
|
|
-// $commodities = $commodityService->get_(data_get($owners,'*.id'),$sku_codes,[],true);
|
|
|
$commodities = $commodityService->getCommoditiesByMaps($map);
|
|
|
unset($owner_codes,$sku_codes);
|
|
|
$commodity_map = [];
|
|
|
@@ -67,11 +66,9 @@ Class OrderCommodityService
|
|
|
$key = "_owner_code_{$owner['code']}_sku_{$commodity['sku']}";
|
|
|
$commodity_map[$key] = $commodity;
|
|
|
}
|
|
|
-
|
|
|
- $orderCommodities = OrderCommodity::query()->with(['order','commodity'])->whereIn('order_id',function ($query)use($orderNos){
|
|
|
- $query->from('orders')->select('id')->whereIn('code',$orderNos);
|
|
|
- })->get();
|
|
|
$orders = Order::query()->with('packages.commodities')->whereIn('code',$orderNos)->get();
|
|
|
+ if($orders->count()==0)return;
|
|
|
+ $orderCommodities = OrderCommodity::query()->with(['order','commodity'])->whereIn('order_id',data_get($orders,'*.id'))->get();
|
|
|
$order_code_map = $dataHandlerService->dataHeader(['code'],$orders);
|
|
|
$ActAllocationDetail_maps = $this->getRegroupActAllocationDetails($orderHeaders);
|
|
|
$orderCommodity_maps = $this->getRegroupOrderCommodities($orderCommodities,$owner_id_maps);
|
|
|
@@ -84,13 +81,8 @@ Class OrderCommodityService
|
|
|
$inner_params = $this->getInnerParamsByParams($create_params,$order_code_map,$commodity_map);
|
|
|
unset($create_params,$order_code_map,$orders,$commodity_map);
|
|
|
|
|
|
-// $update_params = $this->getUpdateParamsByParamsAndDeleteIds($inner_params,$delete_ids);
|
|
|
-// if(count($update_params)>0)$this->batchUpdate($update_params);
|
|
|
-// unset($update_params);
|
|
|
-
|
|
|
if(count($inner_params)>0){
|
|
|
- $inner_params = array_chunk($inner_params,4000);
|
|
|
- foreach ($inner_params as $inner_param) {$this->insert($inner_param);}
|
|
|
+ foreach (array_chunk($inner_params,4000) as $inner_param) {$this->insert($inner_param);}
|
|
|
unset($inner_params);
|
|
|
}
|
|
|
|
|
|
@@ -147,7 +139,7 @@ Class OrderCommodityService
|
|
|
if(empty($map[$key]))$map[$key]=[];
|
|
|
$map[$key][] =[
|
|
|
'id' => $orderCommodity->id,
|
|
|
- 'code' => $orderCommodity->order->code ?? '',
|
|
|
+ 'code' => $order->code ?? '',
|
|
|
'sku' => $sku,
|
|
|
'owner_code' => $owner->code ?? '',
|
|
|
'amount' => $orderCommodity->amount,
|
|
|
@@ -206,7 +198,7 @@ Class OrderCommodityService
|
|
|
return $params;
|
|
|
}
|
|
|
|
|
|
- public function getInnerParamsByParams(&$create_params,&$order_code_map,&$commodity_map)
|
|
|
+ public function getInnerParamsByParams($create_params,$order_code_map,$commodity_map)
|
|
|
{
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
|
@@ -214,6 +206,7 @@ Class OrderCommodityService
|
|
|
$date = (string) Carbon::now();
|
|
|
foreach ($create_params as $item) {
|
|
|
$order = $dataHandlerService->getKeyValue(['code'=>$item['code']],$order_code_map);
|
|
|
+ if(!$order)continue;
|
|
|
$key = "_owner_code_{$item['owner_code']}_sku_{$item['sku']}";
|
|
|
$commodity = $commodity_map[$key] ?? null;
|
|
|
$inner_params[] = [
|