Files

38 lines
2.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import "time"
// BackendJobRank 职级表 yz_backend_job_rank
//
// 职级用于定义「职位等级」:每个部门可以各设一套职级阶梯,
// DepartmentID = 0 表示全公司通用职级,任何部门都能选用。
//
// 与既有模块的关系:
// - 职位通过 rank_id 挂到职级上(yz_backend_position.rank_id);
// - 薪酬方案通过 rank_id 挂到职级上(yz_backend_oa_compensation_schemes.rank_id),
// 并按职级的标准薪资区间(SalaryMin / SalaryMax)给出参考薪资;
// - DefaultRoleID 是为「职级 → 角色权限绑定」预留的字段,本期不启用,
// 后端不做任何自动授权,等权限方案确定后单独做。
type BackendJobRank struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
RankCode string `orm:"column(rank_code);size(50)" json:"rank_code"`
RankName string `orm:"column(rank_name);size(100)" json:"rank_name"`
LevelNo int `orm:"column(level_no);default(0)" json:"level_no"` // 等级序号,数字越大职级越高
DepartmentID uint64 `orm:"column(department_id);default(0)" json:"department_id"` // 适用部门ID,0=全公司通用
SalaryMin float64 `orm:"column(salary_min);type(decimal);digits(12);decimals(2);default(0)" json:"salary_min"`
SalaryMax float64 `orm:"column(salary_max);type(decimal);digits(12);decimals(2);default(0)" json:"salary_max"`
DefaultRoleID uint64 `orm:"column(default_role_id);default(0)" json:"default_role_id"` // 预留:职级→角色权限绑定,本期不启用
Status int8 `orm:"column(status);default(1)" json:"status"` // 状态:0-禁用 1-启用
Sort int `orm:"column(sort);default(0)" json:"sort"`
Remark *string `orm:"column(remark);size(512);null" json:"remark"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);type(datetime);null" json:"delete_time"`
}
// TableName 自定义表名
func (m *BackendJobRank) TableName() string {
return "yz_backend_job_rank"
}