修改创建药品订单+支付页数据的药品价格计算
This commit is contained in:
parent
1671fcac2f
commit
7000436312
@ -303,7 +303,7 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
|
||||
$order_inquiry_refund = OrderInquiryRefund::getList($params);
|
||||
if (!empty($order_inquiry_refund)){
|
||||
if (!empty($order_inquiry_refund)) {
|
||||
$order_inquiry['order_inquiry_refund'] = $order_inquiry_refund;
|
||||
}
|
||||
|
||||
@ -471,9 +471,9 @@ class PatientOrderService extends BaseService
|
||||
Order::edit($params, $data);
|
||||
|
||||
Db::commit();
|
||||
}catch (\Throwable $e){
|
||||
} catch (\Throwable $e) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR,$e->getMessage());
|
||||
return fail(HttpEnumCode::SERVER_ERROR, $e->getMessage());
|
||||
}
|
||||
|
||||
return success();
|
||||
@ -504,7 +504,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
$OrderService = new OrderService();
|
||||
$result = $OrderService->cancelUnpayOrder($order_inquiry['inquiry_no'],2,"主动取消");
|
||||
$result = $OrderService->cancelUnpayOrder($order_inquiry['inquiry_no'], 2, "主动取消");
|
||||
if ($result['status'] != 1) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, $result['message']);
|
||||
@ -754,9 +754,9 @@ class PatientOrderService extends BaseService
|
||||
Order::edit($params, $data);
|
||||
|
||||
Db::commit();
|
||||
}catch (\Throwable $e){
|
||||
} catch (\Throwable $e) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR,$e->getMessage());
|
||||
return fail(HttpEnumCode::SERVER_ERROR, $e->getMessage());
|
||||
}
|
||||
|
||||
return success();
|
||||
@ -1092,9 +1092,9 @@ class PatientOrderService extends BaseService
|
||||
$result['created_at'] = $order_service_package['created_at'];
|
||||
$result['inquiry_type'] = 1;
|
||||
|
||||
if ($order_service_package['order_service_type'] == 1){
|
||||
if ($order_service_package['order_service_type'] == 1) {
|
||||
$inquiry_mode = 8;
|
||||
}else{
|
||||
} else {
|
||||
$inquiry_mode = 9;
|
||||
}
|
||||
$result['inquiry_mode'] = $inquiry_mode;
|
||||
@ -1240,7 +1240,7 @@ class PatientOrderService extends BaseService
|
||||
|
||||
$params = array();
|
||||
$params['order_no'] = $order_inquiry['inquiry_no'];
|
||||
Order::edit($params,$data);
|
||||
Order::edit($params, $data);
|
||||
|
||||
// 加入分配医生队列-快速-购药
|
||||
if ($order_inquiry['inquiry_type'] == 2 || $order_inquiry['inquiry_type'] == 4) {
|
||||
@ -1338,27 +1338,27 @@ class PatientOrderService extends BaseService
|
||||
|
||||
$params = array();
|
||||
$params['order_no'] = $order_product['order_product_no'];
|
||||
Order::edit($params,$data);
|
||||
Order::edit($params, $data);
|
||||
|
||||
try {
|
||||
if ($order_product['coupon_amount_total'] > 0){
|
||||
if ($order_product['coupon_amount_total'] > 0) {
|
||||
// 获取药品订单优惠卷数据
|
||||
$params = array();
|
||||
$params['order_product_id'] = $order_product['order_product_id'];
|
||||
$order_product_coupons = OrderProductCoupon::getList($params);
|
||||
if (!empty($order_product_coupons)){
|
||||
foreach ($order_product_coupons as $order_product_coupon){
|
||||
if (!empty($order_product_coupons)) {
|
||||
foreach ($order_product_coupons as $order_product_coupon) {
|
||||
// 获取用户优惠卷数据
|
||||
$params = array();
|
||||
$params['user_coupon_id'] = $order_product_coupon['user_coupon_id'];
|
||||
$user_coupon = UserCoupon::getOne($params);
|
||||
if (!empty($user_coupon)){
|
||||
if (!empty($user_coupon)) {
|
||||
// 获取优惠卷数据
|
||||
$params = array();
|
||||
$params['coupon_id'] = $user_coupon['coupon_id'];
|
||||
$coupon = Coupon::getOne($params);
|
||||
if (!empty($coupon)){
|
||||
if ($coupon['reissue_interval_days'] > 0){
|
||||
if (!empty($coupon)) {
|
||||
if ($coupon['reissue_interval_days'] > 0) {
|
||||
$data = array();
|
||||
$data['coupon_id'] = $coupon['coupon_id'];
|
||||
$data['user_id'] = $user_coupon['user_id'];
|
||||
@ -1379,7 +1379,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
}
|
||||
}
|
||||
}catch (\Throwable $e){
|
||||
} catch (\Throwable $e) {
|
||||
// 此处异常不做处理
|
||||
Log::getInstance("PatientOrderService-addPatientOrderPay")->error($e->getMessage());
|
||||
}
|
||||
@ -1402,7 +1402,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
Db::commit();
|
||||
}catch (\Throwable $e){
|
||||
} catch (\Throwable $e) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR, $e->getMessage());
|
||||
}
|
||||
@ -1454,7 +1454,7 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_prescription['order_inquiry_id'];
|
||||
$order_inquiry = OrderInquiry::getOne($params);
|
||||
if (empty($order_inquiry)){
|
||||
if (empty($order_inquiry)) {
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "创建订单失败");
|
||||
}
|
||||
|
||||
@ -1505,6 +1505,7 @@ class PatientOrderService extends BaseService
|
||||
// 商品数据
|
||||
$product['product_num'] = $order_prescription_product['prescription_product_num'];
|
||||
$product['used_quantity'] = 0; // 健康包服务下已使用赠送药品的数量,默认赋0
|
||||
$product['actual_quantity'] = $order_prescription_product['prescription_product_num']; // 实际药品数量 = 处方数量 - 健康包可使用的赠送药品数量
|
||||
$product_data = $product->toArray();
|
||||
$product_datas[] = $product_data;
|
||||
}
|
||||
@ -1520,14 +1521,14 @@ class PatientOrderService extends BaseService
|
||||
|
||||
// 获取患者家庭成员进行中的服务包订单-健康包
|
||||
$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)){
|
||||
$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'];
|
||||
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
|
||||
if (empty($order_service_package_detail)){
|
||||
if (empty($order_service_package_detail)) {
|
||||
return fail();
|
||||
}
|
||||
|
||||
@ -1536,23 +1537,29 @@ class PatientOrderService extends BaseService
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
$amount_total = 0;
|
||||
foreach ($product_datas as $key => $product_data){
|
||||
foreach ($product_datas as $key => $product_data) {
|
||||
// 获取服务包内某一药品的总数量
|
||||
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']);
|
||||
$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);
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'], $product_data['product_id'], $total_quantity);
|
||||
|
||||
// 可用数量大于处方商品数量
|
||||
if ($remaining_quantity >= $product_data['product_num']){
|
||||
if ($remaining_quantity >= $product_data['product_num']) {
|
||||
// 把商品价格置为0。金额按照0计算
|
||||
$product_datas[$key]['product_price'] = 0;
|
||||
|
||||
// 已使用数量 = 原数量+此次使用数量
|
||||
$product_datas[$key]['used_quantity'] = $product_data['product_num'];
|
||||
}else{
|
||||
|
||||
// 实际药品数量 = 处方数量 - 健康包可使用的赠送药品数量
|
||||
$product_data['actual_quantity'] = 0;
|
||||
} else {
|
||||
// 已使用数量 = 最大可用数量;表示此服务包商品已使用完毕
|
||||
$product_datas[$key]['used_quantity'] = $remaining_quantity;
|
||||
|
||||
// 实际药品数量 = 处方数量 - 健康包可使用的赠送药品数量
|
||||
$product_data[$key]['actual_quantity'] = $product_data['product_num'] - $remaining_quantity;
|
||||
}
|
||||
|
||||
// 此处重新计算药品总金额
|
||||
@ -1560,7 +1567,7 @@ class PatientOrderService extends BaseService
|
||||
$amount_total,
|
||||
bcmul(
|
||||
$product_datas[$key]['product_price'],
|
||||
$product_data['product_num'],
|
||||
$product_data['actual_quantity'],
|
||||
2
|
||||
),
|
||||
2
|
||||
@ -1594,7 +1601,7 @@ class PatientOrderService extends BaseService
|
||||
// 实际支付金额=商品总金额-优惠卷金额+运费金额
|
||||
$payment_amount_total = bcadd(
|
||||
bcsub(
|
||||
$amount_total ,
|
||||
$amount_total,
|
||||
$coupon_amount_total,
|
||||
2
|
||||
),
|
||||
@ -1602,12 +1609,12 @@ class PatientOrderService extends BaseService
|
||||
2
|
||||
);
|
||||
if ($app_env == "dev") {
|
||||
if ($payment_amount_total > 0){
|
||||
if ($payment_amount_total > 0) {
|
||||
$payment_amount_total = 0.01;
|
||||
}
|
||||
}
|
||||
|
||||
if ($payment_amount_total < 0){
|
||||
if ($payment_amount_total < 0) {
|
||||
return fail(HttpEnumCode::SERVER_ERROR);
|
||||
}
|
||||
|
||||
@ -1617,7 +1624,7 @@ class PatientOrderService extends BaseService
|
||||
$pay_channel = 1;
|
||||
} elseif ($client_type == 2) {
|
||||
$pay_channel = 2;
|
||||
}else{
|
||||
} else {
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "支付方式错误");
|
||||
}
|
||||
|
||||
@ -1693,7 +1700,7 @@ class PatientOrderService extends BaseService
|
||||
$data['order_prescription_id'] = $order_prescription['order_prescription_id'];
|
||||
$data['product_id'] = $product_data['product_id'];
|
||||
$data['product_name'] = $product_data['product_name'];
|
||||
$data['product_price'] = bcmul($product_data['product_price'],$product_data['product_num'],3);
|
||||
$data['product_price'] = bcmul($product_data['product_price'], $product_data['actual_quantity'], 3);
|
||||
$data['product_platform_code'] = $product_data['product_platform_code'];
|
||||
$data['amount'] = $product_data['product_num'];
|
||||
$data['manufacturer'] = $product_data['manufacturer'];
|
||||
@ -1706,7 +1713,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
// 存在已使用药品数量
|
||||
if ($product_data['used_quantity'] > 0){
|
||||
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'];
|
||||
@ -1743,7 +1750,7 @@ class PatientOrderService extends BaseService
|
||||
|
||||
// 处理优惠卷数据
|
||||
if (!empty($user_coupons)) {
|
||||
foreach ($user_coupons as $user_coupon){
|
||||
foreach ($user_coupons as $user_coupon) {
|
||||
// 增加订单优惠卷表
|
||||
$data = array();
|
||||
$data['order_id'] = $order['order_id'];// 订单id
|
||||
@ -1781,7 +1788,7 @@ class PatientOrderService extends BaseService
|
||||
|
||||
// 增加至未支付取消订单延迟队列
|
||||
$time = 60 * 30;
|
||||
if (\Hyperf\Config\config('app_env') == "dev"){
|
||||
if (\Hyperf\Config\config('app_env') == "dev") {
|
||||
$time = 60 * 5;
|
||||
}
|
||||
|
||||
@ -2009,7 +2016,7 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_prescription['order_inquiry_id'];
|
||||
$order_inquiry = OrderInquiry::getOne($params);
|
||||
if (empty($order_inquiry)){
|
||||
if (empty($order_inquiry)) {
|
||||
return fail();
|
||||
}
|
||||
|
||||
@ -2043,10 +2050,12 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
}
|
||||
|
||||
$amount_total = bcadd($amount_total,($product['product_price'] * $order_prescription_product['prescription_product_num']),2);
|
||||
$amount_total = bcadd($amount_total, ($product['product_price'] * $order_prescription_product['prescription_product_num']), 2);
|
||||
|
||||
// 处方药品数据
|
||||
$product['product_num'] = $order_prescription_product['prescription_product_num'];
|
||||
$product['used_quantity'] = 0; // 已使用数量
|
||||
$product['actual_quantity'] = $order_prescription_product['prescription_product_num']; // 实际药品数量 = 处方数量 - 健康包可使用的赠送药品数量
|
||||
$product_data = $product->toArray();
|
||||
$product_datas[] = $product_data;
|
||||
}
|
||||
@ -2057,31 +2066,43 @@ class PatientOrderService extends BaseService
|
||||
|
||||
// 获取患者家庭成员进行中的服务包订单
|
||||
$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)){
|
||||
$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'];
|
||||
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
|
||||
if (empty($order_service_package_detail)){
|
||||
if (empty($order_service_package_detail)) {
|
||||
return fail();
|
||||
}
|
||||
|
||||
// 此处不检测未支付的商品订单,在创建订单时会进行数量的扣减
|
||||
// 处理商品数量、金额
|
||||
$amount_total = 0;
|
||||
foreach ($product_datas as &$product_data){
|
||||
foreach ($product_datas as &$product_data) {
|
||||
// 获取服务包内某一药品的总数量
|
||||
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_detail['package_id'],$product_data['product_id']);
|
||||
$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);
|
||||
$remaining_quantity = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'], $product_data['product_id'], $total_quantity);
|
||||
|
||||
// 可用数量大于处方商品数量
|
||||
if ($remaining_quantity >= $product_data['product_num']){
|
||||
if ($remaining_quantity >= $product_data['product_num']) {
|
||||
// 把商品价格置为0。金额按照0计算
|
||||
$product_data['product_price'] = 0;
|
||||
|
||||
// 已使用数量 = 原数量+此次使用数量
|
||||
$product_data['used_quantity'] = $product_data['product_num'];
|
||||
|
||||
// 实际药品数量 = 处方数量 - 健康包可使用的赠送药品数量
|
||||
$product_data['actual_quantity'] = 0;
|
||||
} else {
|
||||
// 已使用数量 = 最大可用数量;表示此服务包商品已使用完毕
|
||||
$product_data['used_quantity'] = $remaining_quantity;
|
||||
|
||||
// 实际药品数量 = 处方数量 - 健康包可使用的赠送药品数量
|
||||
$product_data['actual_quantity'] = $product_data['product_num'] - $remaining_quantity;
|
||||
}
|
||||
|
||||
// 此处重新计算药品总金额
|
||||
@ -2089,7 +2110,7 @@ class PatientOrderService extends BaseService
|
||||
$amount_total,
|
||||
bcmul(
|
||||
$product_data['product_price'],
|
||||
$product_data['product_num'],
|
||||
$product_data['actual_quantity'],
|
||||
2
|
||||
),
|
||||
2
|
||||
@ -2115,7 +2136,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
// 实际支付金额=商品总金额-优惠卷金额+运费金额
|
||||
$payment_amount_total = bcadd(bcsub($amount_total , $coupon_amount_total,2), $logistics_fee, 2);
|
||||
$payment_amount_total = bcadd(bcsub($amount_total, $coupon_amount_total, 2), $logistics_fee, 2);
|
||||
|
||||
// 获取收货地址
|
||||
$params = array();
|
||||
@ -2450,9 +2471,9 @@ class PatientOrderService extends BaseService
|
||||
Order::edit($params, $data);
|
||||
|
||||
Db::commit();
|
||||
}catch (\Throwable $e){
|
||||
} catch (\Throwable $e) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::SERVER_ERROR,$e->getMessage());
|
||||
return fail(HttpEnumCode::SERVER_ERROR, $e->getMessage());
|
||||
}
|
||||
|
||||
return success();
|
||||
@ -2535,7 +2556,7 @@ class PatientOrderService extends BaseService
|
||||
if ($order_detection['detection_pay_status'] == 2 && $order_detection['detection_refund_status'] != 3) {
|
||||
// 需退款
|
||||
$OrderService = new OrderService();
|
||||
$OrderService->orderRefund($order_detection['detection_no'],"取消检测");
|
||||
$OrderService->orderRefund($order_detection['detection_no'], "取消检测");
|
||||
}
|
||||
|
||||
// 删除锁
|
||||
@ -2625,7 +2646,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
$OrderService = new OrderService();
|
||||
$result = $OrderService->cancelUnpayOrder($order_service_package['order_service_no'],2,"主动取消");
|
||||
$result = $OrderService->cancelUnpayOrder($order_service_package['order_service_no'], 2, "主动取消");
|
||||
if ($result['status'] != 1) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, $result['message']);
|
||||
@ -2658,13 +2679,13 @@ class PatientOrderService extends BaseService
|
||||
$params['patient_id'] = $user_info['client_user_id'];
|
||||
$params['order_no'] = $order_no;
|
||||
$order = Order::getOne($params);
|
||||
if (empty($order)){
|
||||
if (empty($order)) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "非法订单");
|
||||
}
|
||||
|
||||
$OrderService = new OrderService();
|
||||
$result = $OrderService->cancelUnpayOrder($order['order_no'],2,"主动取消");
|
||||
$result = $OrderService->cancelUnpayOrder($order['order_no'], 2, "主动取消");
|
||||
if ($result['status'] != 1) {
|
||||
Db::rollBack();
|
||||
return fail(HttpEnumCode::HTTP_ERROR, $result['message']);
|
||||
@ -2742,7 +2763,7 @@ class PatientOrderService extends BaseService
|
||||
$order_detection = OrderDetection::getOne($params);
|
||||
if (!empty($order_detection)) {
|
||||
// 推送患者-订单取消成功通知
|
||||
$MessagePush = new MessagePush($order_detection['user_id'],$order_detection['detection_no']);
|
||||
$MessagePush = new MessagePush($order_detection['user_id'], $order_detection['detection_no']);
|
||||
$MessagePush->patientCancelDetectionOrderSuccess($order_detection['order_detection_id']);
|
||||
}
|
||||
|
||||
@ -2763,7 +2784,7 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_inquiry = OrderServicePackageInquiry::getOne($params);
|
||||
if (!empty($order_service_package_inquiry)){
|
||||
if (!empty($order_service_package_inquiry)) {
|
||||
// 获取医生数据
|
||||
$params = array();
|
||||
$params['doctor_id'] = $order_service_package['doctor_id'];
|
||||
@ -2779,7 +2800,7 @@ class PatientOrderService extends BaseService
|
||||
default:
|
||||
// 错误不处理
|
||||
}
|
||||
}catch (\Throwable $e){
|
||||
} catch (\Throwable $e) {
|
||||
// 错误不处理
|
||||
Log::getInstance("PatientOrderService-putCancelPatientOrder")->error($e->getMessage());
|
||||
}
|
||||
@ -2822,7 +2843,7 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
if ($order_service_status == 4) {
|
||||
$order_service_status_params = [4,5];
|
||||
$order_service_status_params = [4, 5];
|
||||
}
|
||||
}
|
||||
|
||||
@ -3023,17 +3044,17 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_refund = OrderServicePackageRefund::getList($params);
|
||||
if (!empty($order_service_package_refund)){
|
||||
if (!empty($order_service_package_refund)) {
|
||||
$order_service_package['order_service_package_refund'] = $order_service_package_refund;
|
||||
}
|
||||
|
||||
$order_service_package['discount_product_total_amount'] = 0;
|
||||
|
||||
if ($order_service_package['order_service_type'] == 1){
|
||||
if ($order_service_package['order_service_type'] == 1) {
|
||||
// 获取健康包配置
|
||||
$params = array();
|
||||
$health_package = HealthPackage::getOne($params);
|
||||
if (empty($health_package)){
|
||||
if (empty($health_package)) {
|
||||
return fail();
|
||||
}
|
||||
|
||||
@ -3046,7 +3067,7 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_id'] = $order_service_package['order_id'];
|
||||
$order_refund = OrderRefund::getOne($params);
|
||||
if (!empty($order_refund)){
|
||||
if (!empty($order_refund)) {
|
||||
$order_service_package['refund_total'] = $order_refund['refund_total'];
|
||||
}
|
||||
|
||||
@ -3056,7 +3077,7 @@ class PatientOrderService extends BaseService
|
||||
$params = array();
|
||||
$params['order_id'] = $order_service_package['order_id'];
|
||||
$order_refund = OrderRefund::getList($params);
|
||||
if (!empty($order_refund)){
|
||||
if (!empty($order_refund)) {
|
||||
$order_service_package['order_refund'] = $order_refund;
|
||||
}
|
||||
|
||||
@ -3091,17 +3112,17 @@ class PatientOrderService extends BaseService
|
||||
$params['patient_id'] = $user_info['client_user_id'];
|
||||
$params['order_service_no'] = $order_no;
|
||||
$params['is_delete'] = 0;
|
||||
$order_service_package = OrderServicePackage::getOne($params,$fields);
|
||||
$order_service_package = OrderServicePackage::getOne($params, $fields);
|
||||
if (empty($order_service_package)) {
|
||||
return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "非法订单");
|
||||
}
|
||||
|
||||
// 获取订单详情数据
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_detail = OrderServicePackageDetail::getOne($params);
|
||||
if (empty($order_service_package_detail)){
|
||||
return fail(HttpEnumCode::HTTP_ERROR,"非法订单");
|
||||
if (empty($order_service_package_detail)) {
|
||||
return fail(HttpEnumCode::HTTP_ERROR, "非法订单");
|
||||
}
|
||||
|
||||
// 定义返回数据
|
||||
@ -3116,12 +3137,12 @@ class PatientOrderService extends BaseService
|
||||
$OrderServicePackageService = new OrderServicePackageService();
|
||||
|
||||
// 获取问诊订单数据
|
||||
if (in_array($order_service_package['order_service_status'],[2,3,4,5])){
|
||||
if (in_array($order_service_package['order_service_status'], [2, 3, 4, 5])) {
|
||||
// 订单状态(1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_inquirys = OrderServicePackageInquiry::getList($params);
|
||||
foreach ($order_service_package_inquirys as $key => $order_service_package_inquiry){
|
||||
foreach ($order_service_package_inquirys as $key => $order_service_package_inquiry) {
|
||||
// 获取问诊订单数据
|
||||
$fields = [
|
||||
'order_inquiry_id',
|
||||
@ -3131,32 +3152,32 @@ class PatientOrderService extends BaseService
|
||||
|
||||
$params = array();
|
||||
$params['order_inquiry_id'] = $order_service_package_inquiry['order_inquiry_id'];
|
||||
$order_inquiry = OrderInquiry::getOne($params,$fields);
|
||||
if (!empty($order_inquiry)){
|
||||
$order_inquiry = OrderInquiry::getOne($params, $fields);
|
||||
if (!empty($order_inquiry)) {
|
||||
$result['order_inquiry'][$key] = $order_inquiry->toArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (in_array($order_service_package['order_service_status'],[3,4,5])){
|
||||
if (in_array($order_service_package['order_service_status'], [3, 4, 5])) {
|
||||
// 订单状态(1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
|
||||
if (!empty($order_service_package['start_time'])){
|
||||
if (!empty($order_service_package['start_time'])) {
|
||||
// 当月时间
|
||||
$current_month_date = $OrderServicePackageService->getCurrentMonthDate($order_service_package['start_time']);
|
||||
$result['order_service_package']['current_month_start_date'] = $current_month_date['current_month_start_date'];
|
||||
$result['order_service_package']['current_month_finish_date'] = $current_month_date['current_month_finish_date'];
|
||||
|
||||
// 获取服务包当月已问诊次数
|
||||
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
$month_inquiry_count = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'], $order_service_package['order_service_type'], $order_service_package['user_id'], $order_service_package['doctor_id']);
|
||||
|
||||
// 获取服务包当月剩余问诊次数
|
||||
if ($order_service_package_detail['monthly_frequency'] != 0) {
|
||||
// 获取服务包当月剩余问诊次数
|
||||
$remaining_inquiry_count = $order_service_package_detail['monthly_frequency'] - $month_inquiry_count;
|
||||
if ($remaining_inquiry_count < 0){
|
||||
if ($remaining_inquiry_count < 0) {
|
||||
$remaining_inquiry_count = 0;
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
$remaining_inquiry_count = "不限";
|
||||
}
|
||||
|
||||
@ -3166,27 +3187,27 @@ class PatientOrderService extends BaseService
|
||||
}
|
||||
|
||||
// 健康包数据
|
||||
if ($order_service_package['order_service_type'] == 1){
|
||||
if ($order_service_package['order_service_type'] == 1) {
|
||||
// 健康包关联优惠卷数据
|
||||
if (in_array($order_service_package['order_service_status'],[3,4,5])){
|
||||
if (in_array($order_service_package['order_service_status'], [3, 4, 5])) {
|
||||
// 订单状态(1:待支付 2:未开始 3:服务中 4:服务完成 5:服务取消)
|
||||
// 获取患者某一类型下的全部优惠卷
|
||||
$coupon = UserCoupon::getUserAllObjectTypeCoupon($order_service_package['user_id'],7);
|
||||
if (!empty($coupon)){
|
||||
$coupon = UserCoupon::getUserAllObjectTypeCoupon($order_service_package['user_id'], 7);
|
||||
if (!empty($coupon)) {
|
||||
$result['order_service_package_coupon'] = $coupon->toArray();
|
||||
}
|
||||
}
|
||||
|
||||
// 健康包药品订单数据-周期内所有药品订单
|
||||
if (in_array($order_service_package['order_service_status'],[3,4,5])){
|
||||
if (in_array($order_service_package['order_service_status'], [3, 4, 5])) {
|
||||
$params = array();
|
||||
$params['order_service_id'] = $order_service_package['order_service_id'];
|
||||
$order_service_package_products = OrderServicePackageProduct::getList($params);
|
||||
foreach ($order_service_package_products as $order_service_package_product){
|
||||
foreach ($order_service_package_products as $order_service_package_product) {
|
||||
$params = array();
|
||||
$params['order_product_id'] = $order_service_package_product['order_product_id'];
|
||||
$order_product = OrderProduct::getOne($params);
|
||||
if (!empty($order_product)){
|
||||
if (!empty($order_product)) {
|
||||
$result['order_product'][] = $order_product->toArray();
|
||||
}
|
||||
}
|
||||
@ -3195,7 +3216,7 @@ class PatientOrderService extends BaseService
|
||||
$health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']);
|
||||
foreach ($health_package_products as $health_package_product) {
|
||||
// 获取服务包内某一药品的剩余数量
|
||||
$result['order_service_package_detail']['remaining_quantity'] = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$health_package_product['product_id'],$health_package_product['quantity']);
|
||||
$result['order_service_package_detail']['remaining_quantity'] = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'], $health_package_product['product_id'], $health_package_product['quantity']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3211,7 +3232,7 @@ class PatientOrderService extends BaseService
|
||||
* @param string $family_id
|
||||
* @return string
|
||||
*/
|
||||
public function getNotFinishedOrderInquiry(string|int $inquiry_type,string|int $inquiry_mode, string $patient_id = '', string $family_id = ''): string
|
||||
public function getNotFinishedOrderInquiry(string|int $inquiry_type, string|int $inquiry_mode, string $patient_id = '', string $family_id = ''): string
|
||||
{
|
||||
$params = array();
|
||||
if (!empty($patient_id)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user