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; } // 修改处方为已使用