修改 赋值
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 {
|
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 err
|
||||||
}
|
}
|
||||||
|
|
||||||
return DB.Create(&oa).Error
|
return DB.Create(&approvalOA).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
func (oa *ApprovalOA) copyOAToModel(in *approval.CreateRequest, a *Approval) error {
|
func (oa *ApprovalOA) copyOAToModel(in *approval.CreateRequest, a *Approval) (approvalOA *ApprovalOA, err error) {
|
||||||
copier.CopyWithOption(&oa, in.ApprovalOA, copier.Option{DeepCopy: true})
|
|
||||||
oa.ApprovalID = a.ID
|
|
||||||
|
|
||||||
if err := oa.addOtherInfoToModel(in, a); err != nil {
|
copier.CopyWithOption(&approvalOA, in.ApprovalOA, copier.Option{DeepCopy: true})
|
||||||
return err
|
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 {
|
if v, ok := sonMap[a.ApprovalType.KeyWord]; ok {
|
||||||
switch v {
|
switch v {
|
||||||
case "leave":
|
case "leave":
|
||||||
oa.Leave.ApprovalUsers = a.ApprovalUsers
|
appprovalOA.Leave.ApprovalUsers = a.ApprovalUsers
|
||||||
oa.Leave.CopyUsers = a.CopyUsers
|
appprovalOA.Leave.CopyUsers = a.CopyUsers
|
||||||
if oa.Leave.ApplyType != "" {
|
if appprovalOA.Leave.ApplyType != "" {
|
||||||
oa.Leave.ApplyType = a.ApprovalType.KeyWord
|
appprovalOA.Leave.ApplyType = a.ApprovalType.KeyWord
|
||||||
}
|
}
|
||||||
oa.Leave.ApprovalID = strconv.FormatUint(a.ID, 10)
|
appprovalOA.Leave.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
oa.Leave.Status = int32(a.Status)
|
appprovalOA.Leave.Status = int32(a.Status)
|
||||||
|
|
||||||
applyTimes := make([]ApplyTime, 0)
|
applyTimes := make([]ApplyTime, 0)
|
||||||
for i := 0; i < len(in.ApprovalOA.Leave.ApplyTimes); i++ {
|
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,
|
M: in.ApprovalOA.Leave.ApplyTimes[i].M,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
oa.Leave.ApplyTimes = applyTimes
|
appprovalOA.Leave.ApplyTimes = applyTimes
|
||||||
case "makeUp":
|
case "makeUp":
|
||||||
oa.MakeUp.ApprovalUsers = a.ApprovalUsers
|
appprovalOA.MakeUp.ApprovalUsers = a.ApprovalUsers
|
||||||
oa.MakeUp.CopyUsers = a.CopyUsers
|
appprovalOA.MakeUp.CopyUsers = a.CopyUsers
|
||||||
oa.MakeUp.ApplyType = a.ApprovalType.KeyWord
|
appprovalOA.MakeUp.ApplyType = a.ApprovalType.KeyWord
|
||||||
oa.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10)
|
appprovalOA.MakeUp.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
oa.MakeUp.Status = int32(a.Status)
|
appprovalOA.MakeUp.Status = int32(a.Status)
|
||||||
|
|
||||||
applyTimes := make([]ApplyTime, 0)
|
applyTimes := make([]ApplyTime, 0)
|
||||||
for i := 0; i < len(in.ApprovalOA.MakeUp.ApplyTimes); i++ {
|
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,
|
M: in.ApprovalOA.MakeUp.ApplyTimes[i].M,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
oa.MakeUp.ApplyTimes = applyTimes
|
appprovalOA.MakeUp.ApplyTimes = applyTimes
|
||||||
case "overTime":
|
case "overTime":
|
||||||
oa.OverTime.ApprovalUsers = a.ApprovalUsers
|
appprovalOA.OverTime.ApprovalUsers = a.ApprovalUsers
|
||||||
oa.OverTime.CopyUsers = a.CopyUsers
|
appprovalOA.OverTime.CopyUsers = a.CopyUsers
|
||||||
oa.OverTime.ApplyType = a.ApprovalType.KeyWord
|
appprovalOA.OverTime.ApplyType = a.ApprovalType.KeyWord
|
||||||
oa.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10)
|
appprovalOA.OverTime.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
oa.OverTime.Status = int32(a.Status)
|
appprovalOA.OverTime.Status = int32(a.Status)
|
||||||
|
|
||||||
applyTimes := make([]ApplyTime, 0)
|
applyTimes := make([]ApplyTime, 0)
|
||||||
for i := 0; i < len(in.ApprovalOA.OverTime.ApplyTimes); i++ {
|
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,
|
M: in.ApprovalOA.OverTime.ApplyTimes[i].M,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
oa.OverTime.ApplyTimes = applyTimes
|
appprovalOA.OverTime.ApplyTimes = applyTimes
|
||||||
case "outWork":
|
case "outWork":
|
||||||
oa.OutWork.ApprovalUsers = a.ApprovalUsers
|
appprovalOA.OutWork.ApprovalUsers = a.ApprovalUsers
|
||||||
oa.OutWork.CopyUsers = a.CopyUsers
|
appprovalOA.OutWork.CopyUsers = a.CopyUsers
|
||||||
oa.OutWork.ApplyType = a.ApprovalType.KeyWord
|
appprovalOA.OutWork.ApplyType = a.ApprovalType.KeyWord
|
||||||
oa.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10)
|
appprovalOA.OutWork.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
oa.OutWork.Status = int32(a.Status)
|
appprovalOA.OutWork.Status = int32(a.Status)
|
||||||
|
|
||||||
applyTimes := make([]ApplyTime, 0)
|
applyTimes := make([]ApplyTime, 0)
|
||||||
for i := 0; i < len(in.ApprovalOA.OutWork.ApplyTimes); i++ {
|
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,
|
M: in.ApprovalOA.OutWork.ApplyTimes[i].M,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
oa.OutWork.ApplyTimes = applyTimes
|
appprovalOA.OutWork.ApplyTimes = applyTimes
|
||||||
case "turnover":
|
case "turnover":
|
||||||
oa.Turnover.ApprovalUsers = a.ApprovalUsers
|
appprovalOA.Turnover.ApprovalUsers = a.ApprovalUsers
|
||||||
oa.Turnover.CopyUsers = a.CopyUsers
|
appprovalOA.Turnover.CopyUsers = a.CopyUsers
|
||||||
oa.Turnover.ApplyType = a.ApprovalType.KeyWord
|
appprovalOA.Turnover.ApplyType = a.ApprovalType.KeyWord
|
||||||
oa.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10)
|
appprovalOA.Turnover.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
oa.Turnover.Status = int32(a.Status)
|
appprovalOA.Turnover.Status = int32(a.Status)
|
||||||
|
|
||||||
applyTimes := make([]ApplyTime, 0)
|
applyTimes := make([]ApplyTime, 0)
|
||||||
for i := 0; i < len(in.ApprovalOA.Turnover.ApplyTimes); i++ {
|
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,
|
M: in.ApprovalOA.Turnover.ApplyTimes[i].M,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
oa.Turnover.ApplyTimes = applyTimes
|
appprovalOA.Turnover.ApplyTimes = applyTimes
|
||||||
case "leaveApply":
|
case "leaveApply":
|
||||||
oa.LeaveApply.ApprovalUsers = a.ApprovalUsers
|
appprovalOA.LeaveApply.ApprovalUsers = a.ApprovalUsers
|
||||||
oa.LeaveApply.CopyUsers = a.CopyUsers
|
appprovalOA.LeaveApply.CopyUsers = a.CopyUsers
|
||||||
oa.LeaveApply.ApplyType = a.ApprovalType.KeyWord
|
appprovalOA.LeaveApply.ApplyType = a.ApprovalType.KeyWord
|
||||||
oa.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10)
|
appprovalOA.LeaveApply.ApprovalID = strconv.FormatUint(a.ID, 10)
|
||||||
oa.LeaveApply.Status = int32(a.Status)
|
appprovalOA.LeaveApply.Status = int32(a.Status)
|
||||||
default:
|
default:
|
||||||
return errors.New("未找到相关审批类型")
|
return errors.New("未找到相关审批类型")
|
||||||
}
|
}
|
||||||
@ -324,11 +326,12 @@ func (oa *ApprovalOA) UpdateApprovalContent(in *approval.CreateRequest, a *Appro
|
|||||||
|
|
||||||
oa.ID = entity.ID
|
oa.ID = entity.ID
|
||||||
|
|
||||||
if err := oa.copyOAToModel(in, a); err != nil {
|
approvalOA, err := oa.copyOAToModel(in, a)
|
||||||
|
if err != nil {
|
||||||
return err
|
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) {
|
func (oa *ApprovalOA) BuildResContent(a *Approval, request *approval.CreateRequest) {
|
||||||
|
Loading…
Reference in New Issue
Block a user