76 lines
3.1 KiB
Go

package service
import (
"errors"
"hospital-admin-api/api/dao"
"hospital-admin-api/api/responses/orderInquiryCaseResponse"
"strconv"
)
// CaseService 病例
type CaseService struct {
}
// GetOrderInquiryCaseByInquiryCaseId 获取病例-问诊订单
func (r *CaseService) GetOrderInquiryCaseByInquiryCaseId(inquiryCaseId int64) (u *orderInquiryCaseResponse.OrderInquiryCase, 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)
// 处理返回数据
u = &orderInquiryCaseResponse.OrderInquiryCase{
InquiryCaseId: strconv.FormatInt(orderInquiryCase.InquiryCaseId, 10),
UserId: strconv.FormatInt(orderInquiryCase.UserId, 10),
PatientId: strconv.FormatInt(orderInquiryCase.PatientId, 10),
OrderInquiryId: strconv.FormatInt(orderInquiryCase.OrderInquiryId, 10),
FamilyId: strconv.FormatInt(orderInquiryCase.FamilyId, 10),
Relation: orderInquiryCase.Relation,
Status: orderInquiryCase.Status,
Name: orderInquiryCase.Name,
Sex: orderInquiryCase.Sex,
Age: orderInquiryCase.Age,
Height: orderInquiryCase.Height,
Weight: orderInquiryCase.Weight,
DiseaseClassId: strconv.FormatInt(orderInquiryCase.DiseaseClassId, 10),
DiseaseClassName: orderInquiryCase.DiseaseClassName,
DiagnosisDate: orderInquiryCase.DiagnosisDate,
DiseaseDesc: orderInquiryCase.DiseaseDesc,
DiagnoseImages: orderInquiryCase.DiagnoseImages,
IsAllergyHistory: orderInquiryCase.IsAllergyHistory,
AllergyHistory: orderInquiryCase.AllergyHistory,
IsFamilyHistory: orderInquiryCase.IsFamilyHistory,
FamilyHistory: orderInquiryCase.FamilyHistory,
IsPregnant: orderInquiryCase.IsPregnant,
Pregnant: orderInquiryCase.Pregnant,
IsTaboo: orderInquiryCase.IsTaboo,
CreatedAt: orderInquiryCase.CreatedAt,
UpdatedAt: orderInquiryCase.UpdatedAt,
}
if patientFamilyHealth != nil {
u.DiagnosisHospital = patientFamilyHealth.DiagnosisHospital
u.IsTakeMedicine = patientFamilyHealth.IsTakeMedicine
u.DrugsName = patientFamilyHealth.DrugsName
}
if patientFamilyPersonal != nil {
u.DrinkWineStatus = patientFamilyPersonal.DrinkWineStatus
u.SmokeStatus = patientFamilyPersonal.SmokeStatus
u.ChemicalCompoundStatus = patientFamilyPersonal.ChemicalCompoundStatus
u.ChemicalCompoundDescribe = patientFamilyPersonal.ChemicalCompoundDescribe
u.IsOperation = patientFamilyPersonal.IsOperation
u.Operation = patientFamilyPersonal.Operation
}
return u, nil
}