This commit is contained in:
fuenmao
2026-08-24 14:26:11 +08:00
parent 01328d567c
commit a51d45372d
54 changed files with 2607 additions and 119 deletions
@@ -0,0 +1,26 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职审核")]
[Route("biz/onboarding/audit")]
[RolePermission]
public class OnboardingAuditController
{
private readonly IOnboardingAuditService _service;
public OnboardingAuditController(IOnboardingAuditService service)
{
_service = service;
}
[HttpPost("approve")]
public async Task Approve([FromBody] OnboardingAuditActionInput input)
{
await _service.Approve(input);
}
[HttpPost("reject")]
public async Task Reject([FromBody] OnboardingAuditActionInput input)
{
await _service.Reject(input);
}
}
@@ -6,12 +6,45 @@ namespace SimpleAdmin.Web.Core;
public class OnboardingCompanyController
{
private readonly IOnboardingCompanyService _service;
public OnboardingCompanyController(IOnboardingCompanyService service) => _service = service;
[HttpGet("page")] public async Task<dynamic> Page([FromQuery] OnboardingCompanyPageInput input) => await _service.Page(input);
[HttpGet("list-enabled")] public async Task<dynamic> ListEnabled() => await _service.ListEnabled();
[HttpGet("detail")] public async Task<dynamic> Detail([FromQuery] BaseIdInput input) => await _service.Detail(input);
[HttpPost("add")] public async Task Add([FromBody] OnboardingCompanyAddInput input) => await _service.Add(input);
[HttpPost("edit")] public async Task Edit([FromBody] OnboardingCompanyEditInput input) => await _service.Edit(input);
[HttpPost("delete")] public async Task Delete([FromBody] BaseIdListInput input) => await _service.Delete(input);
}
public OnboardingCompanyController(IOnboardingCompanyService service)
{
_service = service;
}
[HttpGet("page")]
public async Task<dynamic> Page([FromQuery] OnboardingCompanyPageInput input)
{
return await _service.Page(input);
}
[HttpGet("list-enabled")]
public async Task<dynamic> ListEnabled()
{
return await _service.ListEnabled();
}
[HttpGet("detail")]
public async Task<dynamic> Detail([FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
[HttpPost("add")]
public async Task Add([FromBody] OnboardingCompanyAddInput input)
{
await _service.Add(input);
}
[HttpPost("edit")]
public async Task Edit([FromBody] OnboardingCompanyEditInput input)
{
await _service.Edit(input);
}
[HttpPost("delete")]
public async Task Delete([FromBody] BaseIdListInput input)
{
await _service.Delete(input);
}
}
@@ -0,0 +1,25 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职合同文件")]
[Route("biz/onboarding/contract-document")]
[RolePermission]
public class OnboardingContractDocumentController
{
private readonly IOnboardingContractDocumentService _service;
public OnboardingContractDocumentController(
IOnboardingContractDocumentService service)
{
_service = service;
}
/// <summary>
/// 生成入职合同文件
/// </summary>
[HttpPost("generate")]
public async Task<long> Generate(
[FromBody] OnboardingGenerateContractInput input)
{
return await _service.Generate(input);
}
}
@@ -6,20 +6,105 @@ namespace SimpleAdmin.Web.Core;
public class OnboardingContractTemplateController
{
private readonly IOnboardingContractTemplateService _service;
public OnboardingContractTemplateController(IOnboardingContractTemplateService service) => _service = service;
[HttpGet("page")] public async Task<dynamic> Page([FromQuery] OnboardingContractTemplatePageInput input) => await _service.Page(input);
[HttpGet("detail")] public async Task<dynamic> Detail([FromQuery] BaseIdInput input) => await _service.Detail(input);
[HttpPost("add")] public async Task Add([FromBody] OnboardingContractTemplateAddInput input) => await _service.Add(input);
[HttpPost("edit")] public async Task Edit([FromBody] OnboardingContractTemplateEditInput input) => await _service.Edit(input);
[HttpPost("delete")] public async Task Delete([FromBody] BaseIdListInput input) => await _service.Delete(input);
[HttpGet("version/page")] public async Task<dynamic> VersionPage([FromQuery] OnboardingContractVersionPageInput input) => await _service.VersionPage(input);
[HttpPost("version/add")] public async Task AddVersion([FromBody] OnboardingContractVersionAddInput input) => await _service.AddVersion(input);
[HttpPost("version/set-status")] public async Task SetVersionStatus([FromBody] OnboardingContractVersionStatusInput input) => await _service.SetVersionStatus(input);
[HttpGet("variable/page")] public async Task<dynamic> VariablePage([FromQuery] OnboardingTemplateVariablePageInput input) => await _service.VariablePage(input);
[HttpPost("variable/add")] public async Task AddVariable([FromBody] OnboardingTemplateVariableAddInput input) => await _service.AddVariable(input);
[HttpPost("variable/edit")] public async Task EditVariable([FromBody] OnboardingTemplateVariableEditInput input) => await _service.EditVariable(input);
[HttpPost("variable/delete")] public async Task DeleteVariable([FromBody] BaseIdListInput input) => await _service.DeleteVariable(input); [HttpGet("scope/page")] public async Task<dynamic> ScopePage([FromQuery] OnboardingContractScopePageInput input) => await _service.ScopePage(input);
[HttpPost("scope/add")] public async Task AddScope([FromBody] OnboardingContractScopeAddInput input) => await _service.AddScope(input);
[HttpPost("scope/edit")] public async Task EditScope([FromBody] OnboardingContractScopeEditInput input) => await _service.EditScope(input);
[HttpPost("scope/delete")] public async Task DeleteScope([FromBody] BaseIdListInput input) => await _service.DeleteScope(input);}
public OnboardingContractTemplateController(IOnboardingContractTemplateService service)
{
_service = service;
}
[HttpGet("page")]
public async Task<dynamic> Page([FromQuery] OnboardingContractTemplatePageInput input)
{
return await _service.Page(input);
}
[HttpGet("detail")]
public async Task<dynamic> Detail([FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
[HttpPost("add")]
public async Task Add([FromBody] OnboardingContractTemplateAddInput input)
{
await _service.Add(input);
}
[HttpPost("edit")]
public async Task Edit([FromBody] OnboardingContractTemplateEditInput input)
{
await _service.Edit(input);
}
[HttpPost("delete")]
public async Task Delete([FromBody] BaseIdListInput input)
{
await _service.Delete(input);
}
[HttpGet("version/page")]
public async Task<dynamic> VersionPage([FromQuery] OnboardingContractVersionPageInput input)
{
return await _service.VersionPage(input);
}
[HttpPost("version/add")]
public async Task AddVersion([FromBody] OnboardingContractVersionAddInput input)
{
await _service.AddVersion(input);
}
[HttpPost("version/set-status")]
public async Task SetVersionStatus([FromBody] OnboardingContractVersionStatusInput input)
{
await _service.SetVersionStatus(input);
}
[HttpGet("variable/page")]
public async Task<dynamic> VariablePage([FromQuery] OnboardingTemplateVariablePageInput input)
{
return await _service.VariablePage(input);
}
[HttpPost("variable/add")]
public async Task AddVariable([FromBody] OnboardingTemplateVariableAddInput input)
{
await _service.AddVariable(input);
}
[HttpPost("variable/edit")]
public async Task EditVariable([FromBody] OnboardingTemplateVariableEditInput input)
{
await _service.EditVariable(input);
}
[HttpPost("variable/delete")]
public async Task DeleteVariable([FromBody] BaseIdListInput input)
{
await _service.DeleteVariable(input);
}
[HttpGet("scope/page")]
public async Task<dynamic> ScopePage([FromQuery] OnboardingContractScopePageInput input)
{
return await _service.ScopePage(input);
}
[HttpPost("scope/add")]
public async Task AddScope([FromBody] OnboardingContractScopeAddInput input)
{
await _service.AddScope(input);
}
[HttpPost("scope/edit")]
public async Task EditScope([FromBody] OnboardingContractScopeEditInput input)
{
await _service.EditScope(input);
}
[HttpPost("scope/delete")]
public async Task DeleteScope([FromBody] BaseIdListInput input)
{
await _service.DeleteScope(input);
}
}
@@ -0,0 +1,26 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职正式员工档案")]
[Route("biz/onboarding/employee")]
[RolePermission]
public class OnboardingEmployeeController
{
private readonly IOnboardingEmployeeService _service;
public OnboardingEmployeeController(IOnboardingEmployeeService service)
{
_service = service;
}
[HttpGet("page")]
public async Task<dynamic> Page([FromQuery] OnboardingEmployeePageInput input)
{
return await _service.Page(input);
}
[HttpGet("detail")]
public async Task<dynamic> Detail([FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
}
@@ -0,0 +1,86 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职填写与材料配置")]
[Route("biz/onboarding/entry-config")]
[RolePermission]
public class OnboardingEntryConfigController
{
private readonly IOnboardingEntryConfigService _service;
public OnboardingEntryConfigController(IOnboardingEntryConfigService service)
{
_service = service;
}
[HttpGet("form-field/list")]
public async Task<dynamic> ListFormFields()
{
return await _service.ListFormFields();
}
[HttpPost("form-field/save")]
public async Task SaveFormField([FromBody] OnboardingFormFieldSaveInput input)
{
await _service.SaveFormField(input);
}
[HttpPost("form-field/delete")]
public async Task DeleteFormFields([FromBody] BaseIdListInput input)
{
await _service.DeleteFormFields(input);
}
[HttpGet("material-type/list")]
public async Task<dynamic> ListMaterialTypes()
{
return await _service.ListMaterialTypes();
}
[HttpPost("material-type/save")]
public async Task SaveMaterialType([FromBody] OnboardingMaterialTypeSaveInput input)
{
await _service.SaveMaterialType(input);
}
[HttpPost("material-type/delete")]
public async Task DeleteMaterialTypes([FromBody] BaseIdListInput input)
{
await _service.DeleteMaterialTypes(input);
}
[HttpGet("form-requirement/list")]
public async Task<dynamic> ListFormRequirements([FromQuery] long companyId)
{
return await _service.ListFormRequirements(companyId);
}
[HttpPost("form-requirement/save")]
public async Task SaveFormRequirement([FromBody] OnboardingFormRequirementSaveInput input)
{
await _service.SaveFormRequirement(input);
}
[HttpPost("form-requirement/delete")]
public async Task DeleteFormRequirements([FromBody] BaseIdListInput input)
{
await _service.DeleteFormRequirements(input);
}
[HttpGet("material-requirement/list")]
public async Task<dynamic> ListMaterialRequirements([FromQuery] long companyId)
{
return await _service.ListMaterialRequirements(companyId);
}
[HttpPost("material-requirement/save")]
public async Task SaveMaterialRequirement([FromBody] OnboardingMaterialRequirementSaveInput input)
{
await _service.SaveMaterialRequirement(input);
}
[HttpPost("material-requirement/delete")]
public async Task DeleteMaterialRequirements([FromBody] BaseIdListInput input)
{
await _service.DeleteMaterialRequirements(input);
}
}
@@ -0,0 +1,20 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职资料审核")]
[Route("biz/onboarding/material")]
[RolePermission]
public class OnboardingMaterialReviewController
{
private readonly IOnboardingMaterialReviewService _service;
public OnboardingMaterialReviewController(IOnboardingMaterialReviewService service)
{
_service = service;
}
[HttpPost("review")]
public async Task Review([FromBody] OnboardingMaterialReviewInput input)
{
await _service.Review(input);
}
}
@@ -6,12 +6,45 @@ namespace SimpleAdmin.Web.Core;
public class OnboardingPositionController
{
private readonly IOnboardingPositionService _service;
public OnboardingPositionController(IOnboardingPositionService service) => _service = service;
[HttpGet("page")] public async Task<dynamic> Page([FromQuery] OnboardingPositionPageInput input) => await _service.Page(input);
[HttpGet("list-enabled")] public async Task<dynamic> ListEnabled([FromQuery] long companyId) => await _service.ListEnabled(companyId);
[HttpGet("detail")] public async Task<dynamic> Detail([FromQuery] BaseIdInput input) => await _service.Detail(input);
[HttpPost("add")] public async Task Add([FromBody] OnboardingPositionAddInput input) => await _service.Add(input);
[HttpPost("edit")] public async Task Edit([FromBody] OnboardingPositionEditInput input) => await _service.Edit(input);
[HttpPost("delete")] public async Task Delete([FromBody] BaseIdListInput input) => await _service.Delete(input);
}
public OnboardingPositionController(IOnboardingPositionService service)
{
_service = service;
}
[HttpGet("page")]
public async Task<dynamic> Page([FromQuery] OnboardingPositionPageInput input)
{
return await _service.Page(input);
}
[HttpGet("list-enabled")]
public async Task<dynamic> ListEnabled([FromQuery] long companyId)
{
return await _service.ListEnabled(companyId);
}
[HttpGet("detail")]
public async Task<dynamic> Detail([FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
[HttpPost("add")]
public async Task Add([FromBody] OnboardingPositionAddInput input)
{
await _service.Add(input);
}
[HttpPost("edit")]
public async Task Edit([FromBody] OnboardingPositionEditInput input)
{
await _service.Edit(input);
}
[HttpPost("delete")]
public async Task Delete([FromBody] BaseIdListInput input)
{
await _service.Delete(input);
}
}
@@ -0,0 +1,67 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "员工入职提交")]
[Route("open/onboarding")]
[AllowAnonymous]
public class OnboardingPublicSubmissionController
{
private readonly IOnboardingPublicSubmissionService _service;
private readonly IFileService _fileService;
public OnboardingPublicSubmissionController(IOnboardingPublicSubmissionService service, IFileService fileService)
{
_service = service;
_fileService = fileService;
}
[HttpPost("save-dynamic-values")]
public async Task SaveDynamicValues([FromBody] OnboardingSaveDynamicValuesInput input)
{
await _service.SaveDynamicValues(input);
}
[HttpPost("save-material")]
public async Task SaveMaterial([FromBody] OnboardingSaveMaterialInput input)
{
await _service.SaveMaterial(input);
}
[HttpPost("confirm-contract")]
public async Task ConfirmContract([FromBody] OnboardingConfirmContractInput input)
{
await _service.ConfirmContract(input);
}
[HttpPost("submit")]
public async Task Submit([FromBody] OnboardingSubmitInput input)
{
await _service.Submit(input);
}
[HttpPost("upload-material")]
[Consumes("multipart/form-data")]
[RequestSizeLimit(20 * 1024 * 1024)]
public async Task UploadMaterial([FromForm] string token, [FromForm] long materialTypeId, IFormFile file)
{
if (file == null || file.Length == 0)
{
throw new ArgumentException("请选择需要上传的文件");
}
await _service.ValidateMaterialUpload(new OnboardingMaterialUploadValidationInput
{
Token = token,
MaterialTypeId = materialTypeId,
FileName = file.FileName,
FileLength = file.Length
});
var fileId = await _fileService.UploadFile(SysDictConst.FILE_ENGINE_LOCAL, file);
await _service.SaveMaterial(new OnboardingSaveMaterialInput
{
Token = token,
MaterialTypeId = materialTypeId,
FileId = fileId
});
}
}
@@ -0,0 +1,35 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "员工入职填写")]
[Route("open/onboarding")]
[AllowAnonymous]
public class OnboardingPublicTaskController
{
private readonly IOnboardingPublicTaskService _service;
private readonly IFileService _fileService;
public OnboardingPublicTaskController(IOnboardingPublicTaskService service, IFileService fileService)
{
_service = service;
_fileService = fileService;
}
[HttpPost("detail")]
public async Task<dynamic> Detail([FromBody] OnboardingTaskPublicAccessInput input)
{
return await _service.Detail(input);
}
[HttpPost("save-employee-info")]
public async Task SaveEmployeeInfo([FromBody] OnboardingTaskPublicSaveInput input)
{
await _service.SaveEmployeeInfo(input);
}
[HttpGet("contract-source")]
public async Task<FileStreamResult> ContractSource([FromQuery] OnboardingPublicContractSourceInput input)
{
var fileId = await _service.GetContractSourceFileId(input);
return await _fileService.Download(new BaseIdInput { Id = fileId });
}
}
@@ -0,0 +1,26 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职任务合同参数")]
[Route("biz/onboarding/task-contract-variable")]
[RolePermission]
public class OnboardingTaskContractVariableController
{
private readonly IOnboardingTaskContractVariableService _service;
public OnboardingTaskContractVariableController(IOnboardingTaskContractVariableService service)
{
_service = service;
}
[HttpGet("list")]
public async Task<dynamic> List([FromQuery] OnboardingTaskContractVariableQueryInput input)
{
return await _service.List(input);
}
[HttpPost("save")]
public async Task Save([FromBody] OnboardingTaskContractVariableSaveInput input)
{
await _service.Save(input);
}
}
@@ -6,6 +6,15 @@ namespace SimpleAdmin.Web.Core;
public class OnboardingTaskController
{
private readonly IOnboardingTaskService _service;
public OnboardingTaskController(IOnboardingTaskService service) => _service = service;
[HttpPost("create")] public async Task<dynamic> Create([FromBody] OnboardingTaskCreateInput input) => await _service.Create(input);
}
public OnboardingTaskController(IOnboardingTaskService service)
{
_service = service;
}
[HttpPost("create")]
public async Task<dynamic> Create([FromBody] OnboardingTaskCreateInput input)
{
return await _service.Create(input);
}
}
@@ -0,0 +1,26 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职任务归档")]
[Route("biz/onboarding/task")]
[RolePermission]
public class OnboardingTaskLifecycleController
{
private readonly IOnboardingTaskLifecycleService _service;
public OnboardingTaskLifecycleController(IOnboardingTaskLifecycleService service)
{
_service = service;
}
[HttpPost("archive")]
public async Task Archive([FromBody] OnboardingAuditActionInput input)
{
await _service.Archive(input);
}
[HttpPost("revoke")]
public async Task Revoke([FromBody] OnboardingAuditActionInput input)
{
await _service.Revoke(input);
}
}
@@ -0,0 +1,26 @@
namespace SimpleAdmin.Web.Core;
[ApiDescriptionSettings("Application", Tag = "入职任务查询")]
[Route("biz/onboarding/task")]
[RolePermission]
public class OnboardingTaskQueryController
{
private readonly IOnboardingTaskQueryService _service;
public OnboardingTaskQueryController(IOnboardingTaskQueryService service)
{
_service = service;
}
[HttpGet("page")]
public async Task<dynamic> Page([FromQuery] OnboardingTaskPageInput input)
{
return await _service.Page(input);
}
[HttpGet("detail")]
public async Task<dynamic> Detail([FromQuery] BaseIdInput input)
{
return await _service.Detail(input);
}
}
@@ -26,6 +26,11 @@
模拟 Configure
</summary>
</member>
<member name="M:SimpleAdmin.Web.Core.OnboardingContractDocumentController.Generate(SimpleAdmin.Application.OnboardingGenerateContractInput)">
<summary>
生成入职合同文件
</summary>
</member>
<member name="T:SimpleAdmin.Web.Core.BizOrgController">
<summary>
机构管理控制器