evaluation_info.go 5.9 KB
package adapter

import "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain"

// 评估信息详情
type EvaluationInfoAdapter struct {
	SummaryEvaluationId   int                     `json:"summaryEvaluationId,string"` //
	CycleId               int                     `json:"cycleId,string"`             //周期id
	CycleName             string                  `json:"cycleName"`                  //周期名称
	EvaluationProjectId   int                     `json:"evaluationProjectId"`        //项目id
	EvaluationProjectName string                  `json:"evaluationProjectName"`      //项目名称
	LinkNodeId            int                     `json:"linkNodeId,string"`          //评估环节id
	BeginTime             string                  `json:"beginTime"`                  //开始时间 2006-01-02 15:04:05
	EndTime               string                  `json:"endTime"`                    //结束时间 2006-01-02 15:04:05
	TargetUserId          int                     `json:"targetUserId"`               //被评估的目标用户,被执行的
	TargetUserName        string                  `json:"targetUserName"`             //
	CompanyLogo           string                  `json:"companyLogo"`                //公司logo
	CompanyName           string                  `json:"companyName"`                //公司名称
	SupperUser            string                  `json:"superUser"`                  //目标用户的上级
	DutyTime              string                  `json:"dutyTime"`                   //入职时间
	Status                string                  `json:"status"`                     //完成状态
	EvaluationItems       []EvaluationItemAdapter `json:"evaluationItems"`
}

// 评估填写项
type EvaluationItemAdapter struct {
	EvaluationItemId int                   `json:"evaluationItemId,string"` //评估条目的id
	SortBy           int                   `json:"sortBy"`                  //排序
	Category         string                `json:"category"`                //类别
	Name             string                `json:"name"`                    //名称
	PromptTitle      string                `json:"promptTitle"`             //提示项标题
	PromptText       string                `json:"promptText"`              //提示项正文
	EntryItems       []*domain.EntryItem   `json:"entryItems"`              //填写的反馈
	RuleType         int                   `json:"ruleType"`                //评估方式(0评级、1评分)
	Rule             domain.EvaluationRule `json:"rule"`                    //评估的选项规则
	Weight           float64               `json:"weight"`                  //"权重"
	Required         int                   `json:"required"`                // 必填项
	Value            string                `json:"value"`                   //评估填写的评分
	Score            string                `json:"score"`                   //计算的评定得分
	Rating           domain.RatingLevel    `json:"rating"`                  //评级的选项
	Remark           string                `json:"remark"`                  //填写的内容反馈
	EvaluatorId      int                   `json:"evaluatorId"`             //评估人id
	EvaluatorName    string                `json:"evaluatorName"`           //评估人名称
	ForbidEdit       bool                  `json:"forbidEdit"`              //页面操作控制是否禁用编辑
}

// 评级数量
type LevalCodeCount struct {
	Code     string   `json:"code"`     //评级代码
	Number   int      `json:"number"`   //数量
	ItemList []string `json:"itemList"` //对应的评估项名称
}

// 评估任务的基本信息
type EvaluationBaseAdapter struct {
	SummaryEvaluationId   int    `json:"summaryEvaluationId,string"` //
	CycleId               int    `json:"cycleId,string"`             //周期id
	CycleName             string `json:"cycleName"`                  //周期名称
	EvaluationProjectId   int    `json:"evaluationProjectId,string"` //项目id
	EvaluationProjectName string `json:"evaluationProjectName"`      //项目名称
	LinkNodeId            int    `json:"linkNodeId,string"`          //评估环节id
	BeginTime             string `json:"beginTime"`                  //开始时间 2006-01-02 15:04:05
	EndTime               string `json:"endTime"`                    //结束时间 2006-01-02 15:04:05
	TargetUserId          int    `json:"targetUserId,string"`        //被评估的目标用户,被执行的
	TargetUserName        string `json:"targetUserName"`             //
	CompanyLogo           string `json:"companyLogo,"`               //公司logo
	CompanyName           string `json:"companyName"`                //公司名称
	SupperUser            string `json:"superUser"`                  //目标用户的上级
	Types                 int    `json:"types"`                      //评估类型
	DutyTime              string `json:"dutyTime"`                   //入职时间
	Status                string `json:"status"`                     //完成状态
	CheckResult           string `json:"checkResult"`                //确认绩效结果
	TotalScore            string `json:"totalScore"`                 //评估总分
}

// 自评估内容详情
type EvaluationInfoSelfAdapter struct {
	EvaluationBaseAdapter
	EvaluationItems []EvaluationItemAdapter `json:"evaluationItems"`
}

// 自评小结展示,每个评估项
type EvaluationItemCountCodeAdapter struct {
	EvaluationItemAdapter
	LevelCount []LevalCodeCount `json:"levelCount"` //周期内每次评估的等级数量统计
}

// 自评小结展示
type EvaluationInfoCountCodeAdapter struct {
	EvaluationBaseAdapter
	EvaluationItems []EvaluationItemCountCodeAdapter `json:"evaluationItems"`
}

// 上级评估详情
type EvaluationInfoSuperAdapter struct {
	EvaluationBaseAdapter
	LevelCount      []*LevalCodeCount       `json:"levelCount"` //周期内每次评估的等级数量统计
	EvaluationItems []EvaluationItemAdapter `json:"evaluationItems"`
}