2023-05-12 02:58:35 +00:00
|
|
|
package service
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"errors"
|
2023-05-16 02:46:04 +00:00
|
|
|
"fmt"
|
2023-06-21 06:54:47 +00:00
|
|
|
"github.com/fonchain_enterprise/fonchain-approval-fork/api/approval"
|
|
|
|
"github.com/fonchain_enterprise/fonchain-approval-fork/pkg/e"
|
|
|
|
"github.com/fonchain_enterprise/fonchain-approval-fork/pkg/model"
|
2023-05-12 02:58:35 +00:00
|
|
|
"gorm.io/gorm"
|
|
|
|
)
|
|
|
|
|
|
|
|
func (a *ApprovalProvider) UpdateApprovalOAUUID(_ context.Context, in *approval.UpdateApprovalOAUUIDReq) (*approval.UpdateApprovalOAUUIDResponse, error) {
|
|
|
|
|
|
|
|
response := &approval.UpdateApprovalOAUUIDResponse{}
|
|
|
|
approvalOA := new(model.ApprovalOA)
|
|
|
|
result := model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Find(&approvalOA)
|
|
|
|
if result.Error != nil {
|
|
|
|
if result.Error != gorm.ErrRecordNotFound {
|
|
|
|
return response, errors.New(e.GetMsg(e.ApprovalIsNotExist))
|
|
|
|
}
|
|
|
|
return response, result.Error
|
|
|
|
}
|
|
|
|
|
|
|
|
if model.GetOaType(in.ApplyType) == "leave" {
|
|
|
|
approvalOA.Leave.UUID = in.UUID
|
2023-05-16 02:46:04 +00:00
|
|
|
fmt.Println("oa apply UUID is :", in.UUID)
|
|
|
|
fmt.Println("approvalOA UUID is :", approvalOA.Leave.UUID)
|
2023-05-12 02:58:35 +00:00
|
|
|
model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("leave", approvalOA.Leave)
|
|
|
|
} else if model.GetOaType(in.ApplyType) == "outWork" {
|
|
|
|
approvalOA.OutWork.UUID = in.UUID
|
2023-05-18 10:12:58 +00:00
|
|
|
model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("out_work", approvalOA.OutWork)
|
2023-05-12 02:58:35 +00:00
|
|
|
} else if model.GetOaType(in.ApplyType) == "makeUp" {
|
|
|
|
approvalOA.MakeUp.UUID = in.UUID
|
2023-05-18 10:12:58 +00:00
|
|
|
model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("make_up", approvalOA.MakeUp)
|
2023-05-12 02:58:35 +00:00
|
|
|
} else if model.GetOaType(in.ApplyType) == "turnover" {
|
|
|
|
approvalOA.Turnover.UUID = in.UUID
|
|
|
|
model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("turnover", approvalOA.Turnover)
|
|
|
|
} else if model.GetOaType(in.ApplyType) == "overTime" {
|
|
|
|
approvalOA.OverTime.UUID = in.UUID
|
2023-05-18 10:12:58 +00:00
|
|
|
model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("over_time", approvalOA.OverTime)
|
2023-05-12 02:58:35 +00:00
|
|
|
} else if model.GetOaType(in.ApplyType) == "leaveApply" {
|
|
|
|
approvalOA.LeaveApply.UUID = in.UUID
|
2023-05-18 10:12:58 +00:00
|
|
|
model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("leave_apply", approvalOA.LeaveApply)
|
2023-05-12 02:58:35 +00:00
|
|
|
}
|
|
|
|
return response, nil
|
|
|
|
}
|