14
This commit is contained in:
parent
c786568d99
commit
e840e99388
@ -453,13 +453,30 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd
|
||||
|
||||
// 当前搜索数据
|
||||
if req.Type == 1 {
|
||||
// 医生姓名
|
||||
// 医生姓名 - 同时查询原医生和抄方医生
|
||||
if req.DoctorName != "" {
|
||||
subQuery := global.Db.Model(&model.UserDoctor{}).
|
||||
// 原医生查询条件
|
||||
originalDoctorSubQuery := global.Db.Model(&model.UserDoctor{}).
|
||||
Select("doctor_id").
|
||||
Where("user_name LIKE ?", "%"+req.DoctorName+"%")
|
||||
|
||||
query = query.Where(gorm.Expr("doctor_id IN (?)", subQuery))
|
||||
// 抄方医生查询条件
|
||||
transferDoctorSubQuery := global.Db.Model(&model.UserDoctor{}).
|
||||
Select("doctor_id").
|
||||
Where("user_name LIKE ?", "%"+req.DoctorName+"%")
|
||||
|
||||
// 查询抄方医生对应的问诊订单ID
|
||||
inquirySubQuery := global.Db.Model(&model.OrderInquiry{}).
|
||||
Select("order_inquiry_id").
|
||||
Where(gorm.Expr("doctor_id IN (?)", transferDoctorSubQuery))
|
||||
|
||||
// 使用 OR 条件:原医生匹配 OR 抄方医生匹配
|
||||
// 通过嵌套 Where 子查询把 OR 条件包在一组括号里,避免影响其它条件
|
||||
orCond := global.Db.
|
||||
Where(gorm.Expr("doctor_id IN (?)", originalDoctorSubQuery)).
|
||||
Or(gorm.Expr("order_inquiry_id IN (?)", inquirySubQuery))
|
||||
|
||||
query = query.Where(orCond)
|
||||
}
|
||||
|
||||
// 患者姓名-就诊人
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user