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

169 lines
12 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package orderPrescriptionResponse
import (
"fmt"
"hospital-admin-api/api/model"
"hospital-admin-api/api/responses/orderInquiryCaseResponse"
"hospital-admin-api/utils"
"strings"
)
type OrderPrescription struct {
OrderPrescriptionId string `json:"order_prescription_id"` // 主键id
OrderInquiryId string `json:"order_inquiry_id"` // 订单-问诊id;NOT NULL
DoctorId string `json:"doctor_id"` // 医生id;NOT NULL
PatientId string `json:"patient_id"` // 患者id
FamilyId string `json:"family_id"` // 家庭成员id就诊用户
PharmacistId string `json:"pharmacist_id"` // 药师id
PrescriptionStatus int `json:"prescription_status"` // 处方状态1:待审核 2:待使用 3:已失效 4:已使用)
PharmacistAuditStatus int `json:"pharmacist_audit_status"` // 药师审核状态0:审核中 1:审核成功 2:审核驳回)
PharmacistVerifyTime model.LocalTime `json:"pharmacist_verify_time"` // 药师审核时间
PharmacistFailReason string `json:"pharmacist_fail_reason"` // 药师审核驳回原因
PlatformAuditStatus int `json:"platform_audit_status"` // 处方平台审核状态0:审核中 1:审核成功 2:审核驳回)
PlatformFailTime model.LocalTime `json:"platform_fail_time"` // 平台审核失败时间
PlatformFailReason string `json:"platform_fail_reason"` // 处方平台驳回原因
IsAutoPharVerify int `json:"is_auto_phar_verify"` // 是否药师自动审核0:否 1:是)
DoctorCreatedTime model.LocalTime `json:"doctor_created_time"` // 医生开具处方时间
ExpiredTime model.LocalTime `json:"expired_time"` // 处方过期时间
VoidTime model.LocalTime `json:"void_time"` // 处方作废时间
IsDelete int `json:"is_delete"` // 是否删除0:否 1:是)
PrescriptionCode string `json:"prescription_code"` // 处方编号
DoctorName string `json:"doctor_name"` // 医生名称
PatientName string `json:"patient_name"` // 患者姓名-就诊人
PatientSex int `json:"patient_sex"` // 患者性别-就诊人1:男 2:女)
PatientAge int `json:"patient_age"` // 患者年龄-就诊人
DoctorAdvice string `json:"doctor_advice"` // 医嘱
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
type getOrderPrescriptionPage struct {
OrderPrescriptionId string `json:"order_prescription_id"` // 主键id
OrderInquiryId string `json:"order_inquiry_id"` // 订单-问诊id;NOT NULL
DoctorId string `json:"doctor_id"` // 医生id;NOT NULL
PatientId string `json:"patient_id"` // 患者id
FamilyId string `json:"family_id"` // 家庭成员id就诊用户
PharmacistId string `json:"pharmacist_id"` // 药师id
PrescriptionStatus int `json:"prescription_status"` // 处方状态1:待审核 2:待使用 3:已失效 4:已使用)
PharmacistAuditStatus int `json:"pharmacist_audit_status"` // 药师审核状态0:审核中 1:审核成功 2:审核驳回)
PharmacistVerifyTime model.LocalTime `json:"pharmacist_verify_time"` // 药师审核时间
PharmacistFailReason string `json:"pharmacist_fail_reason"` // 药师审核驳回原因
PlatformAuditStatus int `json:"platform_audit_status"` // 处方平台审核状态0:审核中 1:审核成功 2:审核驳回)
PlatformFailTime model.LocalTime `json:"platform_fail_time"` // 平台审核失败时间
PlatformFailReason string `json:"platform_fail_reason"` // 处方平台驳回原因
IsAutoPharVerify int `json:"is_auto_phar_verify"` // 是否药师自动审核0:否 1:是)
DoctorCreatedTime model.LocalTime `json:"doctor_created_time"` // 医生开具处方时间
ExpiredTime model.LocalTime `json:"expired_time"` // 处方过期时间
IsDelete int `json:"is_delete"` // 是否删除0:否 1:是)
PrescriptionCode string `json:"prescription_code"` // 处方编号
DoctorName string `json:"doctor_name"` // 医生名称
PatientName string `json:"patient_name"` // 患者姓名-就诊人
PatientSex int `json:"patient_sex"` // 患者性别-就诊人1:男 2:女)
PatientAge int `json:"patient_age"` // 患者年龄-就诊人
DoctorAdvice string `json:"doctor_advice"` // 医嘱
PharmacistName string `json:"pharmacist_name"` // 药师姓名
Mobile string `json:"mobile"` // 手机号
OrderPrescriptionIcd string `json:"order_prescription_icd"` // 处方诊断疾病
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// GetOrderPrescription 处方详情
type GetOrderPrescription struct {
OrderPrescriptionId string `json:"order_prescription_id"` // 主键id
OrderInquiryId string `json:"order_inquiry_id"` // 订单-问诊id;NOT NULL
DoctorId string `json:"doctor_id"` // 医生id;NOT NULL
PatientId string `json:"patient_id"` // 患者id
FamilyId string `json:"family_id"` // 家庭成员id就诊用户
PharmacistId string `json:"pharmacist_id"` // 药师id
PrescriptionStatus int `json:"prescription_status"` // 处方状态1:待审核 2:待使用 3:已失效 4:已使用)
PharmacistAuditStatus int `json:"pharmacist_audit_status"` // 药师审核状态0:审核中 1:审核成功 2:审核驳回)
PharmacistVerifyTime model.LocalTime `json:"pharmacist_verify_time"` // 药师审核时间
PharmacistFailReason string `json:"pharmacist_fail_reason"` // 药师审核驳回原因
PlatformAuditStatus int `json:"platform_audit_status"` // 处方平台审核状态0:审核中 1:审核成功 2:审核驳回)
PlatformFailTime model.LocalTime `json:"platform_fail_time"` // 平台审核失败时间
PlatformFailReason string `json:"platform_fail_reason"` // 处方平台驳回原因
IsAutoPharVerify int `json:"is_auto_phar_verify"` // 是否药师自动审核0:否 1:是)
DoctorCreatedTime model.LocalTime `json:"doctor_created_time"` // 医生开具处方时间
ExpiredTime model.LocalTime `json:"expired_time"` // 处方过期时间
VoidTime model.LocalTime `json:"void_time"` // 处方作废时间
IsDelete int `json:"is_delete"` // 是否删除0:否 1:是)
PrescriptionCode string `json:"prescription_code"` // 处方编号
DoctorName string `json:"doctor_name"` // 医生名称
PatientName string `json:"patient_name"` // 患者姓名-就诊人
PatientSex int `json:"patient_sex"` // 患者性别-就诊人1:男 2:女)
PatientAge int `json:"patient_age"` // 患者年龄-就诊人
DoctorAdvice string `json:"doctor_advice"` // 医嘱
PharmacistName string `json:"pharmacist_name"` // 药师姓名
OrderInquiryCase *orderInquiryCaseResponse.OrderInquiryCase `json:"order_inquiry_case"` // 问诊病例
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间
}
// GetOrderPrescriptionPageResponse 获取处方列表-分页
func GetOrderPrescriptionPageResponse(orderPrescription []*model.OrderPrescription) []getOrderPrescriptionPage {
// 处理返回值
orderPrescriptionResponses := make([]getOrderPrescriptionPage, len(orderPrescription))
if len(orderPrescription) > 0 {
for i, v := range orderPrescription {
// 将原始结构体转换为新结构体
u := getOrderPrescriptionPage{
OrderPrescriptionId: fmt.Sprintf("%d", v.OrderPrescriptionId),
OrderInquiryId: fmt.Sprintf("%d", v.OrderInquiryId),
DoctorId: fmt.Sprintf("%d", v.DoctorId),
PatientId: fmt.Sprintf("%d", v.PatientId),
FamilyId: fmt.Sprintf("%d", v.FamilyId),
PharmacistId: fmt.Sprintf("%d", v.PharmacistId),
PrescriptionStatus: v.PrescriptionStatus,
PharmacistAuditStatus: v.PharmacistAuditStatus,
PharmacistVerifyTime: v.PharmacistVerifyTime,
PharmacistFailReason: v.PharmacistFailReason,
PlatformAuditStatus: v.PlatformAuditStatus,
PlatformFailTime: v.PlatformFailTime,
PlatformFailReason: v.PlatformFailReason,
IsAutoPharVerify: v.IsAutoPharVerify,
DoctorCreatedTime: v.DoctorCreatedTime,
ExpiredTime: v.ExpiredTime,
IsDelete: v.IsDelete,
PrescriptionCode: v.PrescriptionCode,
DoctorName: v.DoctorName,
PatientName: v.PatientName,
PatientSex: v.PatientSex,
PatientAge: v.PatientAge,
DoctorAdvice: v.DoctorAdvice,
CreatedAt: v.CreatedAt,
UpdatedAt: v.UpdatedAt,
}
// 药师姓名
if v.UserPharmacist != nil {
u.PharmacistName = v.UserPharmacist.UserName
}
// 手机号
if v.PatientFamily != nil {
u.Mobile = v.PatientFamily.MobileMask
}
if u.Mobile == "" && v.UserPatient.User != nil {
u.Mobile = utils.MaskPhoneStr(v.UserPatient.User.Mobile)
}
// 处方诊断疾病
if len(v.OrderPrescriptionIcd) > 0 {
var orderPrescriptionIcd []string
for _, icd := range v.OrderPrescriptionIcd {
orderPrescriptionIcd = append(orderPrescriptionIcd, icd.IcdName)
}
u.OrderPrescriptionIcd = strings.Join(orderPrescriptionIcd, "、")
}
// 将转换后的结构体添加到新切片中
orderPrescriptionResponses[i] = u
}
}
return orderPrescriptionResponses
}