新增医生当日问诊数量问题

This commit is contained in:
wucongxing 2023-04-17 17:21:57 +08:00
parent bcbd632895
commit 3e09cdad05
2 changed files with 50 additions and 30 deletions

View File

@ -5,7 +5,6 @@ declare(strict_types=1);
namespace App\Model;
use Hyperf\Database\Model\Collection;
use Hyperf\Database\Model\Relations\HasOne;
use Hyperf\Database\Query\Builder;
@ -70,7 +69,7 @@ class OrderInquiry extends Model
*/
public function UserDoctor(): HasOne
{
return $this->hasOne(UserDoctor::class, 'doctor_id','doctor_id');
return $this->hasOne(UserDoctor::class, 'doctor_id', 'doctor_id');
}
/**
@ -78,7 +77,7 @@ class OrderInquiry extends Model
*/
public function OrderInquiryCase(): HasOne
{
return $this->hasOne(OrderInquiryCase::class, 'order_inquiry_id','order_inquiry_id');
return $this->hasOne(OrderInquiryCase::class, 'order_inquiry_id', 'order_inquiry_id');
}
/**
@ -123,6 +122,17 @@ class OrderInquiry extends Model
return self::where($params)->count();
}
/**
* 获取某段时间数量
* @param array $params
* @param array $created_at
* @return int
*/
public static function getDateCount(array $params, array $created_at): int
{
return self::where($params)->whereBetween('created_at', $created_at)->count();
}
/**
* 获取单条,排序
* @param array $params
@ -131,10 +141,11 @@ class OrderInquiry extends Model
*/
public static function getOrderOne(array $params, array $fields = ['*']): object|null
{
return self::where($params)->orderBy('created_at','desc')->first($fields);
return self::where($params)->orderBy('created_at', 'desc')->first($fields);
}
// public static function
/**
* 获取医生某一时间段接诊订单分页数据
* 已结束
@ -148,7 +159,7 @@ class OrderInquiry extends Model
public static function getDoctorDateOrderInquiryPage(array $params, array $reception_time, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
{
$raw = self::where($params)
->whereBetween('finish_time',$reception_time)
->whereBetween('finish_time', $reception_time)
->orderBy('finish_time')
->paginate($per_page, $fields, "page", $page);
@ -171,10 +182,10 @@ class OrderInquiry extends Model
* @param int|null $per_page
* @return int|mixed|string
*/
public static function getDoctorOrderInquiryPage(array $params,array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
public static function getDoctorOrderInquiryPage(array $params, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
{
$raw = self::where($params)
->orderBy('finish_time','desc')
->orderBy('finish_time', 'desc')
->paginate($per_page, $fields, "page", $page);
$data = array();
@ -197,8 +208,8 @@ class OrderInquiry extends Model
public static function getOrderInquiryBetweenTimeAmountTotalSum(array $params, array $reception_time, array $inquiry_status_params): mixed
{
return self::where($params)
->whereIn('inquiry_status',$inquiry_status_params)
->whereBetween('reception_time',$reception_time)
->whereIn('inquiry_status', $inquiry_status_params)
->whereBetween('reception_time', $reception_time)
->orderBy('reception_time')
->sum("amount_total");
}
@ -212,7 +223,7 @@ class OrderInquiry extends Model
public static function getOrderInquiryAmountTotalSum(array $params, array $inquiry_status_params): mixed
{
return self::where($params)
->whereIn('inquiry_status',$inquiry_status_params)
->whereIn('inquiry_status', $inquiry_status_params)
->orderBy('reception_time')
->sum("amount_total");
}
@ -227,12 +238,12 @@ class OrderInquiry extends Model
public static function getInquiryStatusWithDoctorList(array $params, array $inquiry_status_params, array $fields = ["*"]): Collection|array
{
return self::with([
'UserDoctor' => function ($query){
'UserDoctor' => function ($query) {
$query->orderBy('is_platform_deep_cooperation', 'desc');
}
])
->where($params)
->whereIn('inquiry_status',$inquiry_status_params)
->whereIn('inquiry_status', $inquiry_status_params)
->get($fields);
}
@ -244,16 +255,16 @@ class OrderInquiry extends Model
* @param array $fields
* @return Collection|array
*/
public static function getInquiryStatusWithDoctorNotInList(array $params, array $inquiry_status_params,array $not_in_params, array $fields = ["*"]): Collection|array
public static function getInquiryStatusWithDoctorNotInList(array $params, array $inquiry_status_params, array $not_in_params, array $fields = ["*"]): Collection|array
{
return self::with([
'UserDoctor' => function ($query){
'UserDoctor' => function ($query) {
$query->orderBy('is_platform_deep_cooperation', 'desc');
}
])
->where($params)
->whereIn('inquiry_status',$inquiry_status_params)
->whereNotIn('doctor_id',$not_in_params)
->whereIn('inquiry_status', $inquiry_status_params)
->whereNotIn('doctor_id', $not_in_params)
->get($fields);
}
@ -264,10 +275,10 @@ class OrderInquiry extends Model
* @param array $fields
* @return object|null
*/
public static function getInquiryStatusOne(array $params,array $inquiry_status_params,array $fields = ["*"]): object|null
public static function getInquiryStatusOne(array $params, array $inquiry_status_params, array $fields = ["*"]): object|null
{
return self::where($params)
->whereIn('inquiry_status',$inquiry_status_params)
->whereIn('inquiry_status', $inquiry_status_params)
->first($fields);
}
@ -292,16 +303,16 @@ class OrderInquiry extends Model
* @param int|null $per_page
* @return int|mixed|string
*/
public static function getPatientOrderInquiryPage(array $params,array $inquiry_status_params ,array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
public static function getPatientOrderInquiryPage(array $params, array $inquiry_status_params, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
{
$raw = self::with([
'OrderInquiryCase:inquiry_case_id,order_inquiry_id,disease_desc',
])
->where($params)
->when($inquiry_status_params, function ($query, $inquiry_status_params) {
$query->whereIn('inquiry_status',$inquiry_status_params);
$query->whereIn('inquiry_status', $inquiry_status_params);
})
->orderBy('created_at','desc')
->orderBy('created_at', 'desc')
->paginate($per_page, $fields, "page", $page);
$data = array();
@ -321,9 +332,9 @@ class OrderInquiry extends Model
* @param array $fields
* @return object|null
*/
public static function getInList(array $params, array $in_params,array $fields = ['*']): object|null
public static function getInList(array $params, array $in_params, array $fields = ['*']): object|null
{
return self::where($params)->whereIn('order_inquiry_id',$in_params)->get($fields);
return self::where($params)->whereIn('order_inquiry_id', $in_params)->get($fields);
}
@ -335,7 +346,7 @@ class OrderInquiry extends Model
*/
public static function getInquiryStatusCount(array $params, array $inquiry_status_params): int
{
return self::where($params)->whereIn("inquiry_status",$inquiry_status_params)->count();
return self::where($params)->whereIn("inquiry_status", $inquiry_status_params)->count();
}
/**
@ -347,11 +358,11 @@ class OrderInquiry extends Model
* @param int|null $per_page
* @return array
*/
public static function getInquiryStatusWithDoctorPage(array $params, array $inquiry_status_params,array $fields = ["*"], int $page = null, ?int $per_page = 10): array
public static function getInquiryStatusWithDoctorPage(array $params, array $inquiry_status_params, array $fields = ["*"], int $page = null, ?int $per_page = 10): array
{
$raw = self::where($params)
->whereIn('inquiry_status',$inquiry_status_params)
->orderBy('complete_time','desc')
->whereIn('inquiry_status', $inquiry_status_params)
->orderBy('complete_time', 'desc')
->paginate($per_page, $fields, "page", $page);
$data = array();

View File

@ -258,7 +258,16 @@ class PatientDoctorService extends BaseService
$params[] = ['inquiry_type', '=', $value['inquiry_type']];
$params[] = ['inquiry_mode', '=', 1];
$params[] = ['inquiry_refund_status', '=', 0];
$value['order_inquiry_count'] = OrderInquiry::getCount($params);
// 获取当天开始时间
$start_date = date('Y-m-d 00:00:00', time());
// 获取当天结束时间
$end_date = date('Y-m-d 23:59:59', time());
$created_at = [$start_date, $end_date];
$value['order_inquiry_count'] = OrderInquiry::getDateCount($params,$created_at);
// 获取系统问诊配置
$fields = [