新增医生问诊配置详情

This commit is contained in:
2023-10-16 17:31:09 +08:00
parent 61d3fa2afb
commit 9d65658ebe
9 changed files with 298 additions and 17 deletions
+61
View File
@@ -4,6 +4,7 @@ import (
"errors"
"gorm.io/gorm"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/dto"
"hospital-admin-api/api/model"
"strconv"
)
@@ -102,3 +103,63 @@ func (r *DoctorInquiryConfigService) HandleDoctorInquiryConfig(tx *gorm.DB, doct
return true, nil
}
// GetDoctorInquiryConfig 医生问诊配置详情
func (r *DoctorInquiryConfigService) GetDoctorInquiryConfig(inquiryConfigId int64) (res *dto.DoctorInquiryConfigDto, err error) {
doctorInquiryConfigDao := dao.DoctorInquiryConfigDao{}
// 获取医生问诊配置
doctorInquiryConfig, err := doctorInquiryConfigDao.GetDoctorInquiryConfigById(inquiryConfigId)
if err != nil || doctorInquiryConfig == nil {
return nil, errors.New(err.Error())
}
// 获取医生数据
userDoctorDao := dao.UserDoctorDao{}
userDoctor, err := userDoctorDao.GetUserDoctorById(doctorInquiryConfig.DoctorId)
if err != nil || userDoctor == nil {
return nil, errors.New(err.Error())
}
// 获取医生医院数据
hospitalDao := dao.Hospital{}
hospital, err := hospitalDao.GetHospitalById(userDoctor.HospitalID)
// 获取系统问诊配置
systemInquiryConfigDao := dao.SystemInquiryConfigDao{}
maps := make(map[string]interface{})
maps["inquiry_type"] = doctorInquiryConfig.InquiryType
maps["inquiry_mode"] = doctorInquiryConfig.InquiryMode
systemInquiryConfig, err := systemInquiryConfigDao.GetSystemInquiryConfig(maps)
if err != nil || systemInquiryConfig == nil {
return nil, errors.New(err.Error())
}
// 获取医生问诊时间
doctorInquiryTimeDao := dao.DoctorInquiryTimeDao{}
maps = make(map[string]interface{})
maps["doctor_id"] = doctorInquiryConfig.DoctorId
maps["inquiry_type"] = doctorInquiryConfig.InquiryType
maps["inquiry_mode"] = doctorInquiryConfig.InquiryMode
doctorInquiryTimes, err := doctorInquiryTimeDao.GetDoctorInquiryTimeList(maps)
// 处理返回值
res = dto.GetDoctorInquiryConfigDto(doctorInquiryConfig)
// 加载医生数据
res.LoadUserDoctor(userDoctor)
// 加载医生医院
if hospital != nil {
res.LoadUserDoctorHospital(hospital)
}
// 加载医生问诊时间
if userDoctor.IsPlatformDeepCooperation == 1 {
res.LoadDoctorInquiryTime(doctorInquiryTimes)
}
return res, nil
}