From 3a99d797d520bf371b856847d2c828a01649b3de Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Thu, 13 Apr 2023 18:33:11 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=20?= =?UTF-8?q?=E5=B7=B2=E9=98=85=E5=92=8C=E5=BE=85=E9=98=85=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 69844c5..99c1f04 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -11,6 +11,7 @@ import ( "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/plugin/soft_delete" + "strings" "time" ) @@ -168,7 +169,7 @@ func ExistPayApproval(in *approval.CreateRequest) bool { // subQuery1 := DB.Model(&Approval{}).Where(&Approval{SubmitterID: in.SubmitterID, Type: TypeBundlePayPrice}). - Where("status in (?)",[]uint64{StatusDoing,StatusOk}). + Where("status in (?)", []uint64{StatusDoing, StatusOk}). Select("id") DB.Model(&BundlePayPrice{}).Where("approval_id in (?)", subQuery1).Where(&BundlePayPrice{ShowUid: in.BundlePayPrice.ShowUid}).Count(&count) @@ -541,7 +542,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { 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排序 @@ -586,8 +587,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))) //抄送人(完成抄送) } @@ -643,8 +644,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))) //抄送人(完成抄送) } @@ -690,7 +691,11 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) { } if in.Type != "" { - modelObj = modelObj.Where(&Approval{Type: in.Type}) + if len(strings.Split(in.Type, ",")) > 1 { + modelObj.Where("`type` in ?", strings.Split(in.Type, ",")) + } else { + modelObj = modelObj.Where(&Approval{Type: in.Type}) + } } modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) From fb40e8f20030c2359053b9c3289c65ffa66b32fa Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Thu, 13 Apr 2023 18:42:21 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=20?= =?UTF-8?q?=E5=B7=B2=E9=98=85=E5=92=8C=E5=BE=85=E9=98=85=E8=AF=BB=201.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 99c1f04..11220c3 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -11,7 +11,6 @@ import ( "gorm.io/gorm" "gorm.io/gorm/clause" "gorm.io/plugin/soft_delete" - "strings" "time" ) @@ -687,15 +686,15 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) { Preload("Exhibition.ApprovalExhibitions") if in.Status != 0 { - modelObj = modelObj.Where(&Approval{Status: int8(in.Status)}) + if in.Status == 6 { + modelObj.Where("status in ?", []int{4, 5}) + } else { + modelObj = modelObj.Where(&Approval{Status: int8(in.Status)}) + } } if in.Type != "" { - if len(strings.Split(in.Type, ",")) > 1 { - modelObj.Where("`type` in ?", strings.Split(in.Type, ",")) - } else { - modelObj = modelObj.Where(&Approval{Type: in.Type}) - } + modelObj = modelObj.Where(&Approval{Type: in.Type}) } modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) From 9adf5a9acb794482c874971bf34412352cc89cce Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Thu, 13 Apr 2023 20:08:55 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=BE=85=E9=98=85?= =?UTF-8?q?=E8=AF=BB=E5=92=8C=E9=98=85=E8=AF=BB=203.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 36 +++++++++++++++++++++++++++++++----- pkg/service/approval.go | 2 ++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 11220c3..0ed8392 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -686,13 +686,39 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) { Preload("Exhibition.ApprovalExhibitions") if in.Status != 0 { - if in.Status == 6 { - modelObj.Where("status in ?", []int{4, 5}) - } else { - modelObj = modelObj.Where(&Approval{Status: int8(in.Status)}) - } + modelObj = modelObj.Where(&Approval{Status: int8(in.Status)}) + } + + if in.Type != "" { + modelObj = modelObj.Where(&Approval{Type: in.Type}) } + modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) + + modelObj.Count(&count) + + modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id desc").Find(&list) + + return list, count +} + +func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { + var list []*Approval + var count int64 + + //list + modelObj := DB.Model(&Approval{}). + Preload("Show"). + Preload("Work.ApprovalWorks"). + Preload("Bundle"). + Preload("BundlePayPrice"). + Preload("ApprovalWorkFlows"). + Preload("ExhibitionReward.ApprovalExhibitions"). + Preload("ApprovalType.ApprovalTypeGroup"). + Preload("Exhibition.ApprovalExhibitions") + + modelObj.Where(" json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) + if in.Type != "" { modelObj = modelObj.Where(&Approval{Type: in.Type}) } diff --git a/pkg/service/approval.go b/pkg/service/approval.go index 28d1c10..6171157 100644 --- a/pkg/service/approval.go +++ b/pkg/service/approval.go @@ -265,6 +265,8 @@ func (a *ApprovalProvider) MyWork(ctx context.Context, in *approval.ListRequest) if in.Status == 0 && in.ApprovedBossId == 0 { list, count = model.MyAllWorkApprovals(in) + } else if in.Status == 4 && in.ApprovedBossId == 0 { + list, count = model.MyReadApprovals(in) } else { list, count = model.MyWorkApprovals(in) } From b8eb4ebd0c2fff570b067dff544cd46a64a7203b Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Thu, 13 Apr 2023 20:14:58 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E5=BE=85=E9=98=85?= =?UTF-8?q?=E8=AF=BB=E5=92=8C=E9=98=85=E8=AF=BB=204.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 0ed8392..5d6996b 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -541,7 +541,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { 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排序 @@ -586,8 +586,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))) //抄送人(完成抄送) } @@ -643,8 +643,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))) //抄送人(完成抄送) } @@ -717,14 +717,14 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { Preload("ApprovalType.ApprovalTypeGroup"). Preload("Exhibition.ApprovalExhibitions") - modelObj.Where(" json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) - if in.Type != "" { modelObj = modelObj.Where(&Approval{Type: in.Type}) } modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) + modelObj.Where(" json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) + modelObj.Count(&count) modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Order("id desc").Find(&list) From a018fc944fa768fd4373a195ca735b66da286b4a Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Fri, 14 Apr 2023 09:02:56 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=8F=96=E6=B6=88=20submitter=20=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E6=9F=A5=E8=AF=A2?= 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 5d6996b..0545efb 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -541,7 +541,7 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) { 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排序 @@ -586,8 +586,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))) //抄送人(完成抄送) } @@ -643,8 +643,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))) //抄送人(完成抄送) } @@ -721,7 +721,7 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { modelObj = modelObj.Where(&Approval{Type: in.Type}) } - modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) + //modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) modelObj.Where(" json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) From d157d072e55555ce9fa66b90e0ab788fc7403280 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Fri, 14 Apr 2023 09:21:13 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=BE=85=E9=98=85=E8=AF=BB=E3=80=81?= =?UTF-8?q?=E5=B7=B2=E9=98=85=E8=AF=BB=E5=88=97=E8=A1=A8=20=E7=BB=88?= =?UTF-8?q?=E6=9E=81=E7=89=88?= 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 0545efb..5efddd1 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -723,7 +723,7 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { //modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) - modelObj.Where(" json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) + modelObj.Where(" status = 2 , json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) modelObj.Count(&count) From 44b76dc6ead507b201d83d98afd1493823f31a37 Mon Sep 17 00:00:00 2001 From: jhc <9316338+wangyitao309@user.noreply.gitee.com> Date: Fri, 14 Apr 2023 09:26:09 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=BE=85=E9=98=85=E8=AF=BB=E3=80=81?= =?UTF-8?q?=E5=B7=B2=E9=98=85=E8=AF=BB=E5=88=97=E8=A1=A8=20=E7=BB=88?= =?UTF-8?q?=E6=9E=81=E7=89=88=201.0?= 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 5efddd1..9ab950b 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -723,7 +723,7 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) { //modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID}) - modelObj.Where(" status = 2 , json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) + modelObj.Where(" status = 2 and json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID) modelObj.Count(&count)