增加档案功能
This commit is contained in:
@@ -24,9 +24,9 @@ type BackendEmployeeFile struct {
|
||||
EmergencyPhone string `orm:"column(emergency_phone);size(20);default()" json:"emergency_phone"`
|
||||
EmergencyRelation string `orm:"column(emergency_relation);size(30);default()" json:"emergency_relation"`
|
||||
WorkEmail string `orm:"column(work_email);size(100);default()" json:"work_email"`
|
||||
HireDate string `orm:"column(hire_date);type(date);null" json:"hire_date"`
|
||||
RegularDate string `orm:"column(regular_date);type(date);null" json:"regular_date"`
|
||||
LeaveDate string `orm:"column(leave_date);type(date);null" json:"leave_date"`
|
||||
HireDate *time.Time `orm:"column(hire_date);type(date);null" json:"hire_date"`
|
||||
RegularDate *time.Time `orm:"column(regular_date);type(date);null" json:"regular_date"`
|
||||
LeaveDate *time.Time `orm:"column(leave_date);type(date);null" json:"leave_date"`
|
||||
EmploymentStatus int8 `orm:"column(employment_status);default(2)" json:"employment_status"`
|
||||
Remark string `orm:"column(remark);type(text);null" json:"remark"`
|
||||
IsDeleted int8 `orm:"column(is_deleted);default(0)" json:"is_deleted"`
|
||||
@@ -51,8 +51,8 @@ type BackendEmployeeFileRecord struct {
|
||||
Title string `orm:"column(title);size(100);default()" json:"title"`
|
||||
SubTitle string `orm:"column(sub_title);size(100);default()" json:"sub_title"`
|
||||
Extra string `orm:"column(extra);size(100);default()" json:"extra"`
|
||||
StartDate string `orm:"column(start_date);type(date);null" json:"start_date"`
|
||||
EndDate string `orm:"column(end_date);type(date);null" json:"end_date"`
|
||||
StartDate *time.Time `orm:"column(start_date);type(date);null" json:"start_date"`
|
||||
EndDate *time.Time `orm:"column(end_date);type(date);null" json:"end_date"`
|
||||
Description string `orm:"column(description);type(text);null" json:"description"`
|
||||
AttachmentURL string `orm:"column(attachment_url);size(500);default()" json:"attachment_url"`
|
||||
Sort int `orm:"column(sort);default(0)" json:"sort"`
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
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"`
|
||||
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"
|
||||
}
|
||||
@@ -101,6 +101,9 @@ func Init(_ string) {
|
||||
new(BackendScheduleReminderSendLog),
|
||||
|
||||
new(OaSchedule),
|
||||
new(BackendOaCompensationScheme),
|
||||
new(BackendOaPayroll),
|
||||
new(BackendOaPayrollItem),
|
||||
new(BackendEmployeeFile),
|
||||
new(BackendEmployeeFileRecord),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user