fix(admin): 修复仓库订单总价计算问题

- 在 BeforehandOrderLogic 中更新订单总价和数量
- 在 WarehouseProductReturnLogic 中同步更新预购订单支付价格
- 优化 WarehouseOrder 和 BeforehandOrder 的总价计算逻辑
This commit is contained in:
mkm 2024-11-15 16:37:41 +08:00
parent 5d8cbcda40
commit 23912039a5
2 changed files with 2 additions and 2 deletions

View File

@ -399,7 +399,7 @@ class BeforehandOrderLogic extends BaseLogic
}
$finds = WarehouseProduct::where('oid', $res['id'])->field('sum(nums) as nums,sum(total_price) as total_price')->find();
WarehouseOrder::where('id', $res['id'])->update(['total_price' => $finds['total_price'], 'nums' => $finds['nums']]);
$order->save(['outbound_id' => $res['id'], 'is_outbound' => 1]);
$order->save(['outbound_id' => $res['id'], 'is_outbound' => 1,'pay_price'=>$finds['total_price']]);
Db::commit();
return true;
} catch (\Throwable $e) {

View File

@ -62,12 +62,12 @@ class WarehouseProductReturnLogic extends BaseLogic
$total_price=0;
if($nums>0){
$total_price=bcmul($nums,$find['price'],2);
}
$find->save(['nums'=>$nums,'total_price'=>$total_price]);
if($nums>0){
$total_price=WarehouseProduct::where('oid',$find['oid'])->sum('total_price');
WarehouseOrder::where(['id'=>$find['oid']])->update(['total_price'=>$total_price]);
BeforehandOrder::update(['pay_price'=>$total_price],['id'=>$params['bhoid']]);
}
WarehouseProductStorege::where(['product_id'=>$find['product_id'],'warehouse_id'=>$find['warehouse_id']])->inc('nums',$params['nums'])->update();
}elseif($params['financial_pm']==0 &&$params['return_type']==2){