Files
OnboardXAdmin/SimpleAdmin.Application/Services/Onboarding/Task/Dto/OnboardingTaskPublicInput.cs
T
2026-08-25 20:37:17 +08:00

216 lines
5.2 KiB
C#

namespace SimpleAdmin.Application;
/// <summary>
/// 员工端通过 Token 访问任务参数。
/// </summary>
public class OnboardingTaskPublicAccessInput
{
/// <summary>
/// 员工填写链接中的明文 Token。
/// </summary>
[global::System.ComponentModel.DataAnnotations.Required]
public string Token { get; set; }
}
/// <summary>
/// 员工端获取合同源文件参数。
/// </summary>
public class OnboardingPublicContractSourceInput
{
/// <summary>
/// 员工填写链接中的明文 Token。
/// </summary>
[global::System.ComponentModel.DataAnnotations.Required]
public string Token { get; set; }
/// <summary>
/// 任务合同 Id。
/// </summary>
[IdNotNull(ErrorMessage = "任务合同Id不能为空")]
public long TaskContractId { get; set; }
}
/// <summary>
/// 员工端保存固定基础信息参数。
/// </summary>
public class OnboardingTaskPublicSaveInput : ObTaskEmployeeInfo
{
/// <summary>
/// 员工填写链接中的明文 Token。
/// </summary>
[global::System.ComponentModel.DataAnnotations.Required]
public string Token { get; set; }
/// <summary>
/// 员工姓名。
/// </summary>
[global::System.ComponentModel.DataAnnotations.Required]
public new string EmployeeName { get; set; }
/// <summary>
/// 手机号码。
/// </summary>
[global::System.ComponentModel.DataAnnotations.Required]
public new string Phone { get; set; }
/// <summary>
/// 身份证号码。
/// </summary>
[global::System.ComponentModel.DataAnnotations.Required]
public new string IdCardNumber { get; set; }
}
/// <summary>
/// 员工端动态字段展示信息。
/// </summary>
public class OnboardingPublicFormFieldOutput
{
/// <summary>
/// 动态字段 Id。
/// </summary>
public long FieldId { get; set; }
/// <summary>
/// 动态字段编码。
/// </summary>
public string FieldCode { get; set; }
/// <summary>
/// 动态字段名称。
/// </summary>
public string FieldName { get; set; }
/// <summary>
/// 字段或变量数据类型。
/// </summary>
public string DataType { get; set; }
/// <summary>
/// 可选项 JSON。
/// </summary>
public string OptionsJson { get; set; }
/// <summary>
/// 是否必填、必传或必签。
/// </summary>
public bool Required { get; set; }
}
/// <summary>
/// 员工端需要填写的合同员工变量。
/// </summary>
public class OnboardingPublicContractVariableOutput
{
/// <summary>
/// 合同变量编码。
/// </summary>
public string VariableCode { get; set; }
/// <summary>
/// 合同变量显示名称。
/// </summary>
public string VariableName { get; set; }
/// <summary>
/// 变量来源类型。
/// </summary>
public string VariableType { get; set; }
/// <summary>
/// 变量数据类型。
/// </summary>
public string DataType { get; set; }
/// <summary>
/// 变量默认值。
/// </summary>
public string DefaultValue { get; set; }
/// <summary>
/// 选择型变量的可选项 JSON。
/// </summary>
public string OptionsJson { get; set; }
/// <summary>
/// 是否必填。
/// </summary>
public bool Required { get; set; }
}
/// <summary>
/// 员工端材料上传要求。
/// </summary>
public class OnboardingPublicMaterialOutput
{
/// <summary>
/// 材料类型 Id。
/// </summary>
public long MaterialTypeId { get; set; }
/// <summary>
/// 材料名称。
/// </summary>
public string MaterialName { get; set; }
/// <summary>
/// 允许上传的文件扩展名。
/// </summary>
public string AllowedExtensions { get; set; }
/// <summary>
/// 允许上传的最大文件数量。
/// </summary>
public int MaxFileCount { get; set; }
/// <summary>
/// 是否必填、必传或必签。
/// </summary>
public bool Required { get; set; }
}
/// <summary>
/// 员工端入职任务完整详情。
/// </summary>
public class OnboardingTaskPublicDetailOutput
{
/// <summary>
/// 入职任务主数据。
/// </summary>
public ObOnboardingTask Task { get; set; }
/// <summary>
/// 候选人固定基础信息。
/// </summary>
public ObTaskEmployeeInfo EmployeeInfo { get; set; }
/// <summary>
/// 任务合同列表。
/// </summary>
public List<ObTaskContract> Contracts { get; set; }
/// <summary>
/// 候选人已保存的动态字段值。
/// </summary>
public List<ObTaskFormValue> DynamicValues { get; set; }
/// <summary>
/// 员工端需要展示的动态字段。
/// </summary>
public List<OnboardingPublicFormFieldOutput> FormFields { get; set; }
/// <summary>
/// 员工端需要展示的材料要求。
/// </summary>
public List<OnboardingPublicMaterialOutput> MaterialRequirements { get; set; }
/// <summary>
/// 候选人已上传材料列表。
/// </summary>
public List<ObTaskMaterial> Materials { get; set; }
/// <summary>
/// 合同中由员工填写的扩展变量。
/// </summary>
public List<OnboardingPublicContractVariableOutput> ContractVariables { get; set; }
}