修正获取服务包关联问诊订单消息内页基础数据3

This commit is contained in:
wucongxing8150 2024-04-24 16:04:09 +08:00
parent 9d8eade375
commit 3b427b34de
3 changed files with 34 additions and 14 deletions

View File

@ -14,14 +14,15 @@ use Hyperf\Snowflake\Concern\Snowflake;
* @property int $order_service_detail_id 主键id
* @property int $order_service_id 服务包订单id
* @property int $order_id 订单id
* @property int $package_id 健康包配置id随访包时为空
* @property string $order_service_no 系统订单编号
* @property int $service_period 服务周期(天)
* @property int $service_count 总服务次数0表示不限次
* @property int $monthly_frequency 每月次数0表示不限次
* @property string $single_inquiry_price 单次图文问诊价格
* @property string $service_price 总服务价格
* @property Carbon $created_at 创建时间
* @property Carbon $updated_at 修改时间
* @property \Carbon\Carbon $created_at 创建时间
* @property \Carbon\Carbon $updated_at 修改时间
*/
class OrderServicePackageDetail extends Model
{
@ -35,7 +36,7 @@ class OrderServicePackageDetail extends Model
/**
* The attributes that are mass assignable.
*/
protected array $fillable = ['order_service_detail_id', 'order_service_id', 'order_id', 'order_service_no', 'service_period', 'service_count', 'monthly_frequency', 'single_inquiry_price', 'service_price', 'created_at', 'updated_at'];
protected array $fillable = ['order_service_detail_id', 'order_service_id', 'order_id', 'package_id', 'order_service_no', 'service_period', 'service_count', 'monthly_frequency', 'single_inquiry_price', 'service_price', 'created_at', 'updated_at'];
protected string $primaryKey = "order_service_detail_id";

View File

@ -503,6 +503,9 @@ class OrderServicePackageService extends BaseService
$data = array();
$data['order_service_id'] = $order_service_package['order_service_id'];
$data['order_id'] = $order_service_package['order_id'];
if ($order_service_package['order_service_type'] == 1){
$data['package_id'] = 1;
}
$data['order_service_no'] = $order_service_package['order_service_no'];
$data['service_period'] = $service_period; // 服务周期(天)
$data['service_count'] = $service_count; // 总服务次数0表示不限次
@ -1236,6 +1239,23 @@ class OrderServicePackageService extends BaseService
return $result;
}
/**
* 获取服务包内所有药品
* @param string|int $package_id
* @return array
*/
public function getOrderServiceProduct(string|int $package_id): array
{
$params = array();
$params['package_id'] = $$package_id;
$health_package_products = HealthPackage::getList($params);
if (empty($health_package_products)){
return [];
}
return $health_package_products->toArray();
}
/**
* 获取服务包内某一药品的总数量
* @param string|int $product_id

View File

@ -3101,16 +3101,13 @@ class PatientOrderService extends BaseService
$result['order_service_package']['current_month_finish_date'] = $current_month_date['current_month_finish_date'];
// 获取服务包当月已问诊次数
$result['order_service_package']['month_inquiry_count'] = $OrderServicePackageService->getCurrentMonthInquiryCount($order_service_package['pay_time'],$order_service_package['order_service_type'],$user_info['client_user_id'], $order_service_package['doctor_id']);
if (!empty($order_service_package['pay_time'])){
$OrderServicePackageService = new OrderServicePackageService();
$result['order_service_package_detail']['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 (!empty($order_service_package['pay_time'])){
$OrderServicePackageService = new OrderServicePackageService();
$result['order_service_package_detail']['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['order_service_type'] == 1){
// 健康包商品数据
@ -3146,13 +3143,15 @@ class PatientOrderService extends BaseService
$result['order_product'] = $order_products->toArray();
}
if (!empty($order_service_package_products)) {
foreach ($order_service_package_products as $order_service_package_product) {
// 获取服务包内所有药品
$health_package_products = $OrderServicePackageService->getOrderServiceProduct($order_service_package_detail['package_id']);
if (!empty($health_package_products)) {
foreach ($health_package_products as $health_package_product) {
// 获取服务包内某一药品的总数量
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($order_service_package_product['product_id']);
$total_quantity = $OrderServicePackageService->getOrderServiceProductTotalQuantity($health_package_product['product_id']);
// 获取服务包内某一药品的剩余数量
$result['order_service_package_detail']['remaining_quantity'] = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$order_service_package_product['product_id'],$total_quantity);
$result['order_service_package_detail']['remaining_quantity'] = $OrderServicePackageService->getOrderServiceProductCanUseQuantity($order_service_package['order_service_id'],$health_package_product['product_id'],$total_quantity);
}
}
}