Files
OnboardXAdmin/SimpleAdmin.Application/Entity/Onboarding/ObTaskContract.cs
T
2026-08-25 10:20:53 +08:00

95 lines
2.9 KiB
C#

// Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛
//
// SimpleAdmin 基于 Apache License Version 2.0 协议发布,可用于商业项目,但必须遵守以下补充条款:
// 1.请不要删除和修改根目录下的LICENSE文件。
// 2.请不要删除和修改SimpleAdmin源码头部的版权声明。
// 3.分发源码时候,请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin
// 4.基于本软件的作品,只能使用 SimpleAdmin 作为后台服务,除外情况不可商用且不允许二次分发或开源。
// 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为,不能以任何形式用于非法为目的的行为。
// 6.任何基于本软件而产生的一切法律纠纷和责任,均于我司无关。
namespace SimpleAdmin.Application;
/// <summary>
/// 入职任务合同实例,锁定模板版本并记录生成、阅读和签署状态。
/// </summary>
[SugarTable("ob_task_contract", TableDescription = "入职任务合同明细")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObTaskContract : BaseEntity
{
/// <summary>
/// 所属入职任务 Id。
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 合同模板主档案 Id。
/// </summary>
public long TemplateId { get; set; }
/// <summary>
/// 合同模板版本 Id。
/// </summary>
public long TemplateVersionId { get; set; }
/// <summary>
/// 任务创建时冻结的合同名称。
/// </summary>
public string ContractName { get; set; }
/// <summary>
/// 合同类型。
/// </summary>
public string ContractType { get; set; }
/// <summary>
/// 是否为候选人必须阅读确认的合同。
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 任务创建时冻结的合同打印份数。
/// </summary>
public int PrintCopies { get; set; } = 1;
/// <summary>
/// 任务合同当前状态。
/// </summary>
public string ContractStatus { get; set; } = TaskContractStatus.PendingGenerate;
/// <summary>
/// 生成后的 DOCX 文件 Id。
/// </summary>
public long? GeneratedDocxFileId { get; set; }
/// <summary>
/// 归档或打印使用的 PDF 文件 Id。
/// </summary>
public long? GeneratedPdfFileId { get; set; }
/// <summary>
/// 合同文件生成时间。
/// </summary>
public DateTime? GeneratedAt { get; set; }
/// <summary>
/// 候选人首次阅读时间。
/// </summary>
public DateTime? ReadAt { get; set; }
/// <summary>
/// 候选人确认阅读时间。
/// </summary>
public DateTime? ConfirmedAt { get; set; }
/// <summary>
/// 线下签署完成时间。
/// </summary>
public DateTime? OfflineSignedAt { get; set; }
/// <summary>
/// 合同打印时间。
/// </summary>
public DateTime? PrintedAt { get; set; }
}