using System.ComponentModel;
namespace SimpleAdmin.Web.Core;
///
/// 提供入职合同文件生成相关 HTTP 接口。
///
[ApiDescriptionSettings("Application", Tag = "入职合同文件")]
[Route("biz/onboarding/contract-document")]
[Route("biz/onboarding/task")]
[RolePermission]
public class OnboardingContractDocumentController
{
private readonly IOnboardingContractDocumentService _service;
public OnboardingContractDocumentController(
IOnboardingContractDocumentService service)
{
_service = service;
}
///
/// 创建入职任务前,按人事当前填写的参数下载 DOCX 合同预览。
///
[HttpPost("preview-before-create")]
[DisplayName("创建入职任务前预览合同")]
public async Task PreviewBeforeCreate(
[FromBody] OnboardingContractPreviewInput input)
{
var preview = await _service.PreviewBeforeCreate(input);
return new FileContentResult(
preview.FileBytes,
"application/vnd.openxmlformats-officedocument.wordprocessingml.document")
{
FileDownloadName = preview.FileName
};
}
///
/// 生成入职合同文件
///
[HttpPost("generate")]
[DisplayName("手动生成合同文件")]
public async Task Generate(
[FromBody] OnboardingGenerateContractInput input)
{
return await _service.Generate(input);
}
}