Files
2026-09-07 16:17:49 +08:00

142 lines
3.4 KiB
C#

namespace SimpleAdmin.Application;
/// <summary>
/// 入职任务分页查询参数。
/// </summary>
public class OnboardingTaskPageInput : BasePageInput
{
/// <summary>
/// 入职任务编号。
/// </summary>
public string TaskNo { get; set; }
/// <summary>
/// 入职任务状态筛选条件。
/// </summary>
public string TaskStatus { get; set; }
/// <summary>
/// 入职业务公司 Id。
/// </summary>
public long? CompanyId { get; set; }
/// <summary>
/// 入职业务部门 Id。
/// </summary>
public long? DepartmentId { get; set; }
/// <summary>
/// 入职业务岗位 Id。
/// </summary>
public long? PositionId { get; set; }
}
/// <summary>
/// 入职任务分页数据及当前查询条件下的状态统计。
/// </summary>
public class OnboardingTaskPageOutput : SqlSugarPagedList<ObOnboardingTask>
{
/// <summary>
/// 不受状态筛选影响的任务状态统计。
/// </summary>
public OnboardingTaskStatisticsOutput Statistics { get; set; } = new();
}
/// <summary>
/// 入职任务状态统计。
/// </summary>
public class OnboardingTaskStatisticsOutput
{
/// <summary>
/// 待候选人填写数量。
/// </summary>
public int PendingFill { get; set; }
/// <summary>
/// 待人事审核数量。
/// </summary>
public int Reviewing { get; set; }
/// <summary>
/// 已退回待修改数量。
/// </summary>
public int Rejected { get; set; }
/// <summary>
/// 审核通过或已归档数量。
/// </summary>
public int Approved { get; set; }
}
/// <summary>
/// 数据库按任务状态分组后的内部统计行。
/// </summary>
public class OnboardingTaskStatusCountOutput
{
/// <summary>
/// 任务状态。
/// </summary>
public string TaskStatus { get; set; }
/// <summary>
/// 该状态的任务数量。
/// </summary>
public int Count { get; set; }
}
/// <summary>
/// 后台入职任务详情输出。
/// </summary>
public class OnboardingTaskDetailOutput
{
/// <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<OnboardingTaskMaterialDetailOutput> Materials { get; set; }
/// <summary>
/// 任务当前有效链接信息。
/// </summary>
public ObTaskLink Link { get; set; }
/// <summary>
/// 提交与审核记录列表。
/// </summary>
public List<ObTaskAudit> Audits { get; set; }
}
/// <summary>
/// 后台入职任务材料详情。
/// </summary>
public class OnboardingTaskMaterialDetailOutput : ObTaskMaterial
{
/// <summary>
/// 材料原始文件名,用于下载时保留文件名称。
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 材料文件后缀,用于判断是否支持图片预览。
/// </summary>
public string FileSuffix { get; set; }
/// <summary>
/// 格式化后的文件大小,例如 1.5MB。
/// </summary>
public string FileSizeInfo { get; set; }
}