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 {
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))) //抄送人(完成抄送)
}

Loading…
Cancel
Save