新增:获取患者服务包订单列表

This commit is contained in:
2024-04-12 13:30:56 +08:00
parent ead795094c
commit 5971ca7d6e
5 changed files with 327 additions and 3 deletions
+41
View File
@@ -8,6 +8,7 @@ namespace App\Model;
use Carbon\Carbon;
use Hyperf\Database\Model\Collection;
use Hyperf\Database\Model\Relations\HasOne;
use Hyperf\Snowflake\Concern\Snowflake;
/**
@@ -56,6 +57,15 @@ class OrderServicePackage extends Model
protected string $primaryKey = "order_service_id";
/**
* 关联服务包病例表
*/
public function OrderServicePackageCase(): HasOne
{
return $this->hasOne(OrderServicePackageCase::class, 'order_service_id', 'order_service_id');
}
/**
* 获取信息-单条
* @param array $params
@@ -122,4 +132,35 @@ class OrderServicePackage extends Model
{
return self::where($params)->whereIn('order_service_status',$order_service_status)->first($fields);
}
/**
* 获取服务包订单-分页
* @param array $params
* @param array $order_service_status
* @param array $fields
* @param int|null $page
* @param int|null $per_page
* @return int|mixed|string
*/
public static function getPatientOrderServicePage(array $params, array $order_service_status_params, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
{
$raw = self::with([
'OrderServicePackageCase:order_service_case_id,order_service_id,disease_desc',
])
->where($params)
->when($order_service_status_params, function ($query, $order_service_status_params) {
$query->whereIn('order_service_status', $order_service_status_params);
})
->orderBy('created_at', 'desc')
->paginate($per_page, $fields, "page", $page);
$data = array();
$data['current_page'] = $raw->currentPage();// 当前页码
$data['total'] = $raw->total();//数据总数
$data['data'] = $raw->items();//数据
$data['per_page'] = $raw->perPage();//每页个数
$data['last_page'] = $raw->lastPage();//最后一页
return $data;
}
}