添加市场

This commit is contained in:
liu
2026-08-20 15:39:39 +08:00
parent cd7007bc49
commit 22237a47e7
20 changed files with 134 additions and 239 deletions
+5 -2
View File
@@ -80,6 +80,7 @@ class PurchaseItemService
'product_name' => $first->product_name,
'product_spec' => $first->product_spec,
'unit' => $first->unit,
'market' => (string) data_get($first, 'market', ''),
// 加权平均单价(保证 单价×数量=预计金额)
'price' => $quantity > 0
? bcdiv($amount, (string) $quantity, 2)
@@ -124,6 +125,7 @@ class PurchaseItemService
'product_name' => $first->product_name,
'product_spec' => $first->product_spec,
'unit' => $first->unit,
'market' => (string) data_get($first, 'market', ''),
'cost_price' => (string) $first->cost_price,
'quantity' => $quantity,
'weight' => $weight,
@@ -151,17 +153,18 @@ class PurchaseItemService
->get()
->makeVisible('cost_price');
// 排序键:商品分类 sort → 商品 sort(商品含软删除,保证历史单据可导出)
// 排序键:商品分类 sort → 商品 sort;市场取商品档案(商品含软删除,保证历史单据可导出)
$products = ProductModel::withTrashed()
->with('category:id,sort')
->whereIn('id', $items->pluck('product_id')->unique())
->get(['id', 'category_id', 'sort'])
->get(['id', 'category_id', 'sort', 'market'])
->keyBy('id');
foreach ($items as $item) {
$product = $products->get((int) $item->product_id);
$item->setAttribute('category_sort', (int) ($product?->category?->sort ?? 9999));
$item->setAttribute('product_sort', (int) ($product?->sort ?? 9999));
$item->setAttribute('market', (string) ($product?->market ?? ''));
}
return $items;