From c0b032d7062af12815baecd98192b3c1e5381f20 Mon Sep 17 00:00:00 2001 From: "LAPTOP-7SGDREK0\\shiweijun" <411582373@qq.com> Date: Thu, 6 Feb 2025 14:20:38 +0800 Subject: [PATCH] feat:depotPurchase --- app/Controller/Admin/DepotController.php | 13 +++++++++++ app/Request/Admin/DepotRequest.php | 3 +++ app/Service/Admin/Depot/DepotService.php | 28 ++++++++++++++++++++++++ sync/http/admin/auth.http | 6 ++--- 4 files changed, 47 insertions(+), 3 deletions(-) diff --git a/app/Controller/Admin/DepotController.php b/app/Controller/Admin/DepotController.php index 7e0f843..5eb5366 100644 --- a/app/Controller/Admin/DepotController.php +++ b/app/Controller/Admin/DepotController.php @@ -80,6 +80,19 @@ class DepotController return (new DepotService)->purchase(); } + /** + * 采购修改 + * @param DepotRequest $request + * @return array + * @throws Exception + */ + #[RequestMapping(path: "depot_purchase_update", methods: "POST")] + #[Scene(scene: "purchase_update")] + public function purchaseUpdate(DepotRequest $request): array + { + return (new DepotService)->purchaseUpdate(); + } + /** * 采购退货 * @param DepotRequest $request diff --git a/app/Request/Admin/DepotRequest.php b/app/Request/Admin/DepotRequest.php index 6a64519..ea3ddb0 100644 --- a/app/Request/Admin/DepotRequest.php +++ b/app/Request/Admin/DepotRequest.php @@ -29,6 +29,8 @@ class DepotRequest extends FormRequest 'city_id' => 'required|integer|exists:system_city,id', 'kitchen_id' => 'required|integer|exists:kitchen,id', 'id' => 'required|integer', + 'purchase_price' => 'required', + 'number' => 'required', ]; } @@ -38,6 +40,7 @@ class DepotRequest extends FormRequest 'depot_edit' => ['id','name'], 'depot_delete' => ['id'], 'purchase' => ['depot_id','material_id','supplier_id','purchase_price','number','city_id','kitchen_id'], + 'purchase_update' => ['id','number'], 'purchase_back' => ['id'], 'purchase_list' => ['limit','query_id','query_kitchen_id','type'], ]; diff --git a/app/Service/Admin/Depot/DepotService.php b/app/Service/Admin/Depot/DepotService.php index 9165d76..dd9a32d 100644 --- a/app/Service/Admin/Depot/DepotService.php +++ b/app/Service/Admin/Depot/DepotService.php @@ -187,6 +187,32 @@ class DepotService extends BaseService{ } + public function purchaseUpdate():array + { + $id = (int)$this->request->input('id'); + $info = $this->DepotPurchaseModel->getDepotPurchase($id); + $old_number = $info->number; + + $number = (double)$this->request->input('number'); + $sum_price = $info->purchase_price * $number; + + $info->number = $number; + $info->sum_price = $sum_price; + + $materialStock = $this->MaterialStockModel + ->where('depot_id',$info->depot_id) + ->where('material_id',$info->material_id) + ->where('supplier_id',$info->supplier_id) + ->first(); + + $materialStock->current_stock = $materialStock->current_stock + $number - $old_number; + + if (!$info->save() || !$materialStock->save()) throw new ErrException('采购数量修改失败'); + + return $this->return->success(); + + } + public function purchaseBack():array { $id = (int)$this->request->input('id'); @@ -223,6 +249,8 @@ class DepotService extends BaseService{ if (empty($materialStock)) throw new ErrException('库存更改异常'); else{ + if ($materialStock->current_stock < $depotPurchase->number) + throw new ErrException('库存数量小于退货数量'); //库存减少 $materialStock->current_stock = $materialStock->current_stock - $depotPurchase->number; } diff --git a/sync/http/admin/auth.http b/sync/http/admin/auth.http index 1b2bb05..90422da 100644 --- a/sync/http/admin/auth.http +++ b/sync/http/admin/auth.http @@ -389,10 +389,10 @@ Authorization: Bearer {{admin_token}} depot_id=1&material_id=1&supplier_id=1&purchase_price=60&number=2&city_id=1&kitchen_id=1 -### 采购退货 -POST {{host}}/admin/depot/depot_purchase_back +### 采购数量修改 +POST {{host}}/admin/depot/depot_purchase_update Content-Type: application/x-www-form-urlencoded Authorization: Bearer {{admin_token}} -id=6 +id=1&number=8