新增医生当日问诊数量问题
This commit is contained in:
parent
bcbd632895
commit
3e09cdad05
@ -5,7 +5,6 @@ declare(strict_types=1);
|
|||||||
namespace App\Model;
|
namespace App\Model;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
use Hyperf\Database\Model\Collection;
|
use Hyperf\Database\Model\Collection;
|
||||||
use Hyperf\Database\Model\Relations\HasOne;
|
use Hyperf\Database\Model\Relations\HasOne;
|
||||||
use Hyperf\Database\Query\Builder;
|
use Hyperf\Database\Query\Builder;
|
||||||
@ -46,8 +45,8 @@ use Hyperf\Snowflake\Concern\Snowflake;
|
|||||||
* @property int $patient_age 患者年龄-就诊人
|
* @property int $patient_age 患者年龄-就诊人
|
||||||
* @property \Carbon\Carbon $created_at 创建时间
|
* @property \Carbon\Carbon $created_at 创建时间
|
||||||
* @property \Carbon\Carbon $updated_at 修改时间
|
* @property \Carbon\Carbon $updated_at 修改时间
|
||||||
* @property-read OrderInquiryCase $OrderInquiryCase
|
* @property-read OrderInquiryCase $OrderInquiryCase
|
||||||
* @property-read UserDoctor $UserDoctor
|
* @property-read UserDoctor $UserDoctor
|
||||||
*/
|
*/
|
||||||
class OrderInquiry extends Model
|
class OrderInquiry extends Model
|
||||||
{
|
{
|
||||||
@ -70,7 +69,7 @@ class OrderInquiry extends Model
|
|||||||
*/
|
*/
|
||||||
public function UserDoctor(): HasOne
|
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
|
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();
|
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
|
* @param array $params
|
||||||
@ -131,10 +141,11 @@ class OrderInquiry extends Model
|
|||||||
*/
|
*/
|
||||||
public static function getOrderOne(array $params, array $fields = ['*']): object|null
|
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
|
// 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
|
public static function getDoctorDateOrderInquiryPage(array $params, array $reception_time, array $fields = ["*"], int $page = null, ?int $per_page = 10): mixed
|
||||||
{
|
{
|
||||||
$raw = self::where($params)
|
$raw = self::where($params)
|
||||||
->whereBetween('finish_time',$reception_time)
|
->whereBetween('finish_time', $reception_time)
|
||||||
->orderBy('finish_time')
|
->orderBy('finish_time')
|
||||||
->paginate($per_page, $fields, "page", $page);
|
->paginate($per_page, $fields, "page", $page);
|
||||||
|
|
||||||
@ -171,10 +182,10 @@ class OrderInquiry extends Model
|
|||||||
* @param int|null $per_page
|
* @param int|null $per_page
|
||||||
* @return int|mixed|string
|
* @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)
|
$raw = self::where($params)
|
||||||
->orderBy('finish_time','desc')
|
->orderBy('finish_time', 'desc')
|
||||||
->paginate($per_page, $fields, "page", $page);
|
->paginate($per_page, $fields, "page", $page);
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
@ -197,8 +208,8 @@ class OrderInquiry extends Model
|
|||||||
public static function getOrderInquiryBetweenTimeAmountTotalSum(array $params, array $reception_time, array $inquiry_status_params): mixed
|
public static function getOrderInquiryBetweenTimeAmountTotalSum(array $params, array $reception_time, array $inquiry_status_params): mixed
|
||||||
{
|
{
|
||||||
return self::where($params)
|
return self::where($params)
|
||||||
->whereIn('inquiry_status',$inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->whereBetween('reception_time',$reception_time)
|
->whereBetween('reception_time', $reception_time)
|
||||||
->orderBy('reception_time')
|
->orderBy('reception_time')
|
||||||
->sum("amount_total");
|
->sum("amount_total");
|
||||||
}
|
}
|
||||||
@ -212,7 +223,7 @@ class OrderInquiry extends Model
|
|||||||
public static function getOrderInquiryAmountTotalSum(array $params, array $inquiry_status_params): mixed
|
public static function getOrderInquiryAmountTotalSum(array $params, array $inquiry_status_params): mixed
|
||||||
{
|
{
|
||||||
return self::where($params)
|
return self::where($params)
|
||||||
->whereIn('inquiry_status',$inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->orderBy('reception_time')
|
->orderBy('reception_time')
|
||||||
->sum("amount_total");
|
->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
|
public static function getInquiryStatusWithDoctorList(array $params, array $inquiry_status_params, array $fields = ["*"]): Collection|array
|
||||||
{
|
{
|
||||||
return self::with([
|
return self::with([
|
||||||
'UserDoctor' => function ($query){
|
'UserDoctor' => function ($query) {
|
||||||
$query->orderBy('is_platform_deep_cooperation', 'desc');
|
$query->orderBy('is_platform_deep_cooperation', 'desc');
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
->where($params)
|
->where($params)
|
||||||
->whereIn('inquiry_status',$inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->get($fields);
|
->get($fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,16 +255,16 @@ class OrderInquiry extends Model
|
|||||||
* @param array $fields
|
* @param array $fields
|
||||||
* @return Collection|array
|
* @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([
|
return self::with([
|
||||||
'UserDoctor' => function ($query){
|
'UserDoctor' => function ($query) {
|
||||||
$query->orderBy('is_platform_deep_cooperation', 'desc');
|
$query->orderBy('is_platform_deep_cooperation', 'desc');
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
->where($params)
|
->where($params)
|
||||||
->whereIn('inquiry_status',$inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->whereNotIn('doctor_id',$not_in_params)
|
->whereNotIn('doctor_id', $not_in_params)
|
||||||
->get($fields);
|
->get($fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,10 +275,10 @@ class OrderInquiry extends Model
|
|||||||
* @param array $fields
|
* @param array $fields
|
||||||
* @return object|null
|
* @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)
|
return self::where($params)
|
||||||
->whereIn('inquiry_status',$inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->first($fields);
|
->first($fields);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -292,16 +303,16 @@ class OrderInquiry extends Model
|
|||||||
* @param int|null $per_page
|
* @param int|null $per_page
|
||||||
* @return int|mixed|string
|
* @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([
|
$raw = self::with([
|
||||||
'OrderInquiryCase:inquiry_case_id,order_inquiry_id,disease_desc',
|
'OrderInquiryCase:inquiry_case_id,order_inquiry_id,disease_desc',
|
||||||
])
|
])
|
||||||
->where($params)
|
->where($params)
|
||||||
->when($inquiry_status_params, function ($query, $inquiry_status_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);
|
->paginate($per_page, $fields, "page", $page);
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
@ -321,9 +332,9 @@ class OrderInquiry extends Model
|
|||||||
* @param array $fields
|
* @param array $fields
|
||||||
* @return object|null
|
* @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
|
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
|
* @param int|null $per_page
|
||||||
* @return array
|
* @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)
|
$raw = self::where($params)
|
||||||
->whereIn('inquiry_status',$inquiry_status_params)
|
->whereIn('inquiry_status', $inquiry_status_params)
|
||||||
->orderBy('complete_time','desc')
|
->orderBy('complete_time', 'desc')
|
||||||
->paginate($per_page, $fields, "page", $page);
|
->paginate($per_page, $fields, "page", $page);
|
||||||
|
|
||||||
$data = array();
|
$data = array();
|
||||||
|
|||||||
@ -258,7 +258,16 @@ class PatientDoctorService extends BaseService
|
|||||||
$params[] = ['inquiry_type', '=', $value['inquiry_type']];
|
$params[] = ['inquiry_type', '=', $value['inquiry_type']];
|
||||||
$params[] = ['inquiry_mode', '=', 1];
|
$params[] = ['inquiry_mode', '=', 1];
|
||||||
$params[] = ['inquiry_refund_status', '=', 0];
|
$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 = [
|
$fields = [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user