From 95efdc896ab346cd1e2aecaf1b37aaa690625ca7 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 29 Apr 2024 17:31:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=8D=AF=E5=93=81=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E5=8D=B7=E5=8F=8A=E8=8D=AF=E5=93=81=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/PatientOrderService.php | 32 ++++++++++++++++------------ 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/app/Services/PatientOrderService.php b/app/Services/PatientOrderService.php index 38bf76b..d38d4de 100644 --- a/app/Services/PatientOrderService.php +++ b/app/Services/PatientOrderService.php @@ -1718,27 +1718,31 @@ class PatientOrderService extends BaseService $params = array(); $params['amount_id'] = $product_platform_amount['amount_id']; ProductPlatformAmount::dec($params, 'stock', $product_data['product_num']); + } + foreach ($product_datas as $product_data) { // 处理健康包数据,增加使用数量 if (!empty($order_service_package) && !empty($order_service_package_detail)){ - // 获取服务包内所有药品 - $health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']); - foreach ($health_package_products as $health_package_product) { - if ($health_package_product['product_id'] == $product_data['product_id']){ - $data = array(); - $data['order_service_id'] = $order_service_package['order_service_id']; - $data['order_product_id'] = $order_product['order_product_id']; - $data['order_product_no'] = $order_product['order_product_no']; - $data['product_item_id'] = $order_product_item['product_item_id']; - $data['product_id'] = $product_data['product_id']; - $data['used_quantity'] = $product_data['used_quantity']; + // 获取服务包内某一药品的总数量 + $total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']); - OrderServicePackageProduct::addOrderServicePackageProduct($data); + // 获取服务包内某一药品的剩余数量 + $remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$product_data['product_id'],$total_quantity); - break; - } + // 可用数量大于处方商品数量 + if ($remaining_quantity >= $product_data['product_num']){ + $data = array(); + $data['order_service_id'] = $order_service_package['order_service_id']; + $data['order_product_id'] = $order_product['order_product_id']; + $data['order_product_no'] = $order_product['order_product_no']; + $data['product_item_id'] = $order_product_item['product_item_id']; + $data['product_id'] = $product_data['product_id']; + $data['used_quantity'] = $product_data['used_quantity']; + + OrderServicePackageProduct::addOrderServicePackageProduct($data); } } + break; } // 修改处方为已使用