48 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package service
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"errors"
 | |
| 	"fmt"
 | |
| 	"github.com/fonchain_enterprise/fonchain-approval/api/approval"
 | |
| 	"github.com/fonchain_enterprise/fonchain-approval/pkg/e"
 | |
| 	"github.com/fonchain_enterprise/fonchain-approval/pkg/model"
 | |
| 	"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
 | |
| 		fmt.Println("oa apply UUID is :", in.UUID)
 | |
| 		fmt.Println("approvalOA UUID is :", approvalOA.Leave.UUID)
 | |
| 		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
 | |
| 		model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("outWork", approvalOA.OutWork)
 | |
| 	} else if model.GetOaType(in.ApplyType) == "makeUp" {
 | |
| 		approvalOA.MakeUp.UUID = in.UUID
 | |
| 		model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("makeUp", approvalOA.MakeUp)
 | |
| 	} 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
 | |
| 		model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("overTime", approvalOA.OverTime)
 | |
| 	} else if model.GetOaType(in.ApplyType) == "leaveApply" {
 | |
| 		approvalOA.LeaveApply.UUID = in.UUID
 | |
| 		model.DB.Model(&model.ApprovalOA{}).Where(&model.ApprovalOA{ApprovalID: in.ApprovalID}).Update("leaveApply", approvalOA.LeaveApply)
 | |
| 	}
 | |
| 	return response, nil
 | |
| }
 |