From a9ae0ede08ce07f750b830295ecf03b978317af0 Mon Sep 17 00:00:00 2001 From: lewis <604446095@qq.com> Date: Mon, 17 Mar 2025 15:04:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BA=E5=BA=93=E5=8D=95?= =?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WarehouseProductLogic.php | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/app/admin/logic/warehouse_product/WarehouseProductLogic.php b/app/admin/logic/warehouse_product/WarehouseProductLogic.php index a652d465f..3518ad791 100644 --- a/app/admin/logic/warehouse_product/WarehouseProductLogic.php +++ b/app/admin/logic/warehouse_product/WarehouseProductLogic.php @@ -255,6 +255,7 @@ class WarehouseProductLogic extends BaseLogic $datas['expiration_date'] = strtotime($params['expiration_date']); } $res->save($datas); + self::updateWarehouseOrder($res['oid']); } Db::commit(); return $res; @@ -281,6 +282,7 @@ class WarehouseProductLogic extends BaseLogic $productNum = -$res['nums']; self::updateWarehouseProduct($res, $storageNum, $productNum); $res->delete(); + self::updateWarehouseOrder($res['oid']); $types = $res['financial_pm'] == 1 ? ProductSourceLinkInfo::TypeIn : ProductSourceLinkInfo::TypeOut; ProductSourceLinkInfoLogic::deleteByLinkId($res['id'], $types); Db::commit(); @@ -347,6 +349,7 @@ class WarehouseProductLogic extends BaseLogic } $warehouseProduct->save($datas); + self::updateWarehouseOrder($warehouseProduct['oid']); } Db::commit(); } catch (\Throwable $th) { @@ -478,14 +481,26 @@ class WarehouseProductLogic extends BaseLogic WarehouseProduct::where('id',$warehouseProduct['id'])->update($update); SqlChannelLog('WarehouseProduct', $warehouseProduct['id'], $productNum, $productNum > 0 ? 1 : -1, Request()->url()); - $find = WarehouseProduct::where('oid', $warehouseProduct['oid'])->field('sum(nums) as nums,sum(total_price) as total_price')->find(); + self::updateStoreStorage2($warehouseProduct, $productNum); + } + + /** + * 更新订单数量和总价 + * @param $oid + * @return void + * @throws DataNotFoundException + * @throws DbException + * @throws ModelNotFoundException + */ + public static function updateWarehouseOrder($oid) + { + $find = WarehouseProduct::where('oid', $oid)->field('sum(nums) as nums,sum(total_price) as total_price')->find(); if ($find) { - WarehouseOrder::where('id', $warehouseProduct['oid'])->update([ + WarehouseOrder::where('id', $oid)->update([ 'nums' => $find['nums'], 'total_price' => $find['total_price'] ]); } - self::updateStoreStorage2($warehouseProduct, $productNum); } /**