49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
using System.ComponentModel;
|
|
namespace SimpleAdmin.Web.Core;
|
|
|
|
/// <summary>
|
|
/// 提供入职合同文件生成相关 HTTP 接口。
|
|
/// </summary>
|
|
[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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 创建入职任务前,按人事当前填写的参数下载 DOCX 合同预览。
|
|
/// </summary>
|
|
[HttpPost("preview-before-create")]
|
|
[DisplayName("创建入职任务前预览合同")]
|
|
public async Task<FileContentResult> PreviewBeforeCreate(
|
|
[FromBody] OnboardingContractPreviewInput input)
|
|
{
|
|
var preview = await _service.PreviewBeforeCreate(input);
|
|
return new FileContentResult(
|
|
preview.FileBytes,
|
|
"application/vnd.openxmlformats-officedocument.wordprocessingml.document")
|
|
{
|
|
FileDownloadName = preview.FileName
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 生成入职合同文件
|
|
/// </summary>
|
|
[HttpPost("generate")]
|
|
[DisplayName("手动生成合同文件")]
|
|
public async Task<long> Generate(
|
|
[FromBody] OnboardingGenerateContractInput input)
|
|
{
|
|
return await _service.Generate(input);
|
|
}
|
|
}
|