修改 赋值

main
jhc 1 year ago
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…
Cancel
Save