namespace SimpleAdmin.Application;
///
/// 新员工入职任务,承载候选人填写、审核、转正式员工和归档全过程。
///
[SugarTable("ob_onboarding_task", TableDescription = "新员工入职任务")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObOnboardingTask : BaseEntity
{
///
/// 入职任务编号。
///
public string TaskNo { get; set; }
///
/// 审核通过后生成的正式员工 Id。
///
public long? EmployeeId { get; set; }
///
/// 所属入职业务公司 Id。
///
public long CompanyId { get; set; }
///
/// 所属入职业务部门 Id。
///
[SugarColumn(IsNullable = true)]
public long? DepartmentId { get; set; }
///
/// 入职任务所属岗位 Id。
///
public long PositionId { get; set; }
///
/// 用工类型:full_time 正式用工,part_time 兼职用工。
///
public string EmploymentType { get; set; } = EmployeeEmploymentType.FullTime;
///
/// 创建任务时锁定的入职模板 Id。
///
public long OnboardingTemplateId { get; set; }
///
/// 创建任务时指定的审核人用户 Id。
///
public long? AssignedReviewerUserId { get; set; }
///
/// 入职任务当前状态。
///
public string TaskStatus { get; set; } = OnboardingTaskStatus.Draft;
///
/// 员工填写链接业务过期时间。
///
public DateTime? LinkExpireAt { get; set; }
///
/// 候选人累计提交轮次。
///
public int SubmitCount { get; set; }
///
/// 候选人最近一次提交时间。
///
public DateTime? LastSubmittedAt { get; set; }
///
/// 审核或流程操作发生时间。
///
public DateTime? AuditedAt { get; set; }
///
/// 任务归档时间。
///
public DateTime? ArchivedAt { get; set; }
///
/// 最近一次审核退回原因。
///
public string RejectReason { get; set; }
///
/// 业务备注。
///
public string Remark { get; set; }
///
/// 公司名称 (展示用)
///
[SugarColumn(IsIgnore = true)]
public string CompanyName { get; set; }
///
/// 部门名称 (展示用)
///
[SugarColumn(IsIgnore = true)]
public string DepartmentName { get; set; }
///
/// 岗位名称 (展示用)
///
[SugarColumn(IsIgnore = true)]
public string PositionName { get; set; }
///
/// 入职模板名称 (展示用)
///
[SugarColumn(IsIgnore = true)]
public string OnboardingTemplateName { get; set; }
}