Files
yunzerwebsiteallinone/go/models/backend_oa_compensation.go
T

101 lines
8.4 KiB
Go
Raw 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"
// BackendOaCompensationScheme 员工薪酬方案表 yz_backend_oa_compensation_schemes。
// 一个员工可保留多份历史方案,生效中的方案由 effective_date 与 status 共同决定。
type BackendOaCompensationScheme struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
EmployeeID uint64 `orm:"column(employee_id)" json:"employee_id"`
// RankID 职级ID(yz_backend_job_rank.id),0=未设置职级。
// 方案选定职级后,按职级的标准薪资区间(salary_min/salary_max)给出参考薪资。
RankID uint64 `orm:"column(rank_id);default(0)" json:"rank_id"`
SchemeName string `orm:"column(scheme_name);size(100)" json:"scheme_name"`
EffectiveDate time.Time `orm:"column(effective_date);type(date)" json:"effective_date"`
ExpiryDate *time.Time `orm:"column(expiry_date);null;type(date)" json:"expiry_date"`
BaseSalary float64 `orm:"column(base_salary);type(decimal);digits(12);decimals(2);default(0)" json:"base_salary"`
PostAllowance float64 `orm:"column(post_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"post_allowance"`
PerformanceSalary float64 `orm:"column(performance_salary);type(decimal);digits(12);decimals(2);default(0)" json:"performance_salary"`
TransportAllowance float64 `orm:"column(transport_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"transport_allowance"`
MealAllowance float64 `orm:"column(meal_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"meal_allowance"`
CommunicationAllowance float64 `orm:"column(communication_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"communication_allowance"`
SocialInsuranceBase float64 `orm:"column(social_insurance_base);type(decimal);digits(12);decimals(2);default(0)" json:"social_insurance_base"`
HousingFundBase float64 `orm:"column(housing_fund_base);type(decimal);digits(12);decimals(2);default(0)" json:"housing_fund_base"`
SocialInsuranceRate float64 `orm:"column(social_insurance_rate);type(decimal);digits(6);decimals(4);default(0)" json:"social_insurance_rate"`
HousingFundRate float64 `orm:"column(housing_fund_rate);type(decimal);digits(6);decimals(4);default(0)" json:"housing_fund_rate"`
Status int8 `orm:"column(status);default(1)" json:"status"`
Remark string `orm:"column(remark);type(text);null" json:"remark"`
IsDeleted int8 `orm:"column(is_deleted);default(0)" json:"is_deleted"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);null;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);null;type(datetime)" json:"delete_time"`
}
func (m *BackendOaCompensationScheme) TableName() string {
return "yz_backend_oa_compensation_schemes"
}
// BackendOaPayroll 月度薪资单主表 yz_backend_oa_compensation_payrolls。
// EmployeeName / Department / Position 为生成时的快照,避免组织架构变更影响历史工资单。
type BackendOaPayroll struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
EmployeeID uint64 `orm:"column(employee_id)" json:"employee_id"`
SchemeID *uint64 `orm:"column(scheme_id);null" json:"scheme_id"`
PayrollMonth string `orm:"column(payroll_month);size(7)" json:"payroll_month"`
EmployeeName string `orm:"column(employee_name);size(50)" json:"employee_name"`
Department string `orm:"column(department);size(100)" json:"department"`
Position string `orm:"column(position);size(100)" json:"position"`
BaseSalary float64 `orm:"column(base_salary);type(decimal);digits(12);decimals(2);default(0)" json:"base_salary"`
PostAllowance float64 `orm:"column(post_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"post_allowance"`
PerformanceSalary float64 `orm:"column(performance_salary);type(decimal);digits(12);decimals(2);default(0)" json:"performance_salary"`
TransportAllowance float64 `orm:"column(transport_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"transport_allowance"`
MealAllowance float64 `orm:"column(meal_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"meal_allowance"`
CommunicationAllowance float64 `orm:"column(communication_allowance);type(decimal);digits(12);decimals(2);default(0)" json:"communication_allowance"`
OvertimePay float64 `orm:"column(overtime_pay);type(decimal);digits(12);decimals(2);default(0)" json:"overtime_pay"`
Bonus float64 `orm:"column(bonus);type(decimal);digits(12);decimals(2);default(0)" json:"bonus"`
OtherAddition float64 `orm:"column(other_addition);type(decimal);digits(12);decimals(2);default(0)" json:"other_addition"`
LeaveDeduction float64 `orm:"column(leave_deduction);type(decimal);digits(12);decimals(2);default(0)" json:"leave_deduction"`
LateDeduction float64 `orm:"column(late_deduction);type(decimal);digits(12);decimals(2);default(0)" json:"late_deduction"`
OtherDeduction float64 `orm:"column(other_deduction);type(decimal);digits(12);decimals(2);default(0)" json:"other_deduction"`
SocialInsurance float64 `orm:"column(social_insurance);type(decimal);digits(12);decimals(2);default(0)" json:"social_insurance"`
HousingFund float64 `orm:"column(housing_fund);type(decimal);digits(12);decimals(2);default(0)" json:"housing_fund"`
PersonalIncomeTax float64 `orm:"column(personal_income_tax);type(decimal);digits(12);decimals(2);default(0)" json:"personal_income_tax"`
GrossSalary float64 `orm:"column(gross_salary);type(decimal);digits(12);decimals(2);default(0)" json:"gross_salary"`
TotalDeduction float64 `orm:"column(total_deduction);type(decimal);digits(12);decimals(2);default(0)" json:"total_deduction"`
NetSalary float64 `orm:"column(net_salary);type(decimal);digits(12);decimals(2);default(0)" json:"net_salary"`
Status int8 `orm:"column(status);default(0)" json:"status"`
ConfirmedAt *time.Time `orm:"column(confirmed_at);null;type(datetime)" json:"confirmed_at"`
PaidAt *time.Time `orm:"column(paid_at);null;type(datetime)" json:"paid_at"`
Remark string `orm:"column(remark);type(text);null" json:"remark"`
IsDeleted int8 `orm:"column(is_deleted);default(0)" json:"is_deleted"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);null;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);null;type(datetime)" json:"delete_time"`
}
func (m *BackendOaPayroll) TableName() string {
return "yz_backend_oa_compensation_payrolls"
}
// BackendOaPayrollItem 薪资单自定义增减项 yz_backend_oa_compensation_payroll_items。
type BackendOaPayrollItem struct {
ID uint64 `orm:"column(id);pk;auto" json:"id"`
Tid uint64 `orm:"column(tid)" json:"tid"`
PayrollID uint64 `orm:"column(payroll_id)" json:"payroll_id"`
ItemName string `orm:"column(item_name);size(100)" json:"item_name"`
ItemType int8 `orm:"column(item_type);default(1)" json:"item_type"`
Amount float64 `orm:"column(amount);type(decimal);digits(12);decimals(2);default(0)" json:"amount"`
Remark string `orm:"column(remark);size(500);null" json:"remark"`
SortOrder int `orm:"column(sort_order);default(0)" json:"sort_order"`
IsDeleted int8 `orm:"column(is_deleted);default(0)" json:"is_deleted"`
CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime)" json:"create_time"`
UpdateTime *time.Time `orm:"column(update_time);null;type(datetime)" json:"update_time"`
DeleteTime *time.Time `orm:"column(delete_time);null;type(datetime)" json:"delete_time"`
}
func (m *BackendOaPayrollItem) TableName() string {
return "yz_backend_oa_compensation_payroll_items"
}