显示销量

This commit is contained in:
杨建炊 2024-10-31 17:12:24 +08:00
parent a9e542f89b
commit 24757518fc

View File

@ -66,7 +66,8 @@ class GoodsSkusController extends Controller
->select(DB::raw($fields))
->with([
'shop:id,name',
'goodsSku:id,external_sku_id'
'goodsSku:id,external_sku_id,is_combination',
'goodsSku.combinationGoods:id,goods_sku_id,item_id,item_num'
])
->where('created_at', '>', $orderRestTime)
->where('external_sku_id', '<>', '')
@ -80,13 +81,20 @@ class GoodsSkusController extends Controller
continue;
}
$id = $businessOrderItem['goods_sku']['id'];
if ($businessOrderItem['goods_sku']['is_combination']) {
foreach ($businessOrderItem['goods_sku']['combination_goods'] ?? [] as $combinationGoods) {
$ids[$combinationGoods['item_id']] = $ids[$combinationGoods['item_id']] ?? 0
+ ((int)$businessOrderItem['number']) * $combinationGoods['item_num'];
$externals[$combinationGoods['item_id']][] = $businessOrderItem;
}
}
if (isset($ids[$id])) {
$ids[$id] += (int)$businessOrderItem['number'];
} else {
$ids[$id] = (int)$businessOrderItem['number'];
}
$externals[$businessOrderItem['external_sku_id']][] = $businessOrderItem;
$externals[$id][] = $businessOrderItem;
}
arsort($ids);
@ -123,9 +131,9 @@ class GoodsSkusController extends Controller
$rolesName = $request->user()->getRoleNames()->toArray();
foreach ($goodsSkus as &$sku) {
$lastInventoryTime = !empty($sku['daily']['inventory_time']) ? $sku['daily']['inventory_time'] : date('Y-m-d 07:00:00');
if (isset($externals[$sku['external_sku_id']])) {
$sku['order_detail'] = $externals[$sku['external_sku_id']];
$sku['order_goods_num'] = array_sum(array_column($externals[$sku['external_sku_id']], 'number'));
if (isset($externals[$sku['id']])) {
$sku['order_detail'] = $externals[$sku['id']];
$sku['order_goods_num'] = $ids[$sku['id']];
} else {
$sku['order_detail'] = [];
$sku['order_goods_num'] = 0;