修改问诊配置

This commit is contained in:
2023-10-11 15:36:41 +08:00
parent 095ad1d327
commit b3897354e8
5 changed files with 90 additions and 80 deletions
+29 -67
View File
@@ -1981,7 +1981,7 @@ class UserDoctorService extends BaseService
if ($is_system_time_pass){
// 获取坐班时间包含当前时间的深度合作医生
$doctor_ids = $this->getMinPlatDeepCooperationDoctorId($inquiry_type,time(),$not_doctor_ids);
$doctor_ids = $this->getNowTimePlatDeepCooperationDoctorId($inquiry_type,time(),$not_doctor_ids);
Log::getInstance()->info("获取坐班时间包含当前时间的深度合作医生:" ,$doctor_ids);
// 检测医生是否可被分配
@@ -2067,64 +2067,19 @@ class UserDoctorService extends BaseService
$user_doctor_params = array();
$user_doctor_params['is_platform_deep_cooperation'] = 1;
if ($inquiry_type == 2){
// 快速问诊
$user_doctor_params['is_img_quick_reception'] = 1;
}elseif ($inquiry_type == 4){
// 问诊购药
// 问诊购药
if ($inquiry_type == 4){
$user_doctor_params['multi_point_status'] = 1;
}
$doctor_inquiry_times = DoctorInquiryTime::getWithDoctorNotInList($params,$user_doctor_params,$not_doctor_ids);
if (!empty($doctor_inquiry_times)){
foreach ($doctor_inquiry_times as $item){
// 检测是否存在日期
if (!empty($item['inquiry_date'])){
// 获取当前日期
$now_day = date('Y-m-d',time());
if ($item['inquiry_date'] == $now_day){
$doctor_ids[] = $item['doctor_id'];
}
}else{
$doctor_ids[] = $item['doctor_id'];
}
}
}
if (!empty($doctor_ids)){
$doctor_ids = array_unique($doctor_ids);
$doctor_ids = array_values($doctor_ids);
}
// 问诊配置
$doctor_inquiry_config_params = array();
$doctor_inquiry_config_params['inquiry_type'] = $inquiry_type;
$doctor_inquiry_config_params['inquiry_mode'] = 1;
$doctor_inquiry_config_params['is_enable'] = 1;
return $doctor_ids;
}
/**
* 获取坐班时间包含某时间的平台深度合作医生
* @param string $inquiry_type
* @param string $time 时间戳
* @param array $not_doctor_ids 不可选择的医生id数组
* @return array 医生id
*/
public function getMinPlatDeepCooperationDoctorId(string $inquiry_type,string $time,array $not_doctor_ids = []): array
{
$doctor_ids = [];
$params = array();
$params[] = ['inquiry_type','=',$inquiry_type];
$params[] = ['inquiry_mode','=',1];
$params[] = ['start_time','<',date('H',$time) . date('i',$time)];
$params[] = ['end_time','>',date('H',$time) . date('i',$time)];
$user_doctor_params = array();
$user_doctor_params['is_platform_deep_cooperation'] = 1;
if ($inquiry_type == 2){
// 快速问诊
$user_doctor_params['is_img_quick_reception'] = 1;
}elseif ($inquiry_type == 4){
// 问诊购药
$user_doctor_params['multi_point_status'] = 1;
}
$doctor_inquiry_times = DoctorInquiryTime::getWithDoctorNotInList($params,$user_doctor_params,$not_doctor_ids);
$doctor_inquiry_times = DoctorInquiryTime::getMinPlatDeepCooperationDoctor($params,$user_doctor_params,$not_doctor_ids,$doctor_inquiry_config_params);
if (!empty($doctor_inquiry_times)){
foreach ($doctor_inquiry_times as $item){
// 检测是否存在日期
@@ -2215,16 +2170,20 @@ class UserDoctorService extends BaseService
$params['iden_auth_status'] = 1;
$params['is_bind_bank'] = 1;
$params['is_online'] = 1;
if ($inquiry_type == 2){
// 快速问诊
$params['is_img_quick_reception'] = 1;
}elseif ($inquiry_type == 4){
// 问诊购药
// 问诊购药
if ($inquiry_type == 4){
$params['multi_point_status'] = 1;
}
$doctor_inquiry_config_params = array();
$doctor_inquiry_config_params['inquiry_type'] = $inquiry_type;
$doctor_inquiry_config_params['inquiry_mode'] = 1;
$doctor_inquiry_config_params['is_enable'] = 1;
$params['is_platform_deep_cooperation'] = 1;
$user_doctor = UserDoctor::getUserDoctorNotInList($params,$not_doctor_ids);
$user_doctor = UserDoctor::getListWithConfig($params,$not_doctor_ids,$doctor_inquiry_config_params);
return $user_doctor->toArray();
}
@@ -2241,16 +2200,19 @@ class UserDoctorService extends BaseService
$params['idcard_status'] = 1;
$params['iden_auth_status'] = 1;
$params['is_bind_bank'] = 1;
if ($inquiry_type == 2){
// 快速问诊
$params['is_img_quick_reception'] = 1;
}elseif ($inquiry_type == 4){
// 问诊购药
// 问诊购药
if ($inquiry_type == 4){
$params['multi_point_status'] = 1;
}
$doctor_inquiry_config_params = array();
$doctor_inquiry_config_params['inquiry_type'] = $inquiry_type;
$doctor_inquiry_config_params['inquiry_mode'] = 1;
$doctor_inquiry_config_params['is_enable'] = 1;
$params['is_platform_deep_cooperation'] = 0;
$user_doctor = UserDoctor::getUserDoctorNotInList($params,$not_doctor_ids);
$user_doctor = UserDoctor::getListWithConfig($params,$not_doctor_ids,$doctor_inquiry_config_params);
return $user_doctor->toArray();
}