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( // modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的 // DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的
Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 // Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的
} else { //} else {
sonQuery := DB.Where(&Approval{NowUserId: in.UserID, SubmitterName: queryApproval.SubmitterName}) // sonQuery := DB.Where(&Approval{NowUserId: in.UserID, SubmitterName: queryApproval.SubmitterName})
if in.ApprovalStatus > StatusFail { // if in.ApprovalStatus > StatusFail {
sonQuery.Where(&Approval{Status: StatusOk}) // sonQuery.Where(&Approval{Status: StatusOk})
sonQuery.Or(DB.Where("id in (?)", s1)) // sonQuery.Or(DB.Where("id in (?)", s1))
} else { // }
sonQuery.Where(&Approval{Status: queryApproval.Status}) modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
} DB.Where(queryApproval). // 我需要审批的
modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( Or(DB.Where("id in (?)", s1)))
sonQuery) //}
}
modelObj.Count(&count) modelObj.Count(&count)
@ -676,8 +682,8 @@ func MyApprovalWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
if in.UserID != 0 { if in.UserID != 0 {
modelObj = modelObj.Where( modelObj = modelObj.Where(
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID). DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
Where("status != ?", StatusDoing). //完成,我参与审批 Where("status != ?", StatusDoing). //完成,我参与审批
Or(DB.Where("now_user_id", in.UserID).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))) //抄送人(完成抄送) 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 { if in.UserID != 0 {
modelObj = modelObj.Where( modelObj = modelObj.Where(
DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID). DB.Where("JSON_CONTAINS(approval_users,JSON_OBJECT('ID', ?))", in.UserID).
Where("status != ?", StatusDoing). //完成,我参与审批 Where("status != ?", StatusDoing). //完成,我参与审批
Or(DB.Where("now_user_id", in.UserID).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))) //抄送人(完成抄送) Or(DB.Where("JSON_CONTAINS(copy_users,JSON_OBJECT('ID', ?))", in.UserID).Where("status = ?", StatusOk))) //抄送人(完成抄送)
} }

Loading…
Cancel
Save