From b6f4d04b464d4759a6bda7a195a8e07e4350f37b Mon Sep 17 00:00:00 2001 From: haomingming Date: Mon, 20 Jul 2026 15:29:35 +0800 Subject: [PATCH 1/5] 12 --- api/service/UserCaCert.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/api/service/UserCaCert.go b/api/service/UserCaCert.go index 996f7d0..c4527aa 100644 --- a/api/service/UserCaCert.go +++ b/api/service/UserCaCert.go @@ -764,6 +764,11 @@ func (r *UserCaCertService) GetHospitalCloudCert() (g *dto.UserCaCertDto, err er maps["ca_pin"] = userId maps["type"] = 2 userCaCert, _ := userCaCertDao.GetUserCaCert(maps) + if userCaCert == nil { + // 如果找不到证书,可以返回 nil,或者返回一个特定的业务 error (如: errors.New("暂无医院证书")) + return nil, nil + } + g = dto.GetUserCaCertDto(userCaCert) return g, nil From a349f447f9708e5dfd4b545d51b0694489c28e53 Mon Sep 17 00:00:00 2001 From: haomingming Date: Wed, 22 Jul 2026 10:31:06 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B9=B4=E5=BA=A6?= =?UTF-8?q?=E5=AE=A1=E6=9F=A5=E9=9A=90=E8=97=8F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/export.go | 36 ++++++++++++++++++++ api/controller/orderInquiry.go | 60 ++++++++++++++++++++++++++++++++-- api/dao/orderInquiry.go | 20 ++++++++++++ api/model/orderInquiry.go | 1 + api/requests/orderInquiry.go | 11 +++++++ api/router/router.go | 3 ++ api/service/OrderInquiry.go | 20 ++++++++++++ 7 files changed, 149 insertions(+), 2 deletions(-) diff --git a/api/controller/export.go b/api/controller/export.go index 1a4c558..0a395b4 100644 --- a/api/controller/export.go +++ b/api/controller/export.go @@ -272,6 +272,24 @@ func (r *Export) OrderInquiryForAccount(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 + } + } + // 获取数据 orderInquiryDao := dao.OrderInquiryDao{} orderInquirys, err := orderInquiryDao.GetOrderInquiryForAccountExportListSearch(req) @@ -416,6 +434,24 @@ func (r *Export) OrderInquiry(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 + } + } + // 获取数据 orderInquiryDao := dao.OrderInquiryDao{} orderInquirys, err := orderInquiryDao.GetOrderInquiryExportListSearch(req) diff --git a/api/controller/orderInquiry.go b/api/controller/orderInquiry.go index 0e26d52..9a06edc 100644 --- a/api/controller/orderInquiry.go +++ b/api/controller/orderInquiry.go @@ -54,8 +54,10 @@ func (r *OrderInquiry) GetOrderInquiryPage(c *gin.Context) { if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { status := 1 req.MultiPointStatus = &status - } + annualReviewHide := 0 + req.AnnualReviewHide = &annualReviewHide + } } orderInquiryDao := dao.OrderInquiryDao{} @@ -105,6 +107,40 @@ func (r *OrderInquiry) GetOrderInquiry(c *gin.Context) { responses.OkWithData(getUserDoctorResponses, c) } +// PutAnnualReviewHide 修改问诊订单年度审查隐藏状态 +func (r *OrderInquiry) PutAnnualReviewHide(c *gin.Context) { + id := c.Param("order_inquiry_id") + if id == "" { + responses.FailWithMessage("缺少参数", c) + return + } + + orderInquiryId, err := strconv.ParseInt(id, 10, 64) + if err != nil { + responses.Fail(c) + return + } + + req := requests.PutAnnualReviewHide{} + if err := c.ShouldBind(&req); err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + if err := global.Validate.Struct(req); err != nil { + responses.FailWithMessage(utils.Translate(err), c) + return + } + + orderInquiryService := service.OrderInquiryService{} + err = orderInquiryService.PutAnnualReviewHide(orderInquiryId, *req.AnnualReviewHide) + if err != nil { + responses.FailWithMessage(err.Error(), c) + return + } + + responses.Ok(c) +} // CancelOrderInquiry 取消问诊订单 func (r *OrderInquiry) CancelOrderInquiry(c *gin.Context) { @@ -203,8 +239,10 @@ func (r *OrderInquiry) GetOrderInquiryRecordPage(c *gin.Context) { if adminUserId == 1845704393354121216 || adminUserId == 1732273543535661056 { status := 1 req.GetOrderInquiryRecordPage.MultiPointStatus = &status - } + annualReviewHide := 0 + req.GetOrderInquiryRecordPage.AnnualReviewHide = &annualReviewHide + } } orderInquiryDao := dao.OrderInquiryDao{} @@ -323,6 +361,24 @@ func (r *OrderInquiry) GetOrderInquiryForAccountPage(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 + } + } + orderInquiryDao := dao.OrderInquiryDao{} orderInquiry, total, err := orderInquiryDao.GetOrderInquiryForAccountPageSearch(req, req.Page, req.PageSize) if err != nil { diff --git a/api/dao/orderInquiry.go b/api/dao/orderInquiry.go index aeff61c..32cae7d 100644 --- a/api/dao/orderInquiry.go +++ b/api/dao/orderInquiry.go @@ -267,6 +267,11 @@ func (r *OrderInquiryDao) GetOrderInquiryPageSearch(req requests.GetOrderInquiry query = query.Where("user_id IN (?)", patientSubQuery).Or("doctor_id IN (?)", doctorSubQuery) } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 排序 query = query.Order("created_at desc") @@ -464,6 +469,11 @@ func (r *OrderInquiryDao) GetOrderInquiryRecordPageSearch(req requests.GetOrderI query = query.Where("user_id IN (?)", patientSubQuery).Or("doctor_id IN (?)", doctorSubQuery) } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 排序 query = query.Order("created_at desc") @@ -627,6 +637,11 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountPageSearch(req requests.GetOr query = query.Where("user_id IN (?)", subQuery) } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 排序 query = query.Order("created_at desc") @@ -776,6 +791,11 @@ func (r *OrderInquiryDao) GetOrderInquiryForAccountExportListSearch(req requests } } + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Where("annual_review_hide = ?", req.AnnualReviewHide) + } + // 当前选中数据 if req.Type == 2 { if req.Id == "" { diff --git a/api/model/orderInquiry.go b/api/model/orderInquiry.go index a6c1461..52dc726 100644 --- a/api/model/orderInquiry.go +++ b/api/model/orderInquiry.go @@ -43,6 +43,7 @@ type OrderInquiry struct { PatientNameMask string `gorm:"column:patient_name_mask;type:varchar(255);comment:患者姓名-就诊人(掩码)" json:"patient_name_mask"` PatientSex int `gorm:"column:patient_sex;type:tinyint(1);default:0;comment:患者性别-就诊人(0:未知 1:男 2:女)" json:"patient_sex"` PatientAge int `gorm:"column:patient_age;type:int(1);comment:患者年龄-就诊人" json:"patient_age"` + AnnualReviewHide int `gorm:"column:annual_review_hide;type:tinyint(1);default:0;comment:年度审查隐藏(0:否 1:是)" json:"annual_review_hide"` UserDoctor *UserDoctor `gorm:"foreignKey:DoctorId;references:doctor_id" json:"user_doctor"` // 医生 TransferUserDoctor *UserDoctor `gorm:"foreignKey:TransferDoctorId;references:doctor_id" json:"transfer_user_doctor"` // 接受抄方的医生 User *User `gorm:"foreignKey:UserId;references:user_id" json:"user"` // 患者 diff --git a/api/requests/orderInquiry.go b/api/requests/orderInquiry.go index 46f6a1a..5df3991 100644 --- a/api/requests/orderInquiry.go +++ b/api/requests/orderInquiry.go @@ -8,6 +8,12 @@ type OrderInquiryRequest struct { GetOrderInquiryForAccountPage // 获取账户关联问诊订单列表-分页 OrderInquiryForAccountExportList // 医生账户-关联订单-导出 OrderInquiryExportList // 问诊订单列表-导出 + PutAnnualReviewHide // 修改问诊订单年度审查隐藏状态 +} + +// PutAnnualReviewHide 修改问诊订单年度审查隐藏状态 +type PutAnnualReviewHide struct { + AnnualReviewHide *int `json:"annual_review_hide" form:"annual_review_hide" validate:"required,oneof=0 1" label:"年度审查隐藏"` } // GetOrderInquiryPage 获取问诊订单列表-分页 @@ -33,6 +39,7 @@ type GetOrderInquiryPage struct { CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // CancelOrderInquiry 取消问诊订单 @@ -64,6 +71,7 @@ type GetOrderInquiryRecordPage struct { CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // GetOrderInquiryImPage 获取问诊订单im内容列表-分页 @@ -90,6 +98,7 @@ type GetOrderInquiryForAccountPage struct { IsWithdrawal *int `json:"is_withdrawal" form:"is_withdrawal" label:"是否提现"` // 0:否 1:是 2:提现中 CancelTime string `json:"cancel_time" form:"cancel_time" label:"订单取消时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // OrderInquiryForAccountExportList 医生账户-关联订单-导出 @@ -109,6 +118,7 @@ type OrderInquiryForAccountExportList struct { IsWithdrawal *int `json:"is_withdrawal" form:"is_withdrawal" label:"是否提现"` // 0:否 1:是 2:提现中 CancelTime string `json:"cancel_time" form:"cancel_time" label:"订单取消时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } // OrderInquiryExportList 问诊订单列表-导出 @@ -133,4 +143,5 @@ type OrderInquiryExportList struct { CreatedAt string `json:"created_at" form:"created_at" label:"订单创建时间"` // 时间区间,数组形式,下标0为开始时间,下标1为结束时间 PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 用于内部传递隐藏条件 } diff --git a/api/router/router.go b/api/router/router.go index dce397b..58f7e3d 100644 --- a/api/router/router.go +++ b/api/router/router.go @@ -441,6 +441,9 @@ func privateRouter(r *gin.Engine, api controller.Api) { // 获取问诊订单im内容列表-分页 inquiryGroup.GET("/im", api.OrderInquiry.GetOrderInquiryImPage) + + // 修改问诊订单年度审查隐藏状态 + inquiryGroup.PUT("/hide/:order_inquiry_id", api.OrderInquiry.PutAnnualReviewHide) } // 药品订单 diff --git a/api/service/OrderInquiry.go b/api/service/OrderInquiry.go index e4fa26e..433ffaa 100644 --- a/api/service/OrderInquiry.go +++ b/api/service/OrderInquiry.go @@ -456,3 +456,23 @@ func (r *OrderInquiryService) GetOrderInquiryDoctorAmount(inquiryStatus int, amo return doctorAmount } + +// PutAnnualReviewHide 修改问诊订单年度审查隐藏状态 +func (r *OrderInquiryService) PutAnnualReviewHide(orderInquiryId int64, annualReviewHide int) error { + // 获取问诊订单数据 + orderInquiryDao := dao.OrderInquiryDao{} + orderInquiry, err := orderInquiryDao.GetOrderInquiryById(orderInquiryId) + if err != nil || orderInquiry == nil { + return errors.New("订单数据错误") + } + + // 修改问诊订单 + orderInquiryData := make(map[string]interface{}) + orderInquiryData["annual_review_hide"] = annualReviewHide + err = orderInquiryDao.EditOrderInquiryById(global.Db, orderInquiryId, orderInquiryData) + if err != nil { + return errors.New("修改隐藏状态失败") + } + + return nil +} From 76c1c3b849e6acea5f03ecde2ada99eb892092a7 Mon Sep 17 00:00:00 2001 From: haomingming Date: Wed, 22 Jul 2026 10:49:32 +0800 Subject: [PATCH 3/5] 12 --- api/dto/OrderInquiry.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/dto/OrderInquiry.go b/api/dto/OrderInquiry.go index 9162046..4b3feb0 100644 --- a/api/dto/OrderInquiry.go +++ b/api/dto/OrderInquiry.go @@ -40,6 +40,7 @@ type OrderInquiryDto struct { PatientNameMask string `json:"patient_name_mask"` // 患者姓名-就诊人(掩码) PatientSex int `json:"patient_sex"` // 患者性别-就诊人(0:未知 1:男 2:女) PatientAge int `json:"patient_age"` // 患者年龄-就诊人 + AnnualReviewHide int `json:"annual_review_hide"` // 年度审查隐藏(0:否 1:是) PatientMobile string `json:"patient_mobile"` // 患者电话 DoctorName string `json:"doctor_name"` // 医生姓名 UserName string `json:"user_name"` // 用户姓名(患者) @@ -102,6 +103,7 @@ func GetOrderInquiryDto(m *model.OrderInquiry) *OrderInquiryDto { PatientNameMask: m.PatientNameMask, PatientSex: m.PatientSex, PatientAge: m.PatientAge, + AnnualReviewHide: m.AnnualReviewHide, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } @@ -149,6 +151,7 @@ func GetOrderInquiryListDto(m []*model.OrderInquiry) []*OrderInquiryDto { PatientNameMask: v.PatientNameMask, PatientSex: v.PatientSex, PatientAge: v.PatientAge, + AnnualReviewHide: v.AnnualReviewHide, PatientMobile: v.User.Mobile, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, @@ -201,6 +204,7 @@ func GetOrderInquiryRecordListDto(m []*model.OrderInquiry) []*OrderInquiryDto { PatientNameMask: v.PatientNameMask, PatientSex: v.PatientSex, PatientAge: v.PatientAge, + AnnualReviewHide: v.AnnualReviewHide, PatientMobile: v.User.Mobile, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, @@ -265,6 +269,7 @@ func GetOrderInquiryForAccountListDto(m []*model.OrderInquiry) []*OrderInquiryDt PatientNameMask: v.PatientNameMask, PatientSex: v.PatientSex, PatientAge: v.PatientAge, + AnnualReviewHide: v.AnnualReviewHide, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } @@ -329,6 +334,7 @@ func GetOrderInquiryRecordDto(m *model.OrderInquiry) *OrderInquiryDto { PatientNameMask: m.PatientNameMask, PatientSex: m.PatientSex, PatientAge: m.PatientAge, + AnnualReviewHide: m.AnnualReviewHide, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } From 613feb2dd0cb08181878ef045ae5aa4f70224179 Mon Sep 17 00:00:00 2001 From: haomingming Date: Wed, 22 Jul 2026 12:06:24 +0800 Subject: [PATCH 4/5] 23 --- api/controller/export.go | 18 ++++++++++++++++++ api/controller/orderProduct.go | 18 ++++++++++++++++++ api/dao/orderProduct.go | 12 ++++++++++++ api/requests/orderProduct.go | 3 ++- 4 files changed, 50 insertions(+), 1 deletion(-) diff --git a/api/controller/export.go b/api/controller/export.go index 0a395b4..3c2f7ec 100644 --- a/api/controller/export.go +++ b/api/controller/export.go @@ -501,6 +501,24 @@ func (r *Export) OrderProduct(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 + } + } + // 获取数据 orderProductDao := dao.OrderProductDao{} orderProducts, err := orderProductDao.GetOrderProductExportListSearch(req) diff --git a/api/controller/orderProduct.go b/api/controller/orderProduct.go index 0b3cfed..324a6be 100644 --- a/api/controller/orderProduct.go +++ b/api/controller/orderProduct.go @@ -38,6 +38,24 @@ func (r *OrderProduct) GetOrderProductPage(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 + } + } + orderProductDao := dao.OrderProductDao{} orderProduct, total, err := orderProductDao.GetOrderProductPageSearch(req, req.Page, req.PageSize) diff --git a/api/dao/orderProduct.go b/api/dao/orderProduct.go index 0e7ffc6..4d528b1 100644 --- a/api/dao/orderProduct.go +++ b/api/dao/orderProduct.go @@ -123,6 +123,12 @@ func (r *OrderProductDao) GetOrderProductPageSearch(req requests.GetOrderProduct // 构建查询条件 query := global.Db.Model(&model.OrderProduct{}) + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Joins("JOIN gdxz_order_inquiry ON gdxz_order_inquiry.order_inquiry_id = gdxz_order_product.order_inquiry_id") + query = query.Where("gdxz_order_inquiry.annual_review_hide = ?", req.AnnualReviewHide) + } + // 药品数据 query = query.Preload("OrderProductItem") @@ -412,6 +418,12 @@ func (r *OrderProductDao) GetOrderProductExportListSearch(req requests.OrderProd // 构建查询条件 query := global.Db.Model(&model.OrderProduct{}) + // 年度审查隐藏 + if req.AnnualReviewHide != nil { + query = query.Joins("JOIN gdxz_order_inquiry ON gdxz_order_inquiry.order_inquiry_id = gdxz_order_product.order_inquiry_id") + query = query.Where("gdxz_order_inquiry.annual_review_hide = ?", req.AnnualReviewHide) + } + // 医生 query = query.Preload("UserDoctor", func(db *gorm.DB) *gorm.DB { return db.Omit("open_id", "union_id", "wx_session_key") diff --git a/api/requests/orderProduct.go b/api/requests/orderProduct.go index a784e72..954602f 100644 --- a/api/requests/orderProduct.go +++ b/api/requests/orderProduct.go @@ -34,7 +34,7 @@ type GetOrderProductPage struct { ProductName string `json:"product_name" form:"product_name" label:"药品名称"` CommonName string `json:"common_name" form:"common_name" label:"药品通用名"` PrescriptionCode string `json:"prescription_code" form:"prescription_code" label:"处方编号"` - + AnnualReviewHide *int `json:"-" form:"-"` // 内部传递条件 } // CancelOrderProduct 取消药品订单 @@ -67,4 +67,5 @@ type OrderProductExportList struct { ConsigneeTel string `json:"consignee_tel" form:"cancel_reason" label:"收货人电话"` PatientName string `json:"patient_name" form:"patient_name" label:"患者姓名-就诊人"` Mobile string `json:"mobile" form:"mobile" label:"手机号-医生/患者"` + AnnualReviewHide *int `json:"-" form:"-"` // 内部传递条件 } From d1e3e6223b249cdceeb3e798be02f002600321fa Mon Sep 17 00:00:00 2001 From: haomingming Date: Wed, 22 Jul 2026 13:58:57 +0800 Subject: [PATCH 5/5] 34 --- api/controller/export.go | 36 +++++++++++++++++++++++++++++ api/controller/orderPrescription.go | 18 +++++++++++++++ api/dao/orderPrescription.go | 17 ++++++++++++++ api/requests/orderPrescription.go | 2 ++ 4 files changed, 73 insertions(+) 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:"-"` // 内部传递条件 }