优化入库订单金额计算逻辑

- 修正入库订单的总金额、已完成金额和待完成金额的计算方式
- 使用数据库查询替代手动输入金额,提高数据准确性和逻辑性
- 优化代码可维护性,减少手动计算引入的潜在错误
This commit is contained in:
mkm 2024-10-14 12:49:26 +08:00
parent 06a7056961
commit 465e882319

View File

@ -131,6 +131,9 @@ class BeforehandOrderCartInfoLogic extends BaseLogic
throw new BusinessException('请勿重复入库'); throw new BusinessException('请勿重复入库');
} }
$offer_list = PurchaseProductOffer::where(['order_id' => $params['bhoid'], 'is_storage' => 0])->select(); $offer_list = PurchaseProductOffer::where(['order_id' => $params['bhoid'], 'is_storage' => 0])->select();
$total_price= PurchaseProductOffer::where(['order_id' => $params['bhoid']])->sum('total_price');
$completed_amount= PurchaseProductOffer::where(['order_id' => $params['bhoid'],'pay_type'=>1])->sum('total_price');
$outstanding_amount= PurchaseProductOffer::where(['order_id' => $params['bhoid'],'pay_type'=>2])->sum('total_price');
Db::startTrans(); Db::startTrans();
try { try {
$code = getNewOrderId('RK'); $code = getNewOrderId('RK');
@ -142,9 +145,9 @@ class BeforehandOrderCartInfoLogic extends BaseLogic
'batch' => 0, 'batch' => 0,
'code' => $code, 'code' => $code,
'mark' => $params['remark'] ?? '', 'mark' => $params['remark'] ?? '',
'total_price' => $params['total_price'], 'total_price' => $total_price,
'completed_amount' => $params['completed_amount'] ?? 0, 'completed_amount' => $completed_amount,
'outstanding_amount' => $params['outstanding_amount'] ?? 0, 'outstanding_amount' => $outstanding_amount,
]; ];
$res = WarehouseOrder::create($arr); $res = WarehouseOrder::create($arr);
foreach ($offer_list as $k => $v) { foreach ($offer_list as $k => $v) {