This commit is contained in:
haomingming 2026-01-06 14:51:28 +08:00
parent 89dad42646
commit 7fc14a3642

View File

@ -149,11 +149,12 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct
Where(gorm.Expr("transfer_doctor_id IN (?)", transferDoctorSubQuery))
// 使用 OR 条件:原医生匹配 OR 抄方医生匹配
// 使用闭包函数确保 OR 条件正确分组
query = query.Where(func(db *gorm.DB) *gorm.DB {
return db.Where(gorm.Expr("doctor_id IN (?)", originalDoctorSubQuery)).
Or(gorm.Expr("order_inquiry_id IN (?)", inquirySubQuery))
})
// 通过嵌套 Where 子查询把 OR 条件包在一组括号里,避免影响其它条件
orCond := global.Db.
Where(gorm.Expr("doctor_id IN (?)", originalDoctorSubQuery)).
Or(gorm.Expr("order_inquiry_id IN (?)", inquirySubQuery))
query = query.Where(orCond)
}
// 处方
@ -377,12 +378,13 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct
Where(gorm.Expr("transfer_doctor_id IN (?)", transferDoctorSubQuery))
// 使用 OR 条件:患者匹配 OR 原医生匹配 OR 抄方医生匹配
// 使用闭包函数确保 OR 条件正确分组
query = query.Where(func(db *gorm.DB) *gorm.DB {
return db.Where("patient_id IN (?)", patientSubQuery).
Or("doctor_id IN (?)", originalDoctorSubQuery).
Or(gorm.Expr("order_inquiry_id IN (?)", inquirySubQuery))
})
// 通过嵌套 Where 子查询把 OR 条件包在一组括号里,避免影响其它条件
orCond := global.Db.
Where("patient_id IN (?)", patientSubQuery).
Or("doctor_id IN (?)", originalDoctorSubQuery).
Or(gorm.Expr("order_inquiry_id IN (?)", inquirySubQuery))
query = query.Where(orCond)
}
// 排序