package domain import "time" //填写评估的类型 type StaffAssessType string const ( AssessSelf StaffAssessType = "self" //自评 AssessSuper StaffAssessType = "supper" //上级评估 AssessInviteSameSuper StaffAssessType = "invite_same_super" //360 邀请评估-相同上级的同事 AssessInviteDiffSuper StaffAssessType = "invite_diff_super" //360 邀请评估-不同上级的同事 ) //填写评估的状态 type StaffAssessStatus string const ( StaffAssessUnstart StaffAssessStatus = "unstart" //未开始 StaffAssessUncompleted StaffAssessStatus = "uncompleted" //未完成 StaffAssessCompleted StaffAssessStatus = "completed" //已完成 ) // 记录用户需要的评估项目 type StaffAssess struct { Id int `json:"id"` //id CompanyId int `json:"companyId"` //公司id EvaluationProjectId int `json:"evaluationProjectId"` //对应的项目id EvaluationProjectName string `json:"evaluationProjectName"` //对应的项目名称 CycleId int64 `json:"cycleId"` //对应的周期id CycleName string `json:"cycleName"` //对应的周期名称 StaffAssessTaskId int `json:"staffAssessTaskId"` //执行评估的任务id TargetUser StaffDesc `json:"targetUser"` //被评估的目标用户 TargetDepartment []StaffDepartment `json:"targetDepartment"` //被评估的目标用户所在的部门 Executor StaffDesc `json:"executor"` //填写评估的用户 Types StaffAssessType `json:"types"` //填写评估对应的类型 LinkNodeId int `json:"linkNodeId"` //评估环节对应的id,用于调取评估模板 LinkNodeName string `json:"linkNodeName"` //评估环节对应的id,用于调取评估模板 Status StaffAssessStatus `json:"status"` //评估的填写状态 BeginTime time.Time `json:"beginTime"` //开始时间 EndTime time.Time `json:"endTime"` //截止时间 CreatedAt time.Time `json:"createdAt"` //数据创建时间 UpdatedAt time.Time `json:"updatedAt"` //数据更新时间 DeletedAt *time.Time `json:"deletedAt"` //数据删除时间 } type StaffAssessRepository interface { Save(param *StaffAssess) (*StaffAssess, error) Remove(id int) error FindOne(queryOptions map[string]interface{}) (*StaffAssess, error) Find(queryOptions map[string]interface{}) (int, []*StaffAssess, error) }