namespace Admin.NET.Plugin.AiDOP.Entity.S0.Warehouse;
///
/// 雇员主数据(复刻 EmployeeMaster)
///
[SugarTable("EmployeeMaster", "雇员主数据(复刻 EmployeeMaster)")]
[SugarIndex("uk_EmployeeMaster_domain_employee", nameof(DomainCode), OrderByType.Asc, nameof(Employee), OrderByType.Asc, IsUnique = true)]
public class AdoS0EmployeeMaster
{
[SugarColumn(ColumnName = "rec_id", ColumnDescription = "主键", IsPrimaryKey = true, IsIdentity = true, ColumnDataType = "bigint")]
public long Id { get; set; }
[SugarColumn(ColumnName = "company_ref_id", ColumnDescription = "关联公司 ID", ColumnDataType = "bigint")]
public long CompanyRefId { get; set; }
[SugarColumn(ColumnName = "factory_ref_id", ColumnDescription = "关联工厂 ID", ColumnDataType = "bigint")]
public long FactoryRefId { get; set; }
[SugarColumn(ColumnName = "domain_code", ColumnDescription = "工厂域编码", Length = 50)]
public string DomainCode { get; set; } = string.Empty;
[SugarColumn(ColumnName = "employee", ColumnDescription = "员工编码", Length = 100)]
public string Employee { get; set; } = string.Empty;
[SugarColumn(ColumnName = "name", ColumnDescription = "姓名", Length = 200, IsNullable = true)]
public string? Name { get; set; }
[SugarColumn(ColumnName = "sex", ColumnDescription = "性别", Length = 10, IsNullable = true)]
public string? Sex { get; set; }
[SugarColumn(ColumnName = "phone", ColumnDescription = "电话", Length = 50, IsNullable = true)]
public string? Phone { get; set; }
[SugarColumn(ColumnName = "email", ColumnDescription = "邮箱", Length = 200, IsNullable = true)]
public string? Email { get; set; }
[SugarColumn(ColumnName = "birth_date", ColumnDescription = "出生日期", IsNullable = true)]
public DateTime? BirthDate { get; set; }
[SugarColumn(ColumnName = "department", ColumnDescription = "部门编码", Length = 100, IsNullable = true)]
public string? Department { get; set; }
[SugarColumn(ColumnName = "date_employed", ColumnDescription = "入职日期", IsNullable = true)]
public DateTime? DateEmployed { get; set; }
[SugarColumn(ColumnName = "employment_status", ColumnDescription = "在职状态", Length = 50, IsNullable = true)]
public string? EmploymentStatus { get; set; }
[SugarColumn(ColumnName = "marital_status", ColumnDescription = "婚姻状况", Length = 50, IsNullable = true)]
public string? MaritalStatus { get; set; }
[SugarColumn(ColumnName = "job_title", ColumnDescription = "岗位", Length = 100, IsNullable = true)]
public string? JobTitle { get; set; }
[SugarColumn(ColumnName = "date_terminated", ColumnDescription = "离职日期", IsNullable = true)]
public DateTime? DateTerminated { get; set; }
[SugarColumn(ColumnName = "work_ctr", ColumnDescription = "工作中心", Length = 100, IsNullable = true)]
public string? WorkCtr { get; set; }
[SugarColumn(ColumnName = "car_id", ColumnDescription = "工号/卡号", Length = 100, IsNullable = true)]
public string? CarId { get; set; }
[SugarColumn(ColumnName = "default_work_location", ColumnDescription = "默认工作地点", Length = 100, IsNullable = true)]
public string? DefaultWorkLocation { get; set; }
[SugarColumn(ColumnName = "is_active", ColumnDescription = "是否启用", ColumnDataType = "boolean")]
public bool IsActive { get; set; } = true;
[SugarColumn(ColumnName = "create_user", ColumnDescription = "创建人", Length = 100, IsNullable = true)]
public string? CreateUser { get; set; }
[SugarColumn(ColumnName = "create_time", ColumnDescription = "创建时间")]
public DateTime CreateTime { get; set; } = DateTime.Now;
[SugarColumn(ColumnName = "update_user", ColumnDescription = "更新人", Length = 100, IsNullable = true)]
public string? UpdateUser { get; set; }
[SugarColumn(ColumnName = "update_time", ColumnDescription = "更新时间", IsNullable = true)]
public DateTime? UpdateTime { get; set; }
/// 列表展示:部门说明(不落库,来自 DepartmentMaster 关联)
[SugarColumn(IsIgnore = true)]
public string? DepartDescr { get; set; }
/// 列表展示:岗位名称(不落库,来自 GeneralizedCodeMaster 翻译)
[SugarColumn(IsIgnore = true)]
public string? JobTitleDisplay { get; set; }
}