120 lines
3.7 KiB
C#
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);
|
|
}
|
|
}
|