mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-11-30 22:20:45 +00:00
commit
e3bea34a1b
@ -66,20 +66,30 @@ class GoodsSkusController extends Controller
|
||||
foreach ($goodsSkus as &$sku) {
|
||||
$externalSkuId = $sku['goods']['goods_code'] . '_' . $sku['sku_code'];
|
||||
$lastInventoryTime = $sku['daily']['inventory_time'];
|
||||
$addOrderGoodsNum = BusinessOrderItem::query()
|
||||
$fields = implode(',', [
|
||||
'shop_id',
|
||||
'external_sku_id',
|
||||
'sum(goods_number) as number',
|
||||
'sum(already_cancel_number) as cancel_number',
|
||||
]);
|
||||
$orderDetail = BusinessOrderItem::query()
|
||||
->select(DB::raw($fields))
|
||||
->where('external_sku_id', $externalSkuId)
|
||||
->when($lastInventoryTime, function ($query) use ($lastInventoryTime) {
|
||||
$query->where('updated_at', '>', $lastInventoryTime);
|
||||
})
|
||||
->sum('goods_number');
|
||||
$reduceOrderGoodsNum = BusinessOrderItem::query()
|
||||
->where('external_sku_id', $externalSkuId)
|
||||
->when($lastInventoryTime, function ($query) use ($lastInventoryTime) {
|
||||
$query->where('updated_at', '>', $lastInventoryTime);
|
||||
})
|
||||
->sum('already_cancel_number');
|
||||
->groupBy(['shop_id', 'external_sku_id'])
|
||||
->with(['shop:id,name'])
|
||||
->get();
|
||||
$addOrderGoodsNum = $reduceOrderGoodsNum = 0;
|
||||
if ($orderDetail) {
|
||||
$orderDetail = $orderDetail->toArray();
|
||||
$addOrderGoodsNum = array_sum(array_column($orderDetail, 'number'));
|
||||
$reduceOrderGoodsNum = array_sum(array_column($orderDetail, 'cancel_number'));
|
||||
}
|
||||
$sku['inventory_time'] = $lastInventoryTime;
|
||||
$sku['order_goods_num'] = $addOrderGoodsNum - $reduceOrderGoodsNum;
|
||||
$sku['order_detail'] = $orderDetail;
|
||||
}
|
||||
|
||||
return GoodsSkuResource::collection($goodsSkus);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user