diff --git a/app/Services/PatientOrderService.php b/app/Services/PatientOrderService.php index 0481cf1..8c32726 100644 --- a/app/Services/PatientOrderService.php +++ b/app/Services/PatientOrderService.php @@ -1425,6 +1425,11 @@ class PatientOrderService extends BaseService $product_ids = $this->request->input('product_ids'); $client_type = $this->request->input('client_type'); + dump($order_prescription_id); + dump($address_id); + dump($product_ids); + dump($client_type);die; + // 获取处方数据 $params = array(); $params['order_prescription_id'] = $order_prescription_id; @@ -1704,6 +1709,31 @@ class PatientOrderService extends BaseService return fail(HttpEnumCode::SERVER_ERROR); } + if (!empty($order_service_package) && !empty($order_service_package_detail)){ + // 获取服务包内某一药品的总数量 + $total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']); + + // 获取服务包内某一药品的剩余数量 + $remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$product_data['product_id'],$total_quantity); + + // 获取服务包内所有药品 + $health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']); + foreach ($health_package_products as $health_package_product){ + // 可用数量大于处方商品数量 + if ($remaining_quantity >= $product_data['product_num'] && $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']; + + OrderServicePackageProduct::addOrderServicePackageProduct($data); + } + } + } + // 处方药品表标记为已使用 $data = array(); $data['use_status'] = 1; @@ -1720,32 +1750,6 @@ class PatientOrderService extends BaseService ProductPlatformAmount::dec($params, 'stock', $product_data['product_num']); } - foreach ($product_datas as $product_data) { - // 处理健康包数据,增加使用数量 - if (!empty($order_service_package) && !empty($order_service_package_detail)){ - // 获取服务包内某一药品的总数量 - $total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']); - - // 获取服务包内某一药品的剩余数量 - $remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$product_data['product_id'],$total_quantity); - - // 可用数量大于处方商品数量 - 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; - } - } - // 修改处方为已使用 $data = array(); $data['prescription_status'] = 4;