Files
OnboardXAdmin/SimpleAdmin.Application/Services/Onboarding/Task/Dto/OnboardingTaskInput.cs
T
2026-08-25 10:20:53 +08:00

93 lines
2.4 KiB
C#

namespace SimpleAdmin.Application;
/// <summary>
/// 创建新员工入职任务参数。
/// </summary>
public class OnboardingTaskCreateInput
{
/// <summary>
/// 入职业务公司 Id。
/// </summary>
[IdNotNull(ErrorMessage = "公司Id不能为空")]
public long CompanyId { get; set; }
/// <summary>
/// 入职任务所属岗位 Id。
/// </summary>
[IdNotNull(ErrorMessage = "岗位Id不能为空")]
public long PositionId { get; set; }
/// <summary>
/// 本次任务使用的入职模板 Id。
/// </summary>
[IdNotNull(ErrorMessage = "入职模板Id不能为空")]
public long OnboardingTemplateId { get; set; }
/// <summary>
/// 创建任务时由人事预先填写的合同变量。
/// </summary>
public List<OnboardingInitialContractVariableInput> ContractVariables { get; set; } = new();
/// <summary>
/// 创建任务时指定的审核人用户 Id。
/// </summary>
public long? AssignedReviewerUserId { get; set; }
/// <summary>
/// 链接过期时间;实际有效期由系统配置计算。
/// </summary>
public DateTime? LinkExpireAt { get; set; }
/// <summary>
/// 业务备注。
/// </summary>
public string Remark { get; set; }
}
/// <summary>
/// 创建任务时填写的单个合同变量。
/// </summary>
public class OnboardingInitialContractVariableInput
{
/// <summary>
/// 变量所属合同模板版本 Id。
/// </summary>
[IdNotNull(ErrorMessage = "合同模板版本Id不能为空")]
public long ContractTemplateVersionId { get; set; }
/// <summary>
/// DOCX 中的完整变量编码,例如 hr.MonthlySalary。
/// </summary>
public string VariableCode { get; set; }
/// <summary>
/// 人事录入的变量值。
/// </summary>
public string VariableValue { get; set; }
}
/// <summary>
/// 入职任务创建结果。
/// </summary>
public class OnboardingTaskCreatedOutput
{
/// <summary>
/// 入职任务 Id。
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 入职任务编号。
/// </summary>
public string TaskNo { get; set; }
/// <summary>
/// 新生成的员工填写链接 Token,仅在创建结果中返回。
/// </summary>
public string LinkToken { get; set; }
/// <summary>
/// 员工填写链接过期时间。
/// </summary>
public DateTime ExpiresAt { get; set; }
}