diff --git a/pkg/model/approval_oa.go b/pkg/model/approval_oa.go index 6b89438..bfbffbc 100644 --- a/pkg/model/approval_oa.go +++ b/pkg/model/approval_oa.go @@ -178,6 +178,10 @@ var sonMap = map[string]string{ "nursingLeaveApply": "leaveApply", // 独生子女护理假申请 } +func GetSonMapValue(k string) string { + return sonMap[k] +} + // TableName get sql table name.获取数据库表名 func (oa *ApprovalOA) TableName() string { return "approval_oa" @@ -246,70 +250,72 @@ func addOtherInfoToModel(a *Approval, approvalOA *ApprovalOA) error { fmt.Printf("a info is : %+v\n", a) fmt.Println("============== 打印 审批内容 ========== 结束 =========") - if v, ok := sonMap[a.ApprovalType.KeyWord]; ok { - switch v { - case "leave": - copier.CopyWithOption(&approvalOA.Leave.ApprovalUsers, a.ApprovalUsers, copier.Option{DeepCopy: true}) - fmt.Println("============== 打印 审批内容 3.0 ========== 开始 =========") - fmt.Printf("approval_oa info is : %+v\n", approvalOA) - fmt.Printf("approval_oa info is : %+v\n", approvalOA.Leave) - fmt.Println("a ApprovalUsers info is : ", a.ApprovalUsers) - fmt.Println("============== 打印 审批内容 ========== 结束 =========") - - copier.CopyWithOption(&approvalOA.Leave.CopyUsers, a.CopyUsers, copier.Option{DeepCopy: true}) - fmt.Println("============== 打印 审批内容 4.0 ========== 开始 =========") - fmt.Printf("approval_oa info is : %+v\n", approvalOA) - fmt.Printf("approval_oa info is : %+v\n", approvalOA.Leave) - fmt.Println("a CopyUsers info is : ", a.CopyUsers) - fmt.Println("============== 打印 审批内容 ========== 结束 =========") - - if approvalOA.Leave.ApplyType == "" { - approvalOA.Leave.ApplyType = a.ApprovalType.KeyWord - } - approvalOA.Leave.ApprovalID = strconv.FormatUint(a.ID, 10) - approvalOA.Leave.Status = int32(a.Status) - - case "makeUp": - approvalOA.MakeUp.ApprovalUsers = a.ApprovalUsers - approvalOA.MakeUp.CopyUsers = a.CopyUsers - approvalOA.MakeUp.ApplyType = a.ApprovalType.KeyWord - approvalOA.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10) - approvalOA.MakeUp.Status = int32(a.Status) - - case "overTime": - approvalOA.OverTime.ApprovalUsers = a.ApprovalUsers - approvalOA.OverTime.CopyUsers = a.CopyUsers - approvalOA.OverTime.ApplyType = a.ApprovalType.KeyWord - approvalOA.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10) - approvalOA.OverTime.Status = int32(a.Status) - - case "outWork": - approvalOA.OutWork.ApprovalUsers = a.ApprovalUsers - approvalOA.OutWork.CopyUsers = a.CopyUsers - approvalOA.OutWork.ApplyType = a.ApprovalType.KeyWord - approvalOA.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10) - approvalOA.OutWork.Status = int32(a.Status) - - case "turnover": - approvalOA.Turnover.ApprovalUsers = a.ApprovalUsers - approvalOA.Turnover.CopyUsers = a.CopyUsers - approvalOA.Turnover.ApplyType = a.ApprovalType.KeyWord - approvalOA.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10) - approvalOA.Turnover.Status = int32(a.Status) - - case "leaveApply": - approvalOA.LeaveApply.ApprovalUsers = a.ApprovalUsers - approvalOA.LeaveApply.CopyUsers = a.CopyUsers - approvalOA.LeaveApply.ApplyType = a.ApprovalType.KeyWord - approvalOA.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10) - approvalOA.LeaveApply.Status = int32(a.Status) - if approvalOA.Leave.ApplyType == "" { - approvalOA.Leave.ApplyType = a.ApprovalType.KeyWord - } - default: - return errors.New("未找到相关审批类型") + fmt.Println(sonMap[a.ApprovalType.KeyWord]) + + v := GetSonMapValue(a.ApprovalType.KeyWord) + switch v { + case "leave": + copier.CopyWithOption(&approvalOA.Leave.ApprovalUsers, a.ApprovalUsers, copier.Option{DeepCopy: true}) + fmt.Println("============== 打印 审批内容 3.0 ========== 开始 =========") + fmt.Printf("approval_oa info is : %+v\n", approvalOA) + fmt.Printf("approval_oa info is : %+v\n", approvalOA.Leave) + fmt.Println("a ApprovalUsers info is : ", a.ApprovalUsers) + fmt.Println("============== 打印 审批内容 ========== 结束 =========") + + copier.CopyWithOption(&approvalOA.Leave.CopyUsers, a.CopyUsers, copier.Option{DeepCopy: true}) + fmt.Println("============== 打印 审批内容 4.0 ========== 开始 =========") + fmt.Printf("approval_oa info is : %+v\n", approvalOA) + fmt.Printf("approval_oa info is : %+v\n", approvalOA.Leave) + fmt.Println("a CopyUsers info is : ", a.CopyUsers) + fmt.Println("============== 打印 审批内容 ========== 结束 =========") + + if approvalOA.Leave.ApplyType == "" { + approvalOA.Leave.ApplyType = a.ApprovalType.KeyWord } + approvalOA.Leave.ApprovalID = strconv.FormatUint(a.ID, 10) + approvalOA.Leave.Status = int32(a.Status) + + case "makeUp": + approvalOA.MakeUp.ApprovalUsers = a.ApprovalUsers + approvalOA.MakeUp.CopyUsers = a.CopyUsers + approvalOA.MakeUp.ApplyType = a.ApprovalType.KeyWord + approvalOA.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10) + approvalOA.MakeUp.Status = int32(a.Status) + + case "overTime": + approvalOA.OverTime.ApprovalUsers = a.ApprovalUsers + approvalOA.OverTime.CopyUsers = a.CopyUsers + approvalOA.OverTime.ApplyType = a.ApprovalType.KeyWord + approvalOA.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10) + approvalOA.OverTime.Status = int32(a.Status) + + case "outWork": + approvalOA.OutWork.ApprovalUsers = a.ApprovalUsers + approvalOA.OutWork.CopyUsers = a.CopyUsers + approvalOA.OutWork.ApplyType = a.ApprovalType.KeyWord + approvalOA.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10) + approvalOA.OutWork.Status = int32(a.Status) + + case "turnover": + approvalOA.Turnover.ApprovalUsers = a.ApprovalUsers + approvalOA.Turnover.CopyUsers = a.CopyUsers + approvalOA.Turnover.ApplyType = a.ApprovalType.KeyWord + approvalOA.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10) + approvalOA.Turnover.Status = int32(a.Status) + + case "leaveApply": + approvalOA.LeaveApply.ApprovalUsers = a.ApprovalUsers + approvalOA.LeaveApply.CopyUsers = a.CopyUsers + approvalOA.LeaveApply.ApplyType = a.ApprovalType.KeyWord + approvalOA.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10) + approvalOA.LeaveApply.Status = int32(a.Status) + if approvalOA.Leave.ApplyType == "" { + approvalOA.Leave.ApplyType = a.ApprovalType.KeyWord + } + default: + return errors.New("未找到相关审批类型") } + return nil }