修正健康包赠送药品使用问题
This commit is contained in:
parent
8f80c8e7e9
commit
67faeeb85e
@ -1554,4 +1554,30 @@ class OrderServicePackageService extends BaseService
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取患者家庭成员进行中的服务包订单
|
||||
* @param string|int $patient_user_id
|
||||
* @param string|int $family_id
|
||||
* @param string|int $doctor_id
|
||||
* @param string|int $service_type
|
||||
* @return array
|
||||
*/
|
||||
public function getPatientFamilyInProgressServicePackage(string|int $patient_user_id,string|int $family_id,string|int $doctor_id,string|int $service_type): array
|
||||
{
|
||||
// 检测患者是否购买服务包
|
||||
$params = array();
|
||||
$params['user_id'] = $patient_user_id;
|
||||
$params['doctor_id'] = $doctor_id;
|
||||
$params['family_id'] = $family_id;
|
||||
$params['order_service_type'] = $service_type;
|
||||
|
||||
$order_service_status = ['3'];
|
||||
$order_service_package = OrderServicePackage::getStatusOne($params, $order_service_status);
|
||||
if (empty($order_service_package)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return $order_service_package->toArray();
|
||||
}
|
||||
}
|
||||
@ -1520,24 +1520,11 @@ class PatientOrderService extends BaseService
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 处理健康包赠送商品-金额、数量
|
||||
if ($order_inquiry['inquiry_type'] == 1 && $order_inquiry['inquiry_mode'] == 8){
|
||||
// 获取问诊订单关联服务包id
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_service_package_inquiry = OrderServicePackageInquiry::getOne($params);
|
||||
if (empty($order_service_package_inquiry)){
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 获取服务包订单
|
||||
$params = array();
|
||||
$params['order_service_no'] = $order_service_package_inquiry['order_service_no'];
|
||||
$order_service_package = OrderServicePackage::getOne($params);
|
||||
if (empty($order_service_package)){
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 获取患者家庭成员进行中的服务包订单
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$order_service_package = $OrderServicePackageService->getPatientFamilyInProgressServicePackage($order_inquiry['user_id'],$order_inquiry['family_id'],$order_inquiry['doctor_id'],1);
|
||||
if (!empty($order_service_package)){
|
||||
// 处理健康包赠送商品-金额、数量
|
||||
// 获取服务包订单详情
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
@ -1556,7 +1543,7 @@ class PatientOrderService extends BaseService
|
||||
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']);
|
||||
|
||||
// 获取服务包内某一药品的剩余数量
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package_inquiry['order_service_id'],$product_data['product_id'],$total_quantity);
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$product_data['product_id'],$total_quantity);
|
||||
|
||||
// 可用数量大于处方商品数量
|
||||
if ($remaining_quantity >= $product_data['product_num']){
|
||||
@ -2080,24 +2067,11 @@ class PatientOrderService extends BaseService
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 处理健康包赠送商品
|
||||
if ($order_inquiry['inquiry_type'] == 1 && $order_inquiry['inquiry_mode'] == 8){
|
||||
// 获取问诊订单关联服务包id
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_service_package_inquiry = OrderServicePackageInquiry::getOne($params);
|
||||
if (empty($order_service_package_inquiry)){
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 获取服务包订单
|
||||
$params = array();
|
||||
$params['order_service_no'] = $order_service_package_inquiry['order_service_no'];
|
||||
$order_service_package = OrderServicePackage::getOne($params);
|
||||
if (empty($order_service_package)){
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 获取患者家庭成员进行中的服务包订单
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
$order_service_package = $OrderServicePackageService->getPatientFamilyInProgressServicePackage($order_inquiry['user_id'],$order_inquiry['family_id'],$order_inquiry['doctor_id'],1);
|
||||
if (!empty($order_service_package)){
|
||||
// 处理健康包赠送商品
|
||||
// 获取服务包订单详情
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
@ -2108,15 +2082,13 @@ class PatientOrderService extends BaseService
|
||||
|
||||
// 此处不检测未支付的商品订单,在创建订单时会进行数量的扣减
|
||||
// 处理商品数量、金额
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
$amount_total = 0;
|
||||
foreach ($product_datas as &$product_data){
|
||||
// 获取服务包内某一药品的总数量
|
||||
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']);
|
||||
|
||||
// 获取服务包内某一药品的剩余数量
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package_inquiry['order_service_id'],$product_data['product_id'],$total_quantity);
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$product_data['product_id'],$total_quantity);
|
||||
|
||||
// 可用数量大于处方商品数量
|
||||
if ($remaining_quantity >= $product_data['product_num']){
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user