Files
2026-09-08 17:48:30 +08:00

120 lines
3.7 KiB
C#

using System.ComponentModel;
namespace SimpleAdmin.Web.Core;
/// <summary>
/// 提供入职任务电子签管理接口。
/// </summary>
[ApiDescriptionSettings("Application", Tag = "入职电子签约")]
[Route("biz/onboarding/electronic-sign")]
[RolePermission]
public class OnboardingElectronicSignController
{
private readonly IOnboardingElectronicSignService _service;
public OnboardingElectronicSignController(
IOnboardingElectronicSignService service)
{
_service = service;
}
/// <summary>
/// 查询入职任务的电子签状态和合同文件。
/// </summary>
[HttpGet("detail")]
[DisplayName("查看入职电子签详情")]
public async Task<OnboardingElectronicSignDetailOutput> Detail(
[FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
/// <summary>
/// 手动发起或继续上次失败的契约锁流程。
/// </summary>
[HttpPost("initiate")]
[DisplayName("发起入职电子签")]
public async Task<OnboardingElectronicSignDetailOutput> Initiate(
[FromBody] OnboardingElectronicSignTaskInput input)
{
return await _service.Initiate(input);
}
/// <summary>
/// 保留原流程记录并创建一次全新的契约锁签约流程。
/// </summary>
[HttpPost("reinitiate")]
[DisplayName("重新发起入职电子签")]
public async Task<OnboardingElectronicSignDetailOutput> Reinitiate(
[FromBody] OnboardingElectronicSignReinitiateInput input)
{
return await _service.Reinitiate(input);
}
/// <summary>
/// 主动同步契约锁状态,完成后自动归档。
/// </summary>
[HttpPost("sync")]
[DisplayName("同步入职电子签状态")]
public async Task<OnboardingElectronicSignDetailOutput> Sync(
[FromBody] OnboardingElectronicSignTaskInput input)
{
return await _service.Sync(input);
}
/// <summary>
/// 获取仍然有效的员工签署地址,过期则重新生成。
/// </summary>
[HttpPost("get-link")]
[DisplayName("获取员工电子签链接")]
public async Task<OnboardingElectronicSignDetailOutput> GetSignLink(
[FromBody] OnboardingElectronicSignTaskInput input)
{
return await _service.GetSignLink(input);
}
/// <summary>
/// 获取员工已签、企业未盖章文件的只读浏览页面。
/// </summary>
[HttpPost("preview-employee-signed")]
[DisplayName("预览员工已签合同")]
public async Task<OnboardingElectronicSignPreviewOutput> PreviewEmployeeSignedDocument(
[FromBody] OnboardingElectronicSignPreviewInput input)
{
return await _service.PreviewEmployeeSignedDocument(input);
}
/// <summary>
/// 全部文件核对完成后,由后台管理员确认企业盖章。
/// </summary>
[HttpPost("company-seal")]
[DisplayName("确认入职合同企业盖章")]
public async Task<OnboardingElectronicSignDetailOutput> CompanySeal(
[FromBody] OnboardingElectronicSignTaskInput input)
{
return await _service.CompanySeal(input);
}
/// <summary>
/// 催办当前待签员工。
/// </summary>
[HttpPost("notice")]
[DisplayName("催办员工电子签")]
public async Task Notice(
[FromBody] OnboardingElectronicSignTaskInput input)
{
await _service.Notice(input);
}
/// <summary>
/// 作废尚未结束的电子签流程。
/// </summary>
[HttpPost("invalid")]
[DisplayName("作废入职电子签")]
public async Task Invalid(
[FromBody] OnboardingElectronicSignInvalidInput input)
{
await _service.Invalid(input);
}
}