From 2543d474be7afac983fd51c1589d16f98a38a8a6 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 16:46:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 52 ++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 08a1b25..01dda40 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -591,44 +591,50 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { Preload("ApprovalOA") //我未阅读的和我未操作的 - queryApproval := &Approval{NowUserId: in.UserID, Status: StatusDoing} - if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { + queryApproval := &Approval{NowUserId: in.UserID} + if in.ApprovalStatus == 0 { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing + queryApproval.Status = StatusDoing + } + + if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { // 具体 的 审批状态 queryApproval.Status = int8(in.ApprovalStatus) } + if in.SubmitterName != "" { queryApproval.SubmitterName = in.SubmitterName } - DB.Model(&Approval{}).Where(&Approval{Type: in.Type}).Where(queryApproval).Order("id " + in.OrderBy).Select("id").Find(&ids) queryApprovalCopy := &ApprovalCopy{UserId: in.UserID} - if in.ApprovalStatus > StatusFail { + if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态 if in.ApprovalStatus == 4 { queryApprovalCopy.Status = StatusNeedViewed } else if in.ApprovalStatus == 5 { queryApprovalCopy.Status = StatusViewed } + queryApproval.Status = StatusOk // 此处 为 阅读状态 表示 审批状态 为 StatusOk } + + DB.Model(&Approval{}).Where(&Approval{Type: in.Type}).Where(queryApproval).Order("id " + in.OrderBy).Select("id").Find(&ids) s1 := DB.Model(&ApprovalCopy{}).Where(queryApprovalCopy).Select("approval_id") if in.StartTime != "" && in.EndTime != "" { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) } - if in.Status == 0 { - modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的 - Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 - } else { - sonQuery := DB.Where(&Approval{NowUserId: in.UserID, SubmitterName: queryApproval.SubmitterName}) - if in.ApprovalStatus > StatusFail { - sonQuery.Where(&Approval{Status: StatusOk}) - sonQuery.Or(DB.Where("id in (?)", s1)) - } else { - sonQuery.Where(&Approval{Status: queryApproval.Status}) - } - modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - sonQuery) - } + //if in.Status == 0 { + // modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( + // DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的 + // Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 + //} else { + // sonQuery := DB.Where(&Approval{NowUserId: in.UserID, SubmitterName: queryApproval.SubmitterName}) + // if in.ApprovalStatus > StatusFail { + // sonQuery.Where(&Approval{Status: StatusOk}) + // sonQuery.Or(DB.Where("id in (?)", s1)) + // } + modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( + DB.Where(queryApproval). // 我需要审批的 + Or(DB.Where("id in (?)", s1))) + //} modelObj.Count(&count) @@ -676,8 +682,8 @@ func MyApprovalWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.UserID != 0 { modelObj = modelObj.Where( DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID). - Where("status != ?", StatusDoing). //完成,我参与审批 - Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我, + Where("status != ?", StatusDoing). //完成,我参与审批 + Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我, Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送) } @@ -743,8 +749,8 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.UserID != 0 { modelObj = modelObj.Where( DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID). - Where("status != ?", StatusDoing). //完成,我参与审批 - Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我, + Where("status != ?", StatusDoing). //完成,我参与审批 + Or(DB.Where("now_user_id", in.UserID).Where("status = ?", StatusDoing)). //进行中,当前审批人是我, Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送) }