调试财务溯源

This commit is contained in:
lewis 2025-03-20 15:58:38 +08:00
parent e2b47ab17b
commit 0ddfd9c483

View File

@ -168,6 +168,7 @@ class ProductSourceLinkInfoLogic extends BaseLogic
{
$dataNums = bcsub($data['nums'], $rollbackNum, 2);
$currentNums = max(bcsub($data['current_nums'], $rollbackNum, 2), 0);
$totalPrice = bcmul($data['price'], $dataNums, 2);
$update[] = [
'id' => $data['id'],
'nums' => $dataNums,
@ -176,10 +177,26 @@ class ProductSourceLinkInfoLogic extends BaseLogic
'delete_time' => $dataNums > 0 ? null : time(),
];
if ($data['from_id'] > 0) {
$update[] = [
'id' => $data['from_id'],
'current_nums' => Db::raw("current_nums+{$rollbackNum}"),
];
if ($data['types'] == ProductSourceLinkInfo::TypeStoreIn) {
// 门店入库数量发起退库,更新出库单的数量和价格,更新入库单的可分配数量
$outboundLinkInfoId = ProductSourceLinkInfo::where('id', $data['from_id'])->value('from_id');
$update[] = [
'id' => $data['from_id'],
'nums' => Db::raw("nums-{$rollbackNum}"),
'current_nums' => Db::raw("current_nums-{$rollbackNum}"),
'total_price' => Db::raw("total_price-{$totalPrice}"),
];
$update[] = [
'id' => $outboundLinkInfoId,
'current_nums' => Db::raw("current_nums+{$rollbackNum}"),
];
} else {
// 更新来源单的可分配数量
$update[] = [
'id' => $data['from_id'],
'current_nums' => Db::raw("current_nums+{$rollbackNum}"),
];
}
}
return $update;
}