修改 创建药品订单
This commit is contained in:
parent
93c3ca45e3
commit
d6220dbd5f
@ -1504,6 +1504,7 @@ class PatientOrderService extends BaseService
|
||||
|
||||
// 商品数据
|
||||
$product['product_num'] = $order_prescription_product['prescription_product_num'];
|
||||
$product['used_quantity'] = 0; // 健康包服务下已使用赠送药品的数量,默认赋0
|
||||
$product_data = $product->toArray();
|
||||
$product_datas[] = $product_data;
|
||||
}
|
||||
@ -1535,7 +1536,7 @@ class PatientOrderService extends BaseService
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
$amount_total = 0;
|
||||
foreach ($product_datas as &$product_data){
|
||||
foreach ($product_datas as $key => $product_data){
|
||||
// 获取服务包内某一药品的总数量
|
||||
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']);
|
||||
|
||||
@ -1545,13 +1546,13 @@ class PatientOrderService extends BaseService
|
||||
// 可用数量大于处方商品数量
|
||||
if ($remaining_quantity >= $product_data['product_num']){
|
||||
// 把商品价格置为0。金额按照0计算
|
||||
$product_data['product_price'] = 0;
|
||||
$product_datas[$key]['product_price'] = 0;
|
||||
|
||||
// 已使用数量 = 原数量+此次使用数量
|
||||
$product_data['used_quantity'] = $product_data['product_num'];
|
||||
$product_datas[$key]['used_quantity'] = $product_data['product_num'];
|
||||
}else{
|
||||
// 已使用数量 = 最大可用数量;表示此服务包商品已使用完毕
|
||||
$product_data['used_quantity'] = $remaining_quantity;
|
||||
$product_datas[$key]['used_quantity'] = $remaining_quantity;
|
||||
}
|
||||
|
||||
// 此处重新计算药品总金额
|
||||
@ -1704,29 +1705,16 @@ 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);
|
||||
}
|
||||
}
|
||||
// 存在已使用药品数量
|
||||
if ($product_data['used_quantity'] > 0){
|
||||
$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);
|
||||
}
|
||||
|
||||
// 处方药品表标记为已使用
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user