修改分配医生规则,去除10、30分钟内接诊过的医生

This commit is contained in:
wucongxing 2023-04-26 17:33:18 +08:00
parent 18a57fc781
commit 72a19d09a6

View File

@ -1867,25 +1867,7 @@ class UserDoctorService extends BaseService
}
}
// // 获取全部深度合作的在线医生
// $user_doctor = $this->getOnlineDeepDoctor($inquiry_type,$not_doctor_ids);
// if (!empty($user_doctor)){
// $doctor_ids = array_column($user_doctor,'doctor_id');
// Log::getInstance()->info("获取全部深度合作的在线医生:" ,$doctor_ids);
//
// // 检测医生是否可被分配
// $result = $this->checkDoctorCanBeAssigned($doctor_ids,$patient_id,0,$inquiry_type);
// Log::getInstance()->info("检测医生是否可被分配:" ,$result);
// if (!empty($result['doctor_id'])){
// return $result['doctor_id'];
// }
//
// if (!empty($result['not_doctor_ids'])){
// $not_doctor_ids = array_merge($not_doctor_ids,$result['not_doctor_ids']);
// }
// }
// 获取在线的自由注册医生
// 获取自由注册医生
$user_doctor = $this->getOnlineDoctor($inquiry_type,$not_doctor_ids);
if (!empty($user_doctor)){
$doctor_ids = array_column($user_doctor,'doctor_id');
@ -1914,42 +1896,6 @@ class UserDoctorService extends BaseService
if (!empty($result['doctor_id'])){
return $result['doctor_id'];
}
if (!empty($result['not_doctor_ids'])){
$not_doctor_ids = array_merge($not_doctor_ids,$result['not_doctor_ids']);
}
}
// 当前时间10分钟内接诊中医生
$doctors = $this->getBeforeCurrentTimeDoctor(10,$inquiry_type,$not_doctor_ids);
if (!empty($doctors)){
$doctor_ids = array_column($doctors,'doctor_id');
Log::getInstance()->info("当前时间10分钟内接诊中医生:" ,$doctor_ids);
// 检测医生是否可被分配
$result = $this->checkDoctorCanBeAssigned($doctor_ids,$patient_id,1,$inquiry_type);
Log::getInstance()->info("检测医生是否可被分配:" ,$result);
if (!empty($result['doctor_id'])){
return $result['doctor_id'];
}
if (!empty($result['not_doctor_ids'])){
$not_doctor_ids = array_merge($not_doctor_ids,$result['not_doctor_ids']);
}
}
// 当前时间30分钟内接诊中医生
$doctors = $this->getBeforeCurrentTimeDoctor(30,$inquiry_type,$not_doctor_ids);
if (!empty($doctors)){
$doctor_ids = array_column($doctors,'doctor_id');
Log::getInstance()->info("当前时间10分钟内接诊中医生:" ,$doctor_ids);
// 检测医生是否可被分配
$result = $this->checkDoctorCanBeAssigned($doctor_ids,$patient_id,1,$inquiry_type);
Log::getInstance()->info("检测医生是否可被分配:" ,$result);
if (!empty($result['doctor_id'])){
return $result['doctor_id'];
}
}
return "";
@ -2089,13 +2035,11 @@ class UserDoctorService extends BaseService
*/
public function getOnlineDoctor(string $inquiry_type,array $not_doctor_ids): array
{
//
$params = array();
$params['status'] = 1;
$params['idcard_status'] = 1;
$params['iden_auth_status'] = 1;
$params['is_bind_bank'] = 1;
$params['is_online'] = 1;
if ($inquiry_type == 2){
// 快速问诊
$params['is_img_quick_reception'] = 1;