47 lines
1.5 KiB
Go
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
|
|
}
|