using System.ComponentModel.DataAnnotations;
namespace SimpleAdmin.Application;
///
/// 正式员工档案分页查询参数。
///
public class OnboardingEmployeePageInput : BasePageInput
{
///
/// 员工姓名。
///
public string EmployeeName { get; set; }
///
/// 手机号码。
///
public string Phone { get; set; }
///
/// 入职业务公司 Id。
///
public long? CompanyId { get; set; }
///
/// 入职业务部门 Id。
///
public long? DepartmentId { get; set; }
///
/// 岗位 Id。
///
public long? PositionId { get; set; }
///
/// 用工类型。
///
public string EmploymentType { get; set; }
///
/// 转正状态。
///
public string RegularizationStatus { get; set; }
///
/// 社保状态。
///
public string SocialInsuranceStatus { get; set; }
///
/// 合同即将到期筛选(30天内到期或已到期)。
///
public bool? ContractExpiringSoon { get; set; }
}
///
/// 正式员工档案分页数据及当前查询条件下的维度统计。
///
public class OnboardingEmployeePageOutput : SqlSugarPagedList
{
///
/// 不受快捷维度筛选影响的员工维度统计。
///
public OnboardingEmployeeStatisticsOutput Statistics { get; set; } = new();
}
///
/// 正式员工档案维度统计。
///
public class OnboardingEmployeeStatisticsOutput
{
///
/// 在册总数。
///
public int Total { get; set; }
///
/// 正式员工数量。
///
public int FullTime { get; set; }
///
/// 兼职员工数量。
///
public int PartTime { get; set; }
///
/// 试用期待转正数量。
///
public int Probation { get; set; }
///
/// 社保已缴纳数量。
///
public int SocialPurchased { get; set; }
///
/// 合同即将到期数量(30天内到期或已到期)。
///
public int ExpiringContract { get; set; }
}
///
/// 编辑员工人事信息。
///
public class OnboardingEmployeeHrUpdateInput
{
[IdNotNull(ErrorMessage = "员工Id不能为空")]
public long Id { get; set; }
[Required(ErrorMessage = "请选择用工类型")]
public string EmploymentType { get; set; }
public string ContractNature { get; set; }
[Required(ErrorMessage = "请选择社保状态")]
public string SocialInsuranceStatus { get; set; }
public string SocialInsuranceCompany { get; set; }
}
///
/// 员工转正办理参数。
///
public class OnboardingEmployeeRegularizeInput
{
[IdNotNull(ErrorMessage = "员工Id不能为空")]
public long Id { get; set; }
[Required(ErrorMessage = "请选择转正日期")]
public DateTime? RegularizationDate { get; set; }
public string Remark { get; set; }
public List FileIds { get; set; } = new();
}
///
/// 撤销员工转正参数。
///
public class OnboardingEmployeeRegularizationRevokeInput
{
[IdNotNull(ErrorMessage = "员工Id不能为空")]
public long Id { get; set; }
[Required(ErrorMessage = "请填写撤销原因")]
public string Remark { get; set; }
}
///
/// 正式员工档案导出结果。
///
public class OnboardingEmployeeExportFile
{
///
/// Excel 文件字节。
///
public byte[] FileBytes { get; set; }
///
/// 下载文件名。
///
public string FileName { get; set; }
}
///
/// 正式员工档案详情输出。
///
public class OnboardingEmployeeDetailOutput
{
///
/// 正式员工档案。
///
public ObEmployee Employee { get; set; }
///
/// 审核通过时对应的完整入职登记表。
///
public ObTaskEmployeeInfo EmployeeInfo { get; set; }
///
/// 入职任务主数据。
///
public ObOnboardingTask Task { get; set; }
///
/// 任务合同列表。
///
public List Contracts { get; set; } = new List();
///
/// 审核建档时冻结的员工合同业务快照,包含常用字段及全部自定义变量。
///
public List ContractSnapshots { get; set; }
= new List();
///
/// 员工入职时上传的身份证、学历证明、体检报告等资料。
///
public List Materials { get; set; }
= new List();
///
/// 契约锁签署文件与签署日志组成的完整归档 ZIP 文件 Id。
///
public long? ElectronicSignArchiveFileId { get; set; }
///
/// 提交与审核记录列表。
///
public List Audits { get; set; } = new List();
///
/// 员工转正及人事维护历史。
///
public List ChangeRecords { get; set; }
= new List();
}