From cf150b00c80928a72af72354ec3c960294b3ac08 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 11:46:35 +0800 Subject: [PATCH 01/30] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/approval/approval.pb.go | 54 +++++++++++++++++++++++++++++++++++-- api/approval/approval.proto | 5 ++++ pkg/model/approval.go | 46 ++++++++++++++++++++++--------- 3 files changed, 90 insertions(+), 15 deletions(-) diff --git a/api/approval/approval.pb.go b/api/approval/approval.pb.go index 57f2281..2d46133 100644 --- a/api/approval/approval.pb.go +++ b/api/approval/approval.pb.go @@ -1227,6 +1227,11 @@ type ListRequest struct { Type string `protobuf:"bytes,5,opt,name=Type,json=type,proto3" json:"Type,omitempty"` //类型 UserID uint64 `protobuf:"varint,6,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"` // ApprovedBossId uint64 `protobuf:"varint,7,opt,name=ApprovedBossId,json=approvedBossId,proto3" json:"ApprovedBossId,omitempty"` // + SubmitterName string `protobuf:"bytes,8,opt,name=SubmitterName,json=submitterName,proto3" json:"SubmitterName,omitempty"` // 提交人姓名 + OrderBy string `protobuf:"bytes,9,opt,name=OrderBy,json=orderBy,proto3" json:"OrderBy,omitempty"` // 排序方式 asc + StartTime string `protobuf:"bytes,10,opt,name=StartTime,json=startTime,proto3" json:"StartTime,omitempty"` // 提交时间 + EndTime string `protobuf:"bytes,11,opt,name=EndTime,json=endTime,proto3" json:"EndTime,omitempty"` + ApprovalStatus uint64 `protobuf:"varint,12,opt,name=ApprovalStatus,json=approvalStatus,proto3" json:"ApprovalStatus,omitempty"` // 审批状态 1 待审批 2 审批通过 3 审批未通过 4 未阅 5 已阅 } func (x *ListRequest) Reset() { @@ -1310,6 +1315,41 @@ func (x *ListRequest) GetApprovedBossId() uint64 { return 0 } +func (x *ListRequest) GetSubmitterName() string { + if x != nil { + return x.SubmitterName + } + return "" +} + +func (x *ListRequest) GetOrderBy() string { + if x != nil { + return x.OrderBy + } + return "" +} + +func (x *ListRequest) GetStartTime() string { + if x != nil { + return x.StartTime + } + return "" +} + +func (x *ListRequest) GetEndTime() string { + if x != nil { + return x.EndTime + } + return "" +} + +func (x *ListRequest) GetApprovalStatus() uint64 { + if x != nil { + return x.ApprovalStatus + } + return 0 +} + type ListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5616,7 +5656,7 @@ var file_api_approval_approval_proto_rawDesc = []byte{ 0x65, 0x61, 0x76, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, @@ -5629,7 +5669,17 @@ var file_api_approval_approval_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x42, 0x6f, 0x73, 0x73, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x42, 0x6f, - 0x73, 0x73, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x62, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x51, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f, diff --git a/api/approval/approval.proto b/api/approval/approval.proto index 1c363f6..93e708b 100644 --- a/api/approval/approval.proto +++ b/api/approval/approval.proto @@ -163,6 +163,11 @@ message ListRequest { string Type = 5 [json_name = "type"]; //类型 uint64 UserID = 6 [json_name = "userID"]; // uint64 ApprovedBossId = 7 [json_name = "approvedBossId"]; // + string SubmitterName = 8 [json_name = "submitterName"]; // 提交人姓名 + string OrderBy = 9 [json_name = "orderBy"]; // 排序方式 asc + string StartTime = 10 [json_name = "startTime"]; // 提交时间 + string EndTime = 11 [json_name = "endTime"]; + uint64 ApprovalStatus = 12 [json_name = "approvalStatus"]; // 审批状态 1 待审批 2 审批通过 3 审批未通过 4 未阅 5 已阅 } message ListResponse { diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 8e16e9f..cc0bffc 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -591,20 +591,36 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { Preload("ApprovalOA") //我未阅读的和我未操作的 - DB.Model(&Approval{}).Where(&Approval{Type: in.Type}).Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}).Order("id desc").Select("id").Find(&ids) - s1 := DB.Model(&ApprovalCopy{}).Where(&ApprovalCopy{UserId: in.UserID}).Select("approval_id") + queryApproval := &Approval{NowUserId: in.UserID, Status: StatusDoing} + if in.ApprovalStatus <= StatusFail { + 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 == 4 { + queryApprovalCopy.Status = StatusNeedViewed + } else if in.ApprovalStatus == 5 { + queryApprovalCopy.Status = StatusViewed + } + } + s1 := DB.Model(&ApprovalCopy{}).Where(queryApprovalCopy).Select("approval_id") 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))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 modelObj.Count(&count) if len(ids) > 0 { //根据具体id排序 modelObj = modelObj.Clauses(clause.OrderBy{ - Expression: clause.Expr{SQL: "FIELD(id,?) desc", Vars: []interface{}{ids}, WithoutParentheses: true}, + Expression: clause.Expr{SQL: "FIELD(id,?) " + in.OrderBy, Vars: []interface{}{ids}, WithoutParentheses: true}, }) } else { - modelObj = modelObj.Order("id desc") + modelObj = modelObj.Order("id " + in.OrderBy) } modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list) @@ -643,8 +659,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))) //抄送人(完成抄送) } @@ -665,7 +681,7 @@ func MyApprovalWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj.Count(&count) - modelObj.Order("id desc").Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list) + modelObj.Order("id " + in.OrderBy).Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list) return list, count } @@ -692,6 +708,10 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj = modelObj.Where(&Approval{Type: in.Type}) } + if in.SubmitterName != "" { + modelObj = modelObj.Where(&Approval{SubmitterName: in.SubmitterName}) + } + /** * 审批展示(抄送在此不表) / \ @@ -702,8 +722,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))) //抄送人(完成抄送) } @@ -724,7 +744,7 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj.Count(&count) - modelObj.Order("id desc").Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list) + modelObj.Order("id " + in.OrderBy).Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list) return list, count } @@ -758,7 +778,7 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj.Count(&count) - modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id desc").Find(&list) + modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id " + in.OrderBy).Find(&list) return list, count } @@ -790,7 +810,7 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj.Count(&count) - modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id desc").Find(&list) + modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id " + in.OrderBy).Find(&list) return list, count } From 00830ff6e86a33d3e46d8e0d68f2bee70c6f5540 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 13:18:58 +0800 Subject: [PATCH 02/30] =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=AE=A1=E6=89=B9=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index cc0bffc..8e6119b 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -610,9 +610,12 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } s1 := DB.Model(&ApprovalCopy{}).Where(queryApprovalCopy).Select("approval_id") + /*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))) // 已完成,抄送给我的 */ 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))) // 已完成,抄送给我的 + DB.Where(queryApproval). // 我需要审批的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 modelObj.Count(&count) if len(ids) > 0 { //根据具体id排序 @@ -659,8 +662,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))) //抄送人(完成抄送) } @@ -712,6 +715,10 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj = modelObj.Where(&Approval{SubmitterName: in.SubmitterName}) } + if in.StartTime != "" && in.EndTime != "" { + modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) + } + /** * 审批展示(抄送在此不表) / \ @@ -722,8 +729,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))) //抄送人(完成抄送) } From efcd9fcdce09f92275e414e82fb56b3ff1d5b8bf Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 14:40:39 +0800 Subject: [PATCH 03/30] =?UTF-8?q?=E6=9C=89=E6=90=9C=E7=B4=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E6=97=B6,=E6=9F=A5=E8=AF=A2=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E5=AE=A1=E6=89=B9,=E4=B8=8D=E5=8C=85=E5=90=AB=E6=8A=84?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 8e6119b..313f6f8 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -610,12 +610,15 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } s1 := DB.Model(&ApprovalCopy{}).Where(queryApprovalCopy).Select("approval_id") - /*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))) // 已完成,抄送给我的 */ - modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(queryApproval). // 我需要审批的 - Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 + if queryApproval.SubmitterName == "" && 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 { + modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( + DB.Where(queryApproval)) // 我需要审批的 + } + modelObj.Count(&count) if len(ids) > 0 { //根据具体id排序 @@ -662,8 +665,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))) //抄送人(完成抄送) } @@ -729,8 +732,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))) //抄送人(完成抄送) } From 49c8d6a454c5fe1105e836fd1a8ab4bc97803b9b Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 14:53:34 +0800 Subject: [PATCH 04/30] =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 313f6f8..194b85d 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -610,6 +610,10 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } 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 queryApproval.SubmitterName == "" && in.Status == 0 { modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( DB.Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}). // 我需要审批的 From ca5f5e2369b32655fca98c4b4cd97abe7d37ba8e Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 15:04:36 +0800 Subject: [PATCH 05/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 194b85d..0002c03 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -617,10 +617,11 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if queryApproval.SubmitterName == "" && 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))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 } else { modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(queryApproval)) // 我需要审批的 + DB.Where(queryApproval). // 我需要审批的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 } modelObj.Count(&count) @@ -669,8 +670,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))) //抄送人(完成抄送) } @@ -736,8 +737,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))) //抄送人(完成抄送) } From fd60fa490b40aaae3fccb02356a138cdd8cfa7ab Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 15:05:27 +0800 Subject: [PATCH 06/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 0002c03..1065e90 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -621,7 +621,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } else { modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( DB.Where(queryApproval). // 我需要审批的 - Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", queryApproval.Status).Where("id in (?)", s1))) // 已完成,抄送给我的 } modelObj.Count(&count) From adab168f02a352d8e36b966a8f6760009b576e04 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 15:09:50 +0800 Subject: [PATCH 07/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 1065e90..d481770 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -592,7 +592,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { //我未阅读的和我未操作的 queryApproval := &Approval{NowUserId: in.UserID, Status: StatusDoing} - if in.ApprovalStatus <= StatusFail { + if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { queryApproval.Status = int8(in.ApprovalStatus) } if in.SubmitterName != "" { From 1a5d282ce204981ea19036ce1208dbc993aac34d Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 15:13:32 +0800 Subject: [PATCH 08/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index d481770..d422f77 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -620,8 +620,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 } else { modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(queryApproval). // 我需要审批的 - Or(DB.Where("status = ?", queryApproval.Status).Where("id in (?)", s1))) // 已完成,抄送给我的 + DB.Where(queryApproval)) } modelObj.Count(&count) From 072ee59c559ae445ce3a45dfb1e4ecf8e584affc Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 16:34:03 +0800 Subject: [PATCH 09/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index d422f77..08a1b25 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -614,13 +614,20 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) } - if queryApproval.SubmitterName == "" && 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)) + } else { + sonQuery.Where(&Approval{Status: queryApproval.Status}) + } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(queryApproval)) + sonQuery) } modelObj.Count(&count) From 2543d474be7afac983fd51c1589d16f98a38a8a6 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 16:46:07 +0800 Subject: [PATCH 10/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 52 ++++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 08a1b25..01dda40 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -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))) //抄送人(完成抄送) } From 4e23a6722cd1633731395331c6916804662e3894 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 16:51:20 +0800 Subject: [PATCH 11/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 01dda40..05d1b29 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -592,7 +592,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { //我未阅读的和我未操作的 queryApproval := &Approval{NowUserId: in.UserID} - if in.ApprovalStatus == 0 { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing + if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing queryApproval.Status = StatusDoing } @@ -633,7 +633,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { // } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( DB.Where(queryApproval). // 我需要审批的 - Or(DB.Where("id in (?)", s1))) + Or(DB.Where("id in (?)", s1))) //} modelObj.Count(&count) @@ -682,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))) //抄送人(完成抄送) } @@ -749,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))) //抄送人(完成抄送) } From adeae10479c074e98f7abded6ea3c8e45406eab3 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 16:55:25 +0800 Subject: [PATCH 12/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 05d1b29..87fed08 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -592,18 +592,23 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { //我未阅读的和我未操作的 queryApproval := &Approval{NowUserId: in.UserID} - if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing - queryApproval.Status = StatusDoing + + if in.SubmitterName != "" { + queryApproval.SubmitterName = in.SubmitterName + } else { + if in.ApprovalStatus == 0 { + queryApproval.Status = StatusDoing + } } + //if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing + // queryApproval.Status = StatusDoing + //} + if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { // 具体 的 审批状态 queryApproval.Status = int8(in.ApprovalStatus) } - if in.SubmitterName != "" { - queryApproval.SubmitterName = in.SubmitterName - } - queryApprovalCopy := &ApprovalCopy{UserId: in.UserID} if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态 if in.ApprovalStatus == 4 { @@ -633,7 +638,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { // } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( DB.Where(queryApproval). // 我需要审批的 - Or(DB.Where("id in (?)", s1))) + Or(DB.Where("id in (?)", s1))) //} modelObj.Count(&count) @@ -682,8 +687,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))) //抄送人(完成抄送) } @@ -749,8 +754,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))) //抄送人(完成抄送) } From f0ab4a944a4d8efa1982f67cc10458cefd4e949a Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 17:04:14 +0800 Subject: [PATCH 13/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) 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))) //抄送人(完成抄送) } From 559f1e2b4d82436543ca35d86c312b1466b5c531 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 17:08:25 +0800 Subject: [PATCH 14/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index e363d88..6dc9324 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -626,7 +626,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) } - if in.Status == 0 { + if in.ApprovalStatus == 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))) // 已完成,抄送给我的 From 8064359d260bd6f39d5046bee4f20a7e60cae987 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 17:12:36 +0800 Subject: [PATCH 15/30] xiugai --- pkg/model/approval.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 6dc9324..a5be14e 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -612,9 +612,9 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { queryApprovalCopy := &ApprovalCopy{UserId: in.UserID} if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态 if in.ApprovalStatus == 4 { - queryApprovalCopy.Status = StatusNeedViewed + queryApprovalCopy.Status = 1 } else if in.ApprovalStatus == 5 { - queryApprovalCopy.Status = StatusViewed + queryApprovalCopy.Status = 2 } queryApproval.Status = StatusOk // 此处 为 阅读状态 表示 审批状态 为 StatusOk } From cd29c2a85dbf7c554ab75ac38820cff5d0798870 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 17:56:21 +0800 Subject: [PATCH 16/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index a5be14e..c01ca6a 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -590,6 +590,10 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { Preload("FinancialForm"). Preload("ApprovalOA") + fmt.Println("list request :==================== start ===================") + fmt.Println(" value ", in) + fmt.Println("list request :==================== end ===================") + //我未阅读的和我未操作的 queryApproval := &Approval{NowUserId: in.UserID} @@ -629,7 +633,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.ApprovalStatus == 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))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 } else { sonQuery := DB.Where(queryApproval) if in.ApprovalStatus > StatusFail { @@ -685,8 +689,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))) //抄送人(完成抄送) } @@ -752,8 +756,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))) //抄送人(完成抄送) } From 227faf717d2882206a76f240c8a487d62247b97a Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 18:01:57 +0800 Subject: [PATCH 17/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index c01ca6a..3d9dca3 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -629,11 +629,14 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.StartTime != "" && in.EndTime != "" { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) } + fmt.Println("queryApproval request :==================== start ===================") + fmt.Println(" queryApproval ", queryApproval) + fmt.Println("queryApproval request :==================== end ===================") if in.ApprovalStatus == 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))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1))) // 已完成,抄送给我的 } else { sonQuery := DB.Where(queryApproval) if in.ApprovalStatus > StatusFail { @@ -689,8 +692,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))) //抄送人(完成抄送) } @@ -756,8 +759,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))) //抄送人(完成抄送) } From ad04688e2d5cd42448f805a3a4fef358b24bbd95 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 18:13:26 +0800 Subject: [PATCH 18/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 3d9dca3..6e22862 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -630,7 +630,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) } fmt.Println("queryApproval request :==================== start ===================") - fmt.Println(" queryApproval ", queryApproval) + fmt.Printf("queryApproval %+v\n", queryApproval) fmt.Println("queryApproval request :==================== end ===================") if in.ApprovalStatus == 0 { @@ -640,7 +640,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } else { sonQuery := DB.Where(queryApproval) if in.ApprovalStatus > StatusFail { - sonQuery.Or(DB.Where("id in (?)", s1)) + sonQuery.Where(DB.Where("id in (?)", s1)) } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( sonQuery) From 1e8243fb765260f5f8f76350713ca7f2038f2387 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 18:22:41 +0800 Subject: [PATCH 19/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 6e22862..f27df3b 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -633,7 +633,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { fmt.Printf("queryApproval %+v\n", queryApproval) fmt.Println("queryApproval request :==================== end ===================") - if in.ApprovalStatus == 0 { + if in.SubmitterName == "" { 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))) // 已完成,抄送给我的 From df62cc932e09dd392e73864b0152ef91ee1f3d31 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 18:27:44 +0800 Subject: [PATCH 20/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index f27df3b..6fe025e 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -633,7 +633,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { fmt.Printf("queryApproval %+v\n", queryApproval) fmt.Println("queryApproval request :==================== end ===================") - if in.SubmitterName == "" { + if in.SubmitterName == "" && in.ApprovalStatus == 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))) // 已完成,抄送给我的 From 7af578eedabca72b5fe623d9cf05135f7bf0bd25 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 19:05:00 +0800 Subject: [PATCH 21/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 6fe025e..9bad259 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -624,7 +624,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } 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) if in.StartTime != "" && in.EndTime != "" { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) @@ -636,11 +636,11 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.SubmitterName == "" && in.ApprovalStatus == 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))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1).Select("approval_id"))) // 已完成,抄送给我的 } else { sonQuery := DB.Where(queryApproval) if in.ApprovalStatus > StatusFail { - sonQuery.Where(DB.Where("id in (?)", s1)) + sonQuery.Or(DB.Where("id in (?)", s1.Where("approval_id in (?)").Select("approval_id"))) } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( sonQuery) From 142fb4d89db97704f2d242515b86e21e1100e8b0 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 19:26:59 +0800 Subject: [PATCH 22/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 9bad259..3b2236c 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -624,7 +624,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } DB.Model(&Approval{}).Where(&Approval{Type: in.Type}).Where(queryApproval).Order("id " + in.OrderBy).Select("id").Find(&ids) - s1 := DB.Model(&ApprovalCopy{}).Where(queryApprovalCopy) + 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) @@ -636,14 +636,10 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.SubmitterName == "" && in.ApprovalStatus == 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).Select("approval_id"))) // 已完成,抄送给我的 + 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.Where("approval_id in (?)").Select("approval_id"))) - } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - sonQuery) + DB.Where(&Approval{SubmitterName: in.SubmitterName, Status: queryApproval.Status}).Or(DB.Where("now_user_id = ?", in.UserID)).Or(DB.Where("id in (?)", s1))) } modelObj.Count(&count) From e94b669757bcc240eb490d8c0fa1a37ca8fdd7c3 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 19:36:15 +0800 Subject: [PATCH 23/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 3b2236c..aae0f95 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -595,7 +595,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { fmt.Println("list request :==================== end ===================") //我未阅读的和我未操作的 - queryApproval := &Approval{NowUserId: in.UserID} + queryApproval := &Approval{} if in.SubmitterName != "" { queryApproval.SubmitterName = in.SubmitterName @@ -610,11 +610,13 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { //} if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { // 具体 的 审批状态 + queryApproval.NowUserId = in.UserID queryApproval.Status = int8(in.ApprovalStatus) } queryApprovalCopy := &ApprovalCopy{UserId: in.UserID} if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态 + queryApprovalCopy.UserId = in.UserID if in.ApprovalStatus == 4 { queryApprovalCopy.Status = 1 } else if in.ApprovalStatus == 5 { @@ -638,8 +640,12 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { 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.Where(DB.Where("id in (?)", s1)) + } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( - DB.Where(&Approval{SubmitterName: in.SubmitterName, Status: queryApproval.Status}).Or(DB.Where("now_user_id = ?", in.UserID)).Or(DB.Where("id in (?)", s1))) + sonQuery) } modelObj.Count(&count) From 9b0ba0dde34a1882f9f1a18e596ff2ce1b3f40f9 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 19:50:31 +0800 Subject: [PATCH 24/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index aae0f95..2c883be 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -614,9 +614,8 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { queryApproval.Status = int8(in.ApprovalStatus) } - queryApprovalCopy := &ApprovalCopy{UserId: in.UserID} + queryApprovalCopy := &ApprovalCopy{} if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态 - queryApprovalCopy.UserId = in.UserID if in.ApprovalStatus == 4 { queryApprovalCopy.Status = 1 } else if in.ApprovalStatus == 5 { @@ -626,11 +625,12 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } 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) if in.StartTime != "" && in.EndTime != "" { modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) } + fmt.Println("queryApproval request :==================== start ===================") fmt.Printf("queryApproval %+v\n", queryApproval) fmt.Println("queryApproval request :==================== end ===================") @@ -638,11 +638,11 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.SubmitterName == "" && in.ApprovalStatus == 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))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1.Where("user_id = ?", in.UserID).Select("approval_id")))) // 已完成,抄送给我的 } else { sonQuery := DB.Where(queryApproval) - if in.ApprovalStatus > StatusFail { - sonQuery.Where(DB.Where("id in (?)", s1)) + if in.ApprovalStatus > StatusFail || in.ApprovalStatus == 0 { + sonQuery.Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1.Where("user_id = ?", in.UserID).Select("approval_id"))) } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( sonQuery) @@ -694,8 +694,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))) //抄送人(完成抄送) } @@ -761,8 +761,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))) //抄送人(完成抄送) } From 2a0e0c1cd5666480e19843e8b37f6b2b3d9dc5c8 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Tue, 13 Jun 2023 19:56:26 +0800 Subject: [PATCH 25/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 2c883be..fad5d72 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -642,7 +642,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } else { sonQuery := DB.Where(queryApproval) if in.ApprovalStatus > StatusFail || in.ApprovalStatus == 0 { - sonQuery.Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1.Where("user_id = ?", in.UserID).Select("approval_id"))) + sonQuery.Where(DB.Where("id in (?)", s1.Where("user_id = ?", in.UserID).Select("approval_id"))) } modelObj = modelObj.Where(&Approval{Type: in.Type}).Where( sonQuery) From 2b7392956dfec86cd15c8e177db688f16bae418e Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Wed, 14 Jun 2023 09:22:10 +0800 Subject: [PATCH 26/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index fad5d72..5d02e82 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -599,10 +599,6 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.SubmitterName != "" { queryApproval.SubmitterName = in.SubmitterName - } else { - if in.ApprovalStatus == 0 { - queryApproval.Status = StatusDoing - } } //if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing From 18f707abe6413fc34340427dbe3660b77bc82469 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Wed, 14 Jun 2023 09:24:22 +0800 Subject: [PATCH 27/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 5d02e82..57be410 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -601,9 +601,9 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { queryApproval.SubmitterName = in.SubmitterName } - //if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing - // queryApproval.Status = StatusDoing - //} + if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing + queryApproval.Status = StatusDoing + } if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { // 具体 的 审批状态 queryApproval.NowUserId = in.UserID From f3327d15b5b5bad0ec1faf6d59093e81cc2dbbe9 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Wed, 14 Jun 2023 09:28:19 +0800 Subject: [PATCH 28/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 57be410..cc5172c 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -602,6 +602,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { } if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing + queryApproval.NowUserId = in.UserID queryApproval.Status = StatusDoing } @@ -634,7 +635,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { if in.SubmitterName == "" && in.ApprovalStatus == 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.Where("user_id = ?", in.UserID).Select("approval_id")))) // 已完成,抄送给我的 + Or(DB.Where("status = ?", StatusOk).Where("id in (?)", s1.Where("user_id = ?", in.UserID).Select("approval_id")))) // 已完成,抄送给我的 } else { sonQuery := DB.Where(queryApproval) if in.ApprovalStatus > StatusFail || in.ApprovalStatus == 0 { @@ -690,8 +691,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))) //抄送人(完成抄送) } @@ -757,8 +758,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))) //抄送人(完成抄送) } From b9e7ccc9a409c34d5360c73384d77097063a878d Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Wed, 14 Jun 2023 09:34:34 +0800 Subject: [PATCH 29/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index cc5172c..18e75ba 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -10,7 +10,6 @@ import ( msg "github.com/fonchain_enterprise/fonchain-approval/pkg/m" "github.com/jinzhu/copier" "gorm.io/gorm" - "gorm.io/gorm/clause" "gorm.io/plugin/soft_delete" "strconv" "time" @@ -647,13 +646,13 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj.Count(&count) - if len(ids) > 0 { //根据具体id排序 - modelObj = modelObj.Clauses(clause.OrderBy{ - Expression: clause.Expr{SQL: "FIELD(id,?) " + in.OrderBy, Vars: []interface{}{ids}, WithoutParentheses: true}, - }) - } else { - modelObj = modelObj.Order("id " + in.OrderBy) - } + //if len(ids) > 0 { //根据具体id排序 + // modelObj = modelObj.Clauses(clause.OrderBy{ + // Expression: clause.Expr{SQL: "FIELD(id,?) " + in.OrderBy, Vars: []interface{}{ids}, WithoutParentheses: true}, + // }) + //} else { + modelObj = modelObj.Order("id " + in.OrderBy) + //} modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list) From ee8fae3bbb811a8c9b8b3a48b90852313b5fe22b Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Thu, 15 Jun 2023 15:49:00 +0800 Subject: [PATCH 30/30] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 18e75ba..6b6374f 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -840,6 +840,13 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { } //modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) + if in.SubmitterName != "" { + modelObj = modelObj.Where("submitter_name = ? ", in.SubmitterName) + } + + if in.StartTime != "" && in.EndTime != "" { + modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime) + } modelObj.Where(" status = 2 and json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID)