Merge branch 'jhc'
This commit is contained in:
commit
fc00312c7f
@ -1227,6 +1227,11 @@ type ListRequest struct {
|
|||||||
Type string `protobuf:"bytes,5,opt,name=Type,json=type,proto3" json:"Type,omitempty"` //类型
|
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"` //
|
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"` //
|
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() {
|
func (x *ListRequest) Reset() {
|
||||||
@ -1310,6 +1315,41 @@ func (x *ListRequest) GetApprovedBossId() uint64 {
|
|||||||
return 0
|
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 {
|
type ListResponse struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
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,
|
0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x72, 0x6f,
|
||||||
|
@ -163,6 +163,11 @@ message ListRequest {
|
|||||||
string Type = 5 [json_name = "type"]; //类型
|
string Type = 5 [json_name = "type"]; //类型
|
||||||
uint64 UserID = 6 [json_name = "userID"]; //
|
uint64 UserID = 6 [json_name = "userID"]; //
|
||||||
uint64 ApprovedBossId = 7 [json_name = "approvedBossId"]; //
|
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 {
|
message ListResponse {
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
msg "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
msg "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||||
"github.com/jinzhu/copier"
|
"github.com/jinzhu/copier"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"gorm.io/gorm/clause"
|
|
||||||
"gorm.io/plugin/soft_delete"
|
"gorm.io/plugin/soft_delete"
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
@ -589,22 +588,70 @@ func MyAllWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
Preload("Exhibition.ApprovalExhibitions").
|
Preload("Exhibition.ApprovalExhibitions").
|
||||||
Preload("FinancialForm")
|
Preload("FinancialForm")
|
||||||
|
|
||||||
//我未阅读的和我未操作的
|
fmt.Println("list request :==================== start ===================")
|
||||||
DB.Model(&Approval{}).Where(&Approval{Type: in.Type}).Where(&Approval{NowUserId: in.UserID, Status: StatusDoing}).Order("id desc").Select("id").Find(&ids)
|
fmt.Println(" value ", in)
|
||||||
s1 := DB.Model(&ApprovalCopy{}).Where(&ApprovalCopy{UserId: in.UserID}).Select("approval_id")
|
fmt.Println("list request :==================== end ===================")
|
||||||
|
|
||||||
|
//我未阅读的和我未操作的
|
||||||
|
queryApproval := &Approval{}
|
||||||
|
|
||||||
|
if in.SubmitterName != "" {
|
||||||
|
queryApproval.SubmitterName = in.SubmitterName
|
||||||
|
}
|
||||||
|
|
||||||
|
if in.ApprovalStatus == 0 && in.SubmitterName == "" { // 此处 为 阅读状态 表示 审批状态 默认为 StatusDoing
|
||||||
|
queryApproval.NowUserId = in.UserID
|
||||||
|
queryApproval.Status = StatusDoing
|
||||||
|
}
|
||||||
|
|
||||||
|
if in.ApprovalStatus <= StatusFail && in.ApprovalStatus > 0 { // 具体 的 审批状态
|
||||||
|
queryApproval.NowUserId = in.UserID
|
||||||
|
queryApproval.Status = int8(in.ApprovalStatus)
|
||||||
|
}
|
||||||
|
|
||||||
|
queryApprovalCopy := &ApprovalCopy{}
|
||||||
|
if in.ApprovalStatus > StatusFail { // 具体 的 阅读状态
|
||||||
|
if in.ApprovalStatus == 4 {
|
||||||
|
queryApprovalCopy.Status = 1
|
||||||
|
} else if in.ApprovalStatus == 5 {
|
||||||
|
queryApprovalCopy.Status = 2
|
||||||
|
}
|
||||||
|
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)
|
||||||
|
|
||||||
|
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 ===================")
|
||||||
|
|
||||||
|
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")))) // 已完成,抄送给我的
|
||||||
|
} else {
|
||||||
|
sonQuery := DB.Where(queryApproval)
|
||||||
|
if in.ApprovalStatus > StatusFail || in.ApprovalStatus == 0 {
|
||||||
|
sonQuery.Where(DB.Where("id in (?)", s1.Where("user_id = ?", in.UserID).Select("approval_id")))
|
||||||
|
}
|
||||||
|
modelObj = modelObj.Where(&Approval{Type: in.Type}).Where(
|
||||||
|
sonQuery)
|
||||||
|
}
|
||||||
|
|
||||||
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.Count(&count)
|
modelObj.Count(&count)
|
||||||
|
|
||||||
if len(ids) > 0 { //根据具体id排序
|
//if len(ids) > 0 { //根据具体id排序
|
||||||
modelObj = modelObj.Clauses(clause.OrderBy{
|
// 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 {
|
//} 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)
|
modelObj.Limit(int(in.PageSize)).Offset(page.GetOffset(in.Page, in.PageSize)).Find(&list)
|
||||||
|
|
||||||
@ -664,7 +711,7 @@ func MyApprovalWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
|
|
||||||
modelObj.Count(&count)
|
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
|
return list, count
|
||||||
}
|
}
|
||||||
@ -691,6 +738,14 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
modelObj = modelObj.Where(&Approval{Type: in.Type})
|
modelObj = modelObj.Where(&Approval{Type: in.Type})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if in.SubmitterName != "" {
|
||||||
|
modelObj = modelObj.Where(&Approval{SubmitterName: in.SubmitterName})
|
||||||
|
}
|
||||||
|
|
||||||
|
if in.StartTime != "" && in.EndTime != "" {
|
||||||
|
modelObj = modelObj.Where(" created_at between ? and ? ", in.StartTime, in.EndTime)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审批展示(抄送在此不表)
|
* 审批展示(抄送在此不表)
|
||||||
/ \
|
/ \
|
||||||
@ -723,7 +778,7 @@ func MyWorkApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
|
|
||||||
modelObj.Count(&count)
|
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
|
return list, count
|
||||||
}
|
}
|
||||||
@ -757,7 +812,7 @@ func MySubmitApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
|
|
||||||
modelObj.Count(&count)
|
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
|
return list, count
|
||||||
}
|
}
|
||||||
@ -784,12 +839,19 @@ func MyReadApprovals(in *approval.ListRequest) ([]*Approval, int64) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//modelObj = modelObj.Where(&Approval{SubmitterID: in.UserID})
|
//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)
|
modelObj.Where(" status = 2 and json_contains(copy_users,JSON_OBJECT('ID', ?))", in.UserID)
|
||||||
|
|
||||||
modelObj.Count(&count)
|
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
|
return list, count
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user