修改 赋值
This commit is contained in:
parent
9f29def7f2
commit
3840a48571
@ -198,35 +198,37 @@ func (oa *ApprovalOA) GetApproval(id uint64) (*Approval, error) {
|
||||
|
||||
func (oa *ApprovalOA) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
|
||||
|
||||
if err := oa.copyOAToModel(in, a); err != nil {
|
||||
approvalOA, err := oa.copyOAToModel(in, a)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return DB.Create(&oa).Error
|
||||
return DB.Create(&approvalOA).Error
|
||||
}
|
||||
|
||||
func (oa *ApprovalOA) copyOAToModel(in *approval.CreateRequest, a *Approval) error {
|
||||
copier.CopyWithOption(&oa, in.ApprovalOA, copier.Option{DeepCopy: true})
|
||||
oa.ApprovalID = a.ID
|
||||
func (oa *ApprovalOA) copyOAToModel(in *approval.CreateRequest, a *Approval) (approvalOA *ApprovalOA, err error) {
|
||||
|
||||
if err := oa.addOtherInfoToModel(in, a); err != nil {
|
||||
return err
|
||||
copier.CopyWithOption(&approvalOA, in.ApprovalOA, copier.Option{DeepCopy: true})
|
||||
approvalOA.ApprovalID = a.ID
|
||||
|
||||
if err := oa.addOtherInfoToModel(in, a, approvalOA); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return nil
|
||||
return approvalOA, nil
|
||||
}
|
||||
|
||||
func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approval) error {
|
||||
func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approval, appprovalOA *ApprovalOA) error {
|
||||
if v, ok := sonMap[a.ApprovalType.KeyWord]; ok {
|
||||
switch v {
|
||||
case "leave":
|
||||
oa.Leave.ApprovalUsers = a.ApprovalUsers
|
||||
oa.Leave.CopyUsers = a.CopyUsers
|
||||
if oa.Leave.ApplyType != "" {
|
||||
oa.Leave.ApplyType = a.ApprovalType.KeyWord
|
||||
appprovalOA.Leave.ApprovalUsers = a.ApprovalUsers
|
||||
appprovalOA.Leave.CopyUsers = a.CopyUsers
|
||||
if appprovalOA.Leave.ApplyType != "" {
|
||||
appprovalOA.Leave.ApplyType = a.ApprovalType.KeyWord
|
||||
}
|
||||
oa.Leave.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
oa.Leave.Status = int32(a.Status)
|
||||
appprovalOA.Leave.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
appprovalOA.Leave.Status = int32(a.Status)
|
||||
|
||||
applyTimes := make([]ApplyTime, 0)
|
||||
for i := 0; i < len(in.ApprovalOA.Leave.ApplyTimes); i++ {
|
||||
@ -236,13 +238,13 @@ func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approva
|
||||
M: in.ApprovalOA.Leave.ApplyTimes[i].M,
|
||||
})
|
||||
}
|
||||
oa.Leave.ApplyTimes = applyTimes
|
||||
appprovalOA.Leave.ApplyTimes = applyTimes
|
||||
case "makeUp":
|
||||
oa.MakeUp.ApprovalUsers = a.ApprovalUsers
|
||||
oa.MakeUp.CopyUsers = a.CopyUsers
|
||||
oa.MakeUp.ApplyType = a.ApprovalType.KeyWord
|
||||
oa.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
oa.MakeUp.Status = int32(a.Status)
|
||||
appprovalOA.MakeUp.ApprovalUsers = a.ApprovalUsers
|
||||
appprovalOA.MakeUp.CopyUsers = a.CopyUsers
|
||||
appprovalOA.MakeUp.ApplyType = a.ApprovalType.KeyWord
|
||||
appprovalOA.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
appprovalOA.MakeUp.Status = int32(a.Status)
|
||||
|
||||
applyTimes := make([]ApplyTime, 0)
|
||||
for i := 0; i < len(in.ApprovalOA.MakeUp.ApplyTimes); i++ {
|
||||
@ -252,13 +254,13 @@ func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approva
|
||||
M: in.ApprovalOA.MakeUp.ApplyTimes[i].M,
|
||||
})
|
||||
}
|
||||
oa.MakeUp.ApplyTimes = applyTimes
|
||||
appprovalOA.MakeUp.ApplyTimes = applyTimes
|
||||
case "overTime":
|
||||
oa.OverTime.ApprovalUsers = a.ApprovalUsers
|
||||
oa.OverTime.CopyUsers = a.CopyUsers
|
||||
oa.OverTime.ApplyType = a.ApprovalType.KeyWord
|
||||
oa.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
oa.OverTime.Status = int32(a.Status)
|
||||
appprovalOA.OverTime.ApprovalUsers = a.ApprovalUsers
|
||||
appprovalOA.OverTime.CopyUsers = a.CopyUsers
|
||||
appprovalOA.OverTime.ApplyType = a.ApprovalType.KeyWord
|
||||
appprovalOA.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
appprovalOA.OverTime.Status = int32(a.Status)
|
||||
|
||||
applyTimes := make([]ApplyTime, 0)
|
||||
for i := 0; i < len(in.ApprovalOA.OverTime.ApplyTimes); i++ {
|
||||
@ -268,13 +270,13 @@ func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approva
|
||||
M: in.ApprovalOA.OverTime.ApplyTimes[i].M,
|
||||
})
|
||||
}
|
||||
oa.OverTime.ApplyTimes = applyTimes
|
||||
appprovalOA.OverTime.ApplyTimes = applyTimes
|
||||
case "outWork":
|
||||
oa.OutWork.ApprovalUsers = a.ApprovalUsers
|
||||
oa.OutWork.CopyUsers = a.CopyUsers
|
||||
oa.OutWork.ApplyType = a.ApprovalType.KeyWord
|
||||
oa.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
oa.OutWork.Status = int32(a.Status)
|
||||
appprovalOA.OutWork.ApprovalUsers = a.ApprovalUsers
|
||||
appprovalOA.OutWork.CopyUsers = a.CopyUsers
|
||||
appprovalOA.OutWork.ApplyType = a.ApprovalType.KeyWord
|
||||
appprovalOA.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
appprovalOA.OutWork.Status = int32(a.Status)
|
||||
|
||||
applyTimes := make([]ApplyTime, 0)
|
||||
for i := 0; i < len(in.ApprovalOA.OutWork.ApplyTimes); i++ {
|
||||
@ -284,13 +286,13 @@ func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approva
|
||||
M: in.ApprovalOA.OutWork.ApplyTimes[i].M,
|
||||
})
|
||||
}
|
||||
oa.OutWork.ApplyTimes = applyTimes
|
||||
appprovalOA.OutWork.ApplyTimes = applyTimes
|
||||
case "turnover":
|
||||
oa.Turnover.ApprovalUsers = a.ApprovalUsers
|
||||
oa.Turnover.CopyUsers = a.CopyUsers
|
||||
oa.Turnover.ApplyType = a.ApprovalType.KeyWord
|
||||
oa.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
oa.Turnover.Status = int32(a.Status)
|
||||
appprovalOA.Turnover.ApprovalUsers = a.ApprovalUsers
|
||||
appprovalOA.Turnover.CopyUsers = a.CopyUsers
|
||||
appprovalOA.Turnover.ApplyType = a.ApprovalType.KeyWord
|
||||
appprovalOA.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
appprovalOA.Turnover.Status = int32(a.Status)
|
||||
|
||||
applyTimes := make([]ApplyTime, 0)
|
||||
for i := 0; i < len(in.ApprovalOA.Turnover.ApplyTimes); i++ {
|
||||
@ -300,13 +302,13 @@ func (oa *ApprovalOA) addOtherInfoToModel(in *approval.CreateRequest, a *Approva
|
||||
M: in.ApprovalOA.Turnover.ApplyTimes[i].M,
|
||||
})
|
||||
}
|
||||
oa.Turnover.ApplyTimes = applyTimes
|
||||
appprovalOA.Turnover.ApplyTimes = applyTimes
|
||||
case "leaveApply":
|
||||
oa.LeaveApply.ApprovalUsers = a.ApprovalUsers
|
||||
oa.LeaveApply.CopyUsers = a.CopyUsers
|
||||
oa.LeaveApply.ApplyType = a.ApprovalType.KeyWord
|
||||
oa.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
oa.LeaveApply.Status = int32(a.Status)
|
||||
appprovalOA.LeaveApply.ApprovalUsers = a.ApprovalUsers
|
||||
appprovalOA.LeaveApply.CopyUsers = a.CopyUsers
|
||||
appprovalOA.LeaveApply.ApplyType = a.ApprovalType.KeyWord
|
||||
appprovalOA.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||
appprovalOA.LeaveApply.Status = int32(a.Status)
|
||||
default:
|
||||
return errors.New("未找到相关审批类型")
|
||||
}
|
||||
@ -324,11 +326,12 @@ func (oa *ApprovalOA) UpdateApprovalContent(in *approval.CreateRequest, a *Appro
|
||||
|
||||
oa.ID = entity.ID
|
||||
|
||||
if err := oa.copyOAToModel(in, a); err != nil {
|
||||
approvalOA, err := oa.copyOAToModel(in, a)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return DB.Model(&oa).Updates(oa).Error
|
||||
return DB.Model(&oa).Updates(approvalOA).Error
|
||||
}
|
||||
|
||||
func (oa *ApprovalOA) BuildResContent(a *Approval, request *approval.CreateRequest) {
|
||||
|
Loading…
Reference in New Issue
Block a user