diff --git a/api/controller/export.go b/api/controller/export.go index 3c2f7ec..b77099f 100644 --- a/api/controller/export.go +++ b/api/controller/export.go @@ -568,6 +568,24 @@ func (r *Export) OrderTransferPrescription(c *gin.Context) { return } + // 特殊处理 + // 获取配置 + systemConfigDao := dao.SystemConfigDao{} + systemConfig, err := systemConfigDao.GetSystemConfigById(1) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 年度审查 + if systemConfig.IsAnnualReview == 1 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } + } + // 获取数据 orderPrescriptionDao := dao.OrderPrescriptionDao{} orderPrescriptions, err := orderPrescriptionDao.GetOrderTransferPrescriptionExportListSearch(req) @@ -616,6 +634,24 @@ func (r *Export) OrderPrescription(c *gin.Context) { return } + // 特殊处理 + // 获取配置 + systemConfigDao := dao.SystemConfigDao{} + systemConfig, err := systemConfigDao.GetSystemConfigById(1) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 年度审查 + if systemConfig.IsAnnualReview == 1 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } + } + // 获取数据 orderPrescriptionDao := dao.OrderPrescriptionDao{} orderPrescriptions, err := orderPrescriptionDao.GetOrderPrescriptionExportListSearch(req) diff --git a/api/controller/orderPrescription.go b/api/controller/orderPrescription.go index 626d796..62004a1 100644 --- a/api/controller/orderPrescription.go +++ b/api/controller/orderPrescription.go @@ -38,6 +38,24 @@ func (r *OrderPrescription) GetOrderPrescriptionPage(c *gin.Context) { req.PageSize = 20 } + // 特殊处理 + // 获取配置 + systemConfigDao := dao.SystemConfigDao{} + systemConfig, err := systemConfigDao.GetSystemConfigById(1) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + // 年度审查 + if systemConfig.IsAnnualReview == 1 { + adminUserId := c.GetInt64("UserId") + if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } + } + orderPrescriptionDao := dao.OrderPrescriptionDao{} orderPrescription, total, err := orderPrescriptionDao.GetOrderPrescriptionPageSearch(req, req.Page, req.PageSize) if err != nil { diff --git a/api/dao/orderPrescription.go b/api/dao/orderPrescription.go index ad68600..a95829b 100644 --- a/api/dao/orderPrescription.go +++ b/api/dao/orderPrescription.go @@ -94,6 +94,12 @@ func (r *OrderPrescriptionDao) GetOrderPrescriptionPageSearch(req requests.GetOr // 构建查询条件 query := global.Db.Model(&model.OrderPrescription{}) + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Joins("JOIN gdxz_order_inquiry ON gdxz_order_inquiry.order_inquiry_id = gdxz_order_prescription.order_inquiry_id") + query = query.Where("gdxz_order_inquiry.annual_review_hide = ?", req.AnnualReviewHide) + } + // 患者表 query = query.Preload("UserPatient", func(db *gorm.DB) *gorm.DB { return db.Omit("open_id", "union_id", "wx_session_key") @@ -450,6 +456,11 @@ func (r *OrderPrescriptionDao) GetOrderTransferPrescriptionExportListSearch(req // 构建查询条件 query := global.Db.Model(&model.OrderPrescription{}) + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where(inquiryTable + ".annual_review_hide = ?", req.AnnualReviewHide) + } + // 关联问诊表,只查询TransferDoctorId不等于null的记录 query = query.Joins("INNER JOIN " + inquiryTable + " ON " + prescriptionTable + ".order_inquiry_id = " + inquiryTable + ".order_inquiry_id"). Where(inquiryTable + ".transfer_doctor_id IS NOT NULL") @@ -644,6 +655,12 @@ func (r *OrderPrescriptionDao) GetOrderPrescriptionExportListSearch(req requests // 构建查询条件 query := global.Db.Model(&model.OrderPrescription{}) + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Joins("JOIN gdxz_order_inquiry ON gdxz_order_inquiry.order_inquiry_id = gdxz_order_prescription.order_inquiry_id") + query = query.Where("gdxz_order_inquiry.annual_review_hide = ?", req.AnnualReviewHide) + } + // 患者表 query = query.Preload("UserPatient", func(db *gorm.DB) *gorm.DB { return db.Omit("open_id", "union_id", "wx_session_key") diff --git a/api/requests/orderPrescription.go b/api/requests/orderPrescription.go index 4028618..f68256f 100644 --- a/api/requests/orderPrescription.go +++ b/api/requests/orderPrescription.go @@ -20,6 +20,7 @@ type GetOrderPrescriptionPage struct { ExpiredTime string `json:"expired_time" form:"expired_time" label:"处方过期时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 InquiryNo string `json:"inquiry_no" form:"inquiry_no" label:"问诊订单编号"` OrderProductNo string `json:"order_product_no" form:"order_product_no" label:"药品订单编号"` + AnnualReviewHide *int `json:"-" form:"-"` // 内部传递条件 } // OrderPrescriptionExportList 处方-导出 @@ -37,4 +38,5 @@ type OrderPrescriptionExportList struct { ExpiredTime string `json:"expired_time" form:"expired_time" label:"处方过期时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 InquiryNo string `json:"inquiry_no" form:"inquiry_no" label:"问诊订单编号"` OrderProductNo string `json:"order_product_no" form:"order_product_no" label:"药品订单编号"` + AnnualReviewHide *int `json:"-" form:"-"` // 内部传递条件 }