Files
OnboardXAdmin/SimpleAdmin.Application/Services/Onboarding/ElectronicSign/Dto/OnboardingElectronicSignOutput.cs
T
2026-09-07 16:17:49 +08:00

153 lines
4.9 KiB
C#

namespace SimpleAdmin.Application;
/// <summary>
/// 管理端查看的入职电子签流程详情。
/// </summary>
public class OnboardingElectronicSignDetailOutput
{
/// <summary>入职任务 Id。</summary>
public long TaskId { get; set; }
/// <summary>入职任务编号。</summary>
public string TaskNo { get; set; }
/// <summary>当前是否允许发起或重试电子签。</summary>
public bool CanInitiate { get; set; }
/// <summary>不允许发起时的原因。</summary>
public string CannotInitiateReason { get; set; }
/// <summary>当前流程是否允许作为一次新签约重新发起。</summary>
public bool CanReinitiate { get; set; }
/// <summary>不允许重新发起时的原因。</summary>
public string CannotReinitiateReason { get; set; }
/// <summary>是否已经存在电子签流程。</summary>
public bool HasProcess { get; set; }
/// <summary>本地电子签流程 Id。</summary>
public long? ProcessId { get; set; }
/// <summary>契约锁合同流程 Id。</summary>
public string ProviderContractId { get; set; }
/// <summary>本系统幂等业务编号。</summary>
public string BizId { get; set; }
/// <summary>电子签流程标题。</summary>
public string Subject { get; set; }
/// <summary>本系统电子签状态。</summary>
public string SignStatus { get; set; }
/// <summary>契约锁原始状态。</summary>
public string ProviderStatus { get; set; }
/// <summary>员工姓名。</summary>
public string EmployeeName { get; set; }
/// <summary>员工手机号。</summary>
public string EmployeeMobile { get; set; }
/// <summary>员工签署页面地址。</summary>
public string SignUrl { get; set; }
/// <summary>员工签署页面到期时间。</summary>
public DateTime? SignUrlExpireAt { get; set; }
/// <summary>员工签署页面当前是否有效。</summary>
public bool SignUrlValid { get; set; }
/// <summary>发起时间。</summary>
public DateTime? StartedAt { get; set; }
/// <summary>发送时间。</summary>
public DateTime? SentAt { get; set; }
/// <summary>签署完成时间。</summary>
public DateTime? CompletedAt { get; set; }
/// <summary>归档完成时间。</summary>
public DateTime? ArchivedAt { get; set; }
/// <summary>完整归档 ZIP 的系统文件 Id。</summary>
public long? ArchiveFileId { get; set; }
/// <summary>最近一次失败原因。</summary>
public string LastError { get; set; }
/// <summary>签约流程包含的文档。</summary>
public List<OnboardingElectronicSignDocumentOutput> Documents { get; set; } = new();
/// <summary>该入职任务已经结束的历史电子签流程。</summary>
public List<OnboardingElectronicSignHistoryOutput> HistoryProcesses { get; set; } = new();
}
/// <summary>
/// 已被新流程替代的历史电子签流程摘要。
/// </summary>
public class OnboardingElectronicSignHistoryOutput
{
/// <summary>本地电子签流程 Id。</summary>
public long ProcessId { get; set; }
/// <summary>本系统幂等业务编号。</summary>
public string BizId { get; set; }
/// <summary>契约锁合同流程 Id。</summary>
public string ProviderContractId { get; set; }
/// <summary>本系统电子签状态。</summary>
public string SignStatus { get; set; }
/// <summary>契约锁原始状态。</summary>
public string ProviderStatus { get; set; }
/// <summary>员工姓名快照。</summary>
public string EmployeeName { get; set; }
/// <summary>员工手机号快照。</summary>
public string EmployeeMobile { get; set; }
/// <summary>被新流程替代的时间。</summary>
public DateTime? ReissuedAt { get; set; }
/// <summary>管理员填写的重新发起原因。</summary>
public string ReissueReason { get; set; }
/// <summary>流程发起时间。</summary>
public DateTime? StartedAt { get; set; }
/// <summary>流程结束或失败原因。</summary>
public string LastError { get; set; }
}
/// <summary>
/// 电子签流程中的单份合同文档。
/// </summary>
public class OnboardingElectronicSignDocumentOutput
{
/// <summary>本地电子签文档 Id。</summary>
public long Id { get; set; }
/// <summary>任务合同 Id。</summary>
public long TaskContractId { get; set; }
/// <summary>契约锁文档 Id。</summary>
public string ProviderDocumentId { get; set; }
/// <summary>文档名称。</summary>
public string DocumentName { get; set; }
/// <summary>文档顺序。</summary>
public int DocumentSort { get; set; }
/// <summary>发起签约的原始 DOCX 文件 Id。</summary>
public long OriginalDocxFileId { get; set; }
/// <summary>签署完成后的 PDF 文件 Id。</summary>
public long? SignedPdfFileId { get; set; }
}