From c044dba6a614c1b7d1a7e34b8d7d1b70597a64a6 Mon Sep 17 00:00:00 2001 From: "LAPTOP-7SGDREK0\\shiweijun" <411582373@qq.com> Date: Tue, 25 Feb 2025 15:57:19 +0800 Subject: [PATCH] fix:depot --- app/Service/Admin/Depot/DepotService.php | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/app/Service/Admin/Depot/DepotService.php b/app/Service/Admin/Depot/DepotService.php index 52dc4c2..bd2d908 100644 --- a/app/Service/Admin/Depot/DepotService.php +++ b/app/Service/Admin/Depot/DepotService.php @@ -153,7 +153,7 @@ class DepotService extends BaseService{ $number = $this->request->input('number'); if (!empty($purchase_price) && !empty($number)){ - $sum_price = bcmul($purchase_price,$number); + $sum_price = bcmul($purchase_price,$number,2); } $cityId = (int)$this->request->input('city_id'); @@ -213,8 +213,8 @@ class DepotService extends BaseService{ $info = $this->DepotPurchaseModel->getDepotPurchase($id); $old_number = $info->number; - $number = (double)$this->request->input('number'); - $sum_price = $info->purchase_price * $number; + $number = $this->request->input('number'); + $sum_price = bcmul($info->purchase_price,$number,2); $info->number = $number; $info->sum_price = $sum_price; @@ -225,7 +225,7 @@ class DepotService extends BaseService{ ->where('supplier_id',$info->supplier_id) ->first(); - $materialStock->current_stock = $materialStock->current_stock + $number - $old_number; + $materialStock->current_stock = bcsub(bcadd($materialStock->current_stock,$number,2),$old_number,2); if (!$info->save() || !$materialStock->save()) throw new ErrException('采购数量修改失败'); @@ -263,7 +263,7 @@ class DepotService extends BaseService{ // throw new ErrException('采购退货数量不能大于进货数量'); // } - $depotPurchase->sum_price = $depotPurchase->purchase_price * $depotPurchase->number; + $depotPurchase->sum_price = bcmul($depotPurchase->purchase_price,$depotPurchase->number,2); $depotPurchase->city_id = $info->city_id; $depotPurchase->kitchen_id = $info->kitchen_id; $depotPurchase->operator_id = $this->adminId; @@ -280,7 +280,7 @@ class DepotService extends BaseService{ if ($materialStock->current_stock < $depotPurchase->number) throw new ErrException('库存数量小于退货数量'); //库存减少 - $materialStock->current_stock = $materialStock->current_stock - $depotPurchase->number; + $materialStock->current_stock = bcsub($materialStock->current_stock,$depotPurchase->number,2); } if (!$depotPurchase->save() || !$materialStock->save() || !$info->save()) throw new ErrException('采购退货异常'); @@ -379,7 +379,7 @@ class DepotService extends BaseService{ $depotId = (int)$this->request->input('depot_id'); $materialId = (int)$this->request->input('material_id'); $supplierId = (int)$this->request->input('supplier_id'); - $number = (double)$this->request->input('number'); + $number = $this->request->input('number'); $applicationId = (int)$this->request->input('application_id'); $cityId = (int)$this->request->input('city_id'); $kitchenId = (int)$this->request->input('kitchen_id'); @@ -404,16 +404,16 @@ class DepotService extends BaseService{ $depotSale->supplier_id = $supplierId; $depotSale->sale_price = $materialStock->unit_price; $depotSale->number = $number; - $depotSale->sum_price = $depotSale->sale_price * $number; + $depotSale->sum_price = bcmul($depotSale->sale_price,$number,2); $depotSale->application_id = $applicationId; $depotSale->city_id = $cityId; $depotSale->kitchen_id = $kitchenId; $depotSale->operator_id = $this->adminId; //库存减少 - $materialStock->current_stock = $materialStock->current_stock - $number; + $materialStock->current_stock = bcsub($materialStock->current_stock,$number,2); - $applicationInfo->al_number = $number + $applicationInfo->al_number; + $applicationInfo->al_number = bcadd($number,$applicationInfo->al_number,2); if ($applicationInfo->al_number < $applicationInfo->number) $applicationInfo->status = MaterialCode::PART_OUT; else @@ -449,8 +449,8 @@ class DepotService extends BaseService{ $old_number = $info->number; - $number = (double)$this->request->input('number'); - $sum_price = $info->sale_price * $number; + $number = $this->request->input('number'); + $sum_price = bcmul($info->sale_price,$number,2); $info->number = $number; $info->sum_price = $sum_price; @@ -461,9 +461,9 @@ class DepotService extends BaseService{ ->where('supplier_id',$info->supplier_id) ->first(); - $materialStock->current_stock = $materialStock->current_stock + $old_number - $number; + $materialStock->current_stock = bcadd($materialStock->current_stock,bcsub($old_number,$number,2),2); - $applicationInfo->al_number = $applicationInfo->al_number + $number - $old_number; + $applicationInfo->al_number = bcadd($applicationInfo->al_number,bcsub($number,$old_number,2),2); if ($applicationInfo->al_number < $applicationInfo->number) $applicationInfo->status = MaterialCode::PART_OUT; else @@ -498,8 +498,8 @@ class DepotService extends BaseService{ ->where('id',$info->application_id) ->first(); - $applicationInfo->al_number = $applicationInfo->al_number - $info->number; - if ($applicationInfo->al_number <= 0) + $applicationInfo->al_number = bcsub($applicationInfo->al_number,$info->number,2); + if (bccomp($applicationInfo->al_number,'0') <= 0) $applicationInfo->status = MaterialCode::AUDITED; else if ($applicationInfo->al_number < $applicationInfo->number) $applicationInfo->status = MaterialCode::PART_OUT; @@ -510,7 +510,7 @@ class DepotService extends BaseService{ ->where('supplier_id',$info->supplier_id) ->first(); - $materialStock->current_stock = $materialStock->current_stock + $info->number; + $materialStock->current_stock = bcadd($materialStock->current_stock,$info->number,2); $info->is_del = MaterialCode::IS_DEL;