main
jhc 1 year ago
parent 072ee59c55
commit 2543d474be

@ -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 {
//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(&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)
}
DB.Where(queryApproval). // 我需要审批的
Or(DB.Where("id in (?)", s1)))
//}
modelObj.Count(&count)

Loading…
Cancel
Save