main
jhc 1 year ago
parent 072ee59c55
commit 2543d474be

@ -591,44 +591,50 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
Preload("ApprovalOA") Preload("ApprovalOA")
//我未阅读的和我未操作的 //我未阅读的和我未操作的
queryApproval := &Approval{NowUserId: in.UserID, Status: StatusDoing} queryApproval := &Approval{NowUserId: in.UserID}
if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { if in.ApprovalStatus == 0 { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing
queryApproval.Status = StatusDoing
}
if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { // 具体 的 审批状态
queryApproval.Status = int8(in.ApprovalStatus) queryApproval.Status = int8(in.ApprovalStatus)
} }
if in.SubmitterName != "" { if in.SubmitterName != "" {
queryApproval.SubmitterName = 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} queryApprovalCopy := &ApprovalCopy{UserId: in.UserID}
if in.ApprovalStatus > StatusFail { if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态
if in.ApprovalStatus == 4 { if in.ApprovalStatus == 4 {
queryApprovalCopy.Status = StatusNeedViewed queryApprovalCopy.Status = StatusNeedViewed
} else if in.ApprovalStatus == 5 { } else if in.ApprovalStatus == 5 {
queryApprovalCopy.Status = StatusViewed 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") s1 := DB.Model(&ApprovalCopy{}).Where(queryApprovalCopy).Select("approval_id")
if in.StartTime != "" && in.EndTime != "" { if in.StartTime != "" && in.EndTime != "" {
modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime)
} }
if in.Status == 0 { //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( modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的 DB.Where(queryApproval). // 我需要审批的
Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 Or(DB.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)
}
modelObj.Count(&count) modelObj.Count(&count)

Loading…
Cancel
Save