2023-09-28 08:40:43 +08:00

47 lines
1.5 KiB
Go

package service
import (
"errors"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/dto"
)
// CaseService 病例
type CaseService struct {
}
// GetOrderInquiryCaseByInquiryCaseId 获取病例-问诊订单
func (r *CaseService) GetOrderInquiryCaseByInquiryCaseId(inquiryCaseId int64) (g *dto.OrderInquiryCaseDto, err error) {
orderInquiryCaseDao := dao.OrderInquiryCaseDao{}
orderInquiryCase, err := orderInquiryCaseDao.GetOrderInquiryCaseById(inquiryCaseId)
if orderInquiryCase == nil {
return nil, errors.New("数据错误,无问诊病例")
}
// 获取患者家庭成员信息-健康情况
patientFamilyHealthDao := dao.PatientFamilyHealthDao{}
patientFamilyHealth, err := patientFamilyHealthDao.GetPatientFamilyHealthByFamilyId(orderInquiryCase.FamilyId)
// 获取患者家庭成员信息表-个人情况
patientFamilyPersonalDao := dao.PatientFamilyPersonalDao{}
patientFamilyPersonal, err := patientFamilyPersonalDao.GetPatientFamilyPersonalByFamilyId(orderInquiryCase.FamilyId)
// 获取用药意向
inquiryCaseProductDao := dao.InquiryCaseProductDao{}
inquiryCaseProducts, err := inquiryCaseProductDao.GetInquiryCaseProductListByInquiryCaseId(orderInquiryCase.InquiryCaseId)
// 处理返回数据
g = dto.GetOrderInquiryCaseDto(orderInquiryCase)
// 加载健康属性
g.LoadPatientFamilyHealthAttr(patientFamilyHealth)
// 加载个人情况属性
g.LoadPatientFamilyPersonalAttr(patientFamilyPersonal)
// 加载用药意向
g.LoadInquiryCaseProduct(inquiryCaseProducts)
return g, nil
}