调试财务溯源

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