diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 87fed08..e363d88 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -626,20 +626,18 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { 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)) - // } - modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(queryApproval). // 我需要审批的 - Or(DB.Where("id in (?)", s1))) - //} + 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(queryApproval) + if in.ApprovalStatus > StatusFail { + sonQuery.Or(DB.Where("id in (?)", s1)) + } + modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( + sonQuery) + } modelObj.Count(&count) @@ -687,8 +685,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))) //抄送人(完成抄送) } @@ -754,8 +752,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))) //抄送人(完成抄送) }