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