package domain import ( "time" ) const ( TemplateStateWaitConfig int = 0 // 模板状态-待完成配置 TemplateStateWaitActive int = 1 // 模板状态-待启用 TemplateStateEnable int = 2 // 模板状态-启用 TemplateStateDisable int = 3 // 模板状态-停用 ) const ( LinkNodeSelfAssessment int = 1 // 环节-填写反馈自评 LinkNodeAllInvite int = 2 // 环节-360°邀请 LinkNodeAllAssessment int = 3 // 环节-360°评估 LinkNodeSuperiorAssessment int = 4 // 环节-上级评估 LinkNodeViewResult int = 5 // 环节-绩效结果查看 //LinkNodeAssessment int = 1 // 环节-评估(自评、360°评估、上级评估) //LinkNodeAllInvite int = 2 // 环节-360°邀请 //LinkNodeViewResult int = 3 // 环节-绩效结果查看 ) type EntryItem struct { Title string `json:"title" comment:"填写标题"` HintText string `json:"hintText" comment:"文本内容提示"` } // NodeContent 评估内容 type NodeContent struct { Category string `json:"category" comment:"类别"` Name string `json:"name" comment:"名称"` RuleId int64 `json:"ruleId,string" comment:"评估规则ID"` Rule *EvaluationRule `json:"rule" comment:"评估规则对象"` PromptTitle string `json:"promptTitle" comment:"提示项标题"` PromptText string `json:"promptText" comment:"提示项正文"` EntryItems []*EntryItem `json:"entryItems" comment:"填写项"` } //// NodeAllInvite 360°邀请 //type NodeAllInvite struct { // ParentDifferentIds []string `json:"parentDifferentIds" comment:"不同上级同事ID"` // ParentSameIds []string `json:"parentSameIds" comment:"相同上级同事ID"` //} //// NodeKpiResult 绩效结果查看 //type NodeKpiResult struct { //} // 评估流程、环节 type LinkNode struct { Id int64 `json:"id,string" comment:"环节ID"` Type int `json:"type" comment:"环节类型"` Name string `json:"name" comment:"环节名称"` Describe string `json:"describe" comment:"环节描述"` NodeContents []*NodeContent `json:"nodeContents" comment:"环节-评估内容"` TimeStart *time.Time `json:"timeStart" comment:"起始时间"` TimeEnd *time.Time `json:"timeEnd" comment:"截至时间"` KpiCycle int `json:"kpiCycle" comment:"考核周期(1日、2周、3月)"` } // 评估模板 type EvaluationTemplate 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"` CreatorId int64 `json:"creatorId,string" comment:"创建人ID"` State int `json:"state" comment:"状态(0待完成配置、1待启用、2启用、3停用)"` LinkNodes []*LinkNode `json:"linkNodes" comment:"评估流程"` CreatedAt time.Time `json:"createdAt" comment:"创建时间"` UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"` DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"` } //type EvaluationLink struct { // NodeSelfAssessment *LinkNode `json:"nodeSelfAssessment" comment:"填写反馈自评"` // NodeAllInvite *LinkNode `json:"nodeAllInvite" comment:"360°邀请"` // NodeAllAssessment *LinkNode `json:"nodeAllAssessment" comment:"360°评估"` // NodeSuperiorAssessment *LinkNode `json:"nodeSuperiorAssessment" comment:"上级评估"` // NodeViewResult *LinkNode `json:"nodeViewResult" comment:"绩效结果查看"` //} type EvaluationTemplateRepository interface { Insert(template *EvaluationTemplate) (*EvaluationTemplate, error) Remove(template *EvaluationTemplate) (*EvaluationTemplate, error) FindOne(queryOptions map[string]interface{}) (*EvaluationTemplate, error) Find(queryOptions map[string]interface{}, excludeColumns ...string) (int64, []*EvaluationTemplate, error) Count(queryOptions map[string]interface{}) (int64, error) }