evaluation_project.go
2.3 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
package domain
import (
"time"
)
const (
ProjectStateWaitConfig int = 0 // 项目状态-待完成配置
ProjectStateWaitActive int = 1 // 项目状态-待启用
ProjectStateEnable int = 2 // 项目状态-启用
ProjectStateDisable int = 3 // 项目状态-停用(假状态)
)
// 项目的评估内容配置
type EvaluationProject struct {
Id int64 `json:"id,string" comment:"ID"`
Name string `json:"name" comment:"名称"`
Describe string `json:"describe" comment:"描述"`
CompanyId int64 `json:"companyId,string" comment:"公司ID"`
CycleId int64 `json:"cycleId,string" comment:"周期ID"`
CreatorId int64 `json:"creatorId,string" comment:"创建人ID"`
State int `json:"state" comment:"状态(0待完成配置、1待启用、2启用、3结束)"`
SummaryState ProjectSummaryState `json:"summaryState" comment:"周期评估是否下发"`
HrBp int `json:"hrBp" comment:"HR角色权限"`
Pmp int `json:"pmp" comment:"PM角色权限"`
PmpIds []string `json:"pmpIds" comment:"项目管理员ID"`
Recipients []string `json:"recipients" comment:"被评估人ID"`
Template *EvaluationTemplate `json:"template" comment:"评估模板"`
BeginTime time.Time `json:"beginTime" comment:"项目起始时间"`
EndTime time.Time `json:"endTime" comment:"项目截至时间"`
CreatedAt time.Time `json:"createdAt" comment:"创建时间"`
UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"`
DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"`
}
// 周期评估的下发状态
type ProjectSummaryState int
const (
ProjectSummaryStateNo ProjectSummaryState = 0 //未下发
ProjectSummaryStateYes ProjectSummaryState = 1 //已经下发
)
type EvaluationProjectRepository interface {
Insert(project *EvaluationProject) (*EvaluationProject, error)
Remove(project *EvaluationProject) (*EvaluationProject, error)
FindOne(queryOptions map[string]interface{}) (*EvaluationProject, error)
Find(queryOptions map[string]interface{}, excludeColumns ...string) (int64, []*EvaluationProject, error)
Count(queryOptions map[string]interface{}) (int64, error)
}