38 lines
2.3 KiB
Go
38 lines
2.3 KiB
Go
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"
|
||
}
|