163 lines
4.6 KiB
C#
163 lines
4.6 KiB
C#
namespace SimpleAdmin.Application;
|
|
|
|
/// <summary>
|
|
/// 入职任务的一次电子签流程,一次流程可以包含多份合同文件。
|
|
/// </summary>
|
|
[SugarTable("ob_electronic_sign_process", TableDescription = "入职电子签流程")]
|
|
[Tenant(SqlSugarConst.DB_DEFAULT)]
|
|
public class ObElectronicSignProcess : BaseEntity
|
|
{
|
|
/// <summary>
|
|
/// 所属入职任务 Id。
|
|
/// </summary>
|
|
public long TaskId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 审核通过后生成的正式员工 Id。
|
|
/// </summary>
|
|
public long EmployeeId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 电子签服务商编码。
|
|
/// </summary>
|
|
public string Provider { get; set; } = ElectronicSignProvider.Qiyuesuo;
|
|
|
|
/// <summary>
|
|
/// 本系统生成的幂等业务编号。
|
|
/// </summary>
|
|
public string BizId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 是否为该入职任务当前使用的电子签流程。
|
|
/// 历史流程保存为空,当前流程保存为 true,并通过数据库唯一索引防止重复发起。
|
|
/// </summary>
|
|
public bool? IsCurrent { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// 契约锁合同流程 Id。
|
|
/// </summary>
|
|
public string ProviderContractId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 契约锁业务分类 Id 快照。
|
|
/// </summary>
|
|
public string CategoryId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 契约锁企业印章 Id 快照。
|
|
/// </summary>
|
|
public string SealId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 电子签流程标题。
|
|
/// </summary>
|
|
public string Subject { get; set; }
|
|
|
|
/// <summary>
|
|
/// 员工姓名快照。
|
|
/// </summary>
|
|
public string EmployeeName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 员工手机号码快照。
|
|
/// </summary>
|
|
public string EmployeeMobile { get; set; }
|
|
|
|
/// <summary>
|
|
/// 员工身份证号码快照,仅用于锁定本次电子签署人的实名信息。
|
|
/// </summary>
|
|
public string EmployeeIdCardNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// 契约锁合同创建人姓名快照。
|
|
/// </summary>
|
|
public string CreatorName { get; set; }
|
|
|
|
/// <summary>
|
|
/// 契约锁合同创建人手机号快照。
|
|
/// </summary>
|
|
public string CreatorMobile { get; set; }
|
|
|
|
/// <summary>
|
|
/// 本系统电子签状态。
|
|
/// </summary>
|
|
public string SignStatus { get; set; } = ElectronicSignStatus.Creating;
|
|
|
|
/// <summary>
|
|
/// 契约锁返回的原始合同状态。
|
|
/// </summary>
|
|
public string ProviderStatus { get; set; }
|
|
|
|
/// <summary>
|
|
/// 员工签署页面地址。
|
|
/// </summary>
|
|
[SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
|
|
public string SignUrl { get; set; }
|
|
|
|
/// <summary>
|
|
/// 员工签署页面地址到期时间。
|
|
/// </summary>
|
|
public DateTime? SignUrlExpireAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 管理员点击发起电子签的时间。
|
|
/// </summary>
|
|
public DateTime StartedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 合同流程正式发送的时间。
|
|
/// </summary>
|
|
public DateTime? SentAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 所有签署方完成签署的时间。
|
|
/// </summary>
|
|
public DateTime? CompletedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 签署文件与签署日志保存到 OSS 的时间。
|
|
/// </summary>
|
|
public DateTime? ArchivedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 契约锁完整归档 ZIP 在系统文件表中的 Id。
|
|
/// </summary>
|
|
public long? ArchiveFileId { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最后一次主动查询契约锁状态的时间。
|
|
/// </summary>
|
|
public DateTime? LastSyncedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最后一次收到契约锁回调的时间。
|
|
/// </summary>
|
|
public DateTime? LastCallbackAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 最近一次失败原因,供管理员排查和重试。
|
|
/// </summary>
|
|
[SugarColumn(ColumnDataType = StaticConfig.CodeFirst_BigString, IsNullable = true)]
|
|
public string LastError { get; set; }
|
|
|
|
/// <summary>
|
|
/// 创建或同步失败后的重试次数。
|
|
/// </summary>
|
|
public int RetryCount { get; set; }
|
|
|
|
/// <summary>
|
|
/// 管理员重新发起本任务电子签时填写的原因。
|
|
/// </summary>
|
|
public string ReissueReason { get; set; }
|
|
|
|
/// <summary>
|
|
/// 当前流程被新流程替代的时间。
|
|
/// </summary>
|
|
public DateTime? ReissuedAt { get; set; }
|
|
|
|
/// <summary>
|
|
/// 替代当前流程的新电子签流程 Id。
|
|
/// </summary>
|
|
public long? ReissuedByProcessId { get; set; }
|
|
}
|