namespace SimpleAdmin.Application; /// /// 正式员工的一份合同在审核建档时冻结的业务快照。 /// 常用日期和薪资使用独立列,全部标准及自定义变量同时保存在 VariablesJson 中。 /// [SugarTable("ob_employee_contract_snapshot", TableDescription = "员工合同快照")] [Tenant(SqlSugarConst.DB_DEFAULT)] public class ObEmployeeContractSnapshot : BaseEntity { /// 正式员工 Id。 public long EmployeeId { get; set; } /// 来源入职任务 Id。 public long TaskId { get; set; } /// 来源任务合同 Id,同一任务合同只允许生成一份员工快照。 public long TaskContractId { get; set; } /// 合同模板 Id。 public long TemplateId { get; set; } /// 合同模板版本 Id。 public long TemplateVersionId { get; set; } /// 合同名称快照。 public string ContractName { get; set; } /// 合同类型快照。 public string ContractType { get; set; } /// 合同开始日期。 public DateTime? ContractStartDate { get; set; } /// 合同结束日期。 public DateTime? ContractEndDate { get; set; } /// 合同期限原始文本。 public string ContractTerm { get; set; } /// 试用期开始日期。 public DateTime? ProbationStartDate { get; set; } /// 试用期结束日期。 public DateTime? ProbationEndDate { get; set; } /// 试用期期限原始文本。 public string ProbationTerm { get; set; } /// 明确使用 hr.ProbationSalary 保存的试用薪资;不从其他工资项目推算。 public decimal? ProbationSalary { get; set; } /// 基本工资。 public decimal? BaseSalary { get; set; } /// 岗位工资。 public decimal? PositionSalary { get; set; } /// 绩效津贴。 public decimal? PerformanceAllowance { get; set; } /// 全勤奖。 public decimal? AttendanceBonus { get; set; } /// 转正后薪资。 public decimal? RegularSalary { get; set; } /// 工作地点或城市。 public string WorkCity { get; set; } /// 合同中的岗位名称。 public string PositionName { get; set; } /// 合同中的员工工号。 public string EmployeeNo { get; set; } /// /// 以 VariableCode 为键保存该合同当时的全部变量元数据和值。 /// 导出时通过稳定编码判断变量是否存在,不依赖可修改的中文名称。 /// [SugarColumn(ColumnDataType = "json", IsNullable = false)] public string VariablesJson { get; set; } /// 快照结构版本。 public int SnapshotVersion { get; set; } = 1; /// 快照生成时间。 public DateTime SnapshotAt { get; set; } }