补充注释
This commit is contained in:
+101
@@ -1,68 +1,169 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>
|
||||
/// 保存动态入职字段参数。
|
||||
/// </summary>
|
||||
public class OnboardingFormFieldSaveInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 业务数据 Id。
|
||||
/// </summary>
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 动态字段编码。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required(ErrorMessage = "字段编码不能为空")]
|
||||
public string FieldCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 动态字段名称。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required(ErrorMessage = "字段名称不能为空")]
|
||||
public string FieldName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字段或变量数据类型。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required(ErrorMessage = "数据类型不能为空")]
|
||||
public string DataType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 可选项 JSON。
|
||||
/// </summary>
|
||||
public string OptionsJson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字段校验规则。
|
||||
/// </summary>
|
||||
public string ValidationRule { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 员工端输入提示。
|
||||
/// </summary>
|
||||
public string Placeholder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用状态或状态筛选条件。
|
||||
/// </summary>
|
||||
public string Status { get; set; } = "enable";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存入职材料类型参数。
|
||||
/// </summary>
|
||||
public class OnboardingMaterialTypeSaveInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 业务数据 Id。
|
||||
/// </summary>
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 材料类型编码。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required(ErrorMessage = "资料编码不能为空")]
|
||||
public string MaterialCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 材料名称。
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.DataAnnotations.Required(ErrorMessage = "资料名称不能为空")]
|
||||
public string MaterialName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 允许上传的文件扩展名。
|
||||
/// </summary>
|
||||
public string AllowedExtensions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 允许上传的最大文件数量。
|
||||
/// </summary>
|
||||
public int MaxFileCount { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 单个文件最大大小,单位为 MB。
|
||||
/// </summary>
|
||||
public int? MaxFileSizeMb { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 启用状态或状态筛选条件。
|
||||
/// </summary>
|
||||
public string Status { get; set; } = "enable";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存公司岗位动态字段要求参数。
|
||||
/// </summary>
|
||||
public class OnboardingFormRequirementSaveInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 业务数据 Id。
|
||||
/// </summary>
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入职业务公司 Id。
|
||||
/// </summary>
|
||||
[IdNotNull(ErrorMessage = "公司Id不能为空")]
|
||||
public long CompanyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 岗位 Id;为空时表示公司级配置。
|
||||
/// </summary>
|
||||
public long? PositionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 动态字段 Id。
|
||||
/// </summary>
|
||||
[IdNotNull(ErrorMessage = "字段Id不能为空")]
|
||||
public long FieldId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否必填、必传或必签。
|
||||
/// </summary>
|
||||
public bool Required { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示排序码。
|
||||
/// </summary>
|
||||
public int? SortCode { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存公司岗位材料要求参数。
|
||||
/// </summary>
|
||||
public class OnboardingMaterialRequirementSaveInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 业务数据 Id。
|
||||
/// </summary>
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 入职业务公司 Id。
|
||||
/// </summary>
|
||||
[IdNotNull(ErrorMessage = "公司Id不能为空")]
|
||||
public long CompanyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 岗位 Id;为空时表示公司级配置。
|
||||
/// </summary>
|
||||
public long? PositionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 材料类型 Id。
|
||||
/// </summary>
|
||||
[IdNotNull(ErrorMessage = "资料类型Id不能为空")]
|
||||
public long MaterialTypeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否必填、必传或必签。
|
||||
/// </summary>
|
||||
public bool Required { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 显示排序码。
|
||||
/// </summary>
|
||||
public int? SortCode { get; set; }
|
||||
}
|
||||
|
||||
+40
-1
@@ -1,17 +1,56 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>
|
||||
/// 定义动态字段、材料类型及公司岗位要求配置业务能力。
|
||||
/// </summary>
|
||||
public interface IOnboardingEntryConfigService : ITransient
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询全部动态入职字段。
|
||||
/// </summary>
|
||||
Task<List<ObFormField>> ListFormFields();
|
||||
/// <summary>
|
||||
/// 新增或编辑动态入职字段。
|
||||
/// </summary>
|
||||
Task SaveFormField(OnboardingFormFieldSaveInput input);
|
||||
/// <summary>
|
||||
/// 删除未被填写要求引用的动态字段。
|
||||
/// </summary>
|
||||
Task DeleteFormFields(BaseIdListInput input);
|
||||
/// <summary>
|
||||
/// 查询全部入职材料类型。
|
||||
/// </summary>
|
||||
Task<List<ObMaterialType>> ListMaterialTypes();
|
||||
/// <summary>
|
||||
/// 新增或编辑入职材料类型。
|
||||
/// </summary>
|
||||
Task SaveMaterialType(OnboardingMaterialTypeSaveInput input);
|
||||
/// <summary>
|
||||
/// 删除未被要求或上传记录引用的材料类型。
|
||||
/// </summary>
|
||||
Task DeleteMaterialTypes(BaseIdListInput input);
|
||||
/// <summary>
|
||||
/// 查询指定公司的动态字段填写要求。
|
||||
/// </summary>
|
||||
Task<List<ObFormRequirement>> ListFormRequirements(long companyId);
|
||||
/// <summary>
|
||||
/// 新增或编辑公司岗位动态字段要求。
|
||||
/// </summary>
|
||||
Task SaveFormRequirement(OnboardingFormRequirementSaveInput input);
|
||||
/// <summary>
|
||||
/// 删除动态字段填写要求。
|
||||
/// </summary>
|
||||
Task DeleteFormRequirements(BaseIdListInput input);
|
||||
/// <summary>
|
||||
/// 查询指定公司的材料上传要求。
|
||||
/// </summary>
|
||||
Task<List<ObMaterialRequirement>> ListMaterialRequirements(long companyId);
|
||||
/// <summary>
|
||||
/// 新增或编辑公司岗位材料要求。
|
||||
/// </summary>
|
||||
Task SaveMaterialRequirement(OnboardingMaterialRequirementSaveInput input);
|
||||
/// <summary>
|
||||
/// 删除材料上传要求。
|
||||
/// </summary>
|
||||
Task DeleteMaterialRequirements(BaseIdListInput input);
|
||||
}
|
||||
}
|
||||
|
||||
+36
-2
@@ -12,6 +12,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
_db = DbContext.DB;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询全部动态入职字段。
|
||||
/// </summary>
|
||||
public Task<List<ObFormField>> ListFormFields()
|
||||
{
|
||||
return _db.Queryable<ObFormField>()
|
||||
@@ -19,6 +22,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增或编辑动态入职字段。
|
||||
/// </summary>
|
||||
public async Task SaveFormField(OnboardingFormFieldSaveInput input)
|
||||
{
|
||||
var fieldCodeExists = await _db.Queryable<ObFormField>()
|
||||
@@ -51,6 +57,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
await _db.Insertable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除未被填写要求引用的动态字段。
|
||||
/// </summary>
|
||||
public async Task DeleteFormFields(BaseIdListInput input)
|
||||
{
|
||||
if (input.Ids.Count == 0)
|
||||
@@ -64,6 +73,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
await _db.Deleteable<ObFormField>().In(input.Ids).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询全部入职材料类型。
|
||||
/// </summary>
|
||||
public Task<List<ObMaterialType>> ListMaterialTypes()
|
||||
{
|
||||
return _db.Queryable<ObMaterialType>()
|
||||
@@ -71,6 +83,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增或编辑入职材料类型。
|
||||
/// </summary>
|
||||
public async Task SaveMaterialType(OnboardingMaterialTypeSaveInput input)
|
||||
{
|
||||
if (input.MaxFileCount <= 0)
|
||||
@@ -105,6 +120,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
await _db.Insertable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除未被要求或上传记录引用的材料类型。
|
||||
/// </summary>
|
||||
public async Task DeleteMaterialTypes(BaseIdListInput input)
|
||||
{
|
||||
if (input.Ids.Count == 0)
|
||||
@@ -123,6 +141,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
await _db.Deleteable<ObMaterialType>().In(input.Ids).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询指定公司的动态字段填写要求。
|
||||
/// </summary>
|
||||
public Task<List<ObFormRequirement>> ListFormRequirements(long companyId)
|
||||
{
|
||||
return _db.Queryable<ObFormRequirement>()
|
||||
@@ -131,6 +152,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增或编辑公司岗位动态字段要求。
|
||||
/// </summary>
|
||||
public async Task SaveFormRequirement(OnboardingFormRequirementSaveInput input)
|
||||
{
|
||||
await EnsureCompanyAndPosition(input.CompanyId, input.PositionId);
|
||||
@@ -167,6 +191,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
await _db.Insertable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除动态字段填写要求。
|
||||
/// </summary>
|
||||
public Task DeleteFormRequirements(BaseIdListInput input)
|
||||
{
|
||||
if (input.Ids.Count == 0)
|
||||
@@ -175,6 +202,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
return _db.Deleteable<ObFormRequirement>().In(input.Ids).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 查询指定公司的材料上传要求。
|
||||
/// </summary>
|
||||
public Task<List<ObMaterialRequirement>> ListMaterialRequirements(long companyId)
|
||||
{
|
||||
return _db.Queryable<ObMaterialRequirement>()
|
||||
@@ -183,6 +213,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增或编辑公司岗位材料要求。
|
||||
/// </summary>
|
||||
public async Task SaveMaterialRequirement(OnboardingMaterialRequirementSaveInput input)
|
||||
{
|
||||
await EnsureCompanyAndPosition(input.CompanyId, input.PositionId);
|
||||
@@ -219,6 +252,9 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
await _db.Insertable(entity).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除材料上传要求。
|
||||
/// </summary>
|
||||
public Task DeleteMaterialRequirements(BaseIdListInput input)
|
||||
{
|
||||
if (input.Ids.Count == 0)
|
||||
@@ -243,5 +279,3 @@ public class OnboardingEntryConfigService : IOnboardingEntryConfigService
|
||||
throw Oops.Bah("岗位不存在、未启用或不属于该公司");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user