staff_assess.go
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package domain
import "time"
//填写评估的类型
type StaffAssessType string
const (
AssessSelf StaffAssessType = "self" //自评
AssessSuper StaffAssessType = "super" //上级评估
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 int64 `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,用于调取评估模板
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)
}