逻辑调整

This commit is contained in:
fuenmao
2026-08-25 10:20:53 +08:00
parent 4679bd6c13
commit 085bf5e2ab
36 changed files with 2770 additions and 1209 deletions
@@ -37,6 +37,11 @@ public class ObOnboardingTask : BaseEntity
/// </summary>
public long PositionId { get; set; }
/// <summary>
/// 创建任务时锁定的入职模板 Id。
/// </summary>
public long OnboardingTemplateId { get; set; }
/// <summary>
/// 创建任务时指定的审核人用户 Id。
/// </summary>
@@ -0,0 +1,29 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职模板,统一组织公司、岗位、合同、补充字段和上传材料。
/// </summary>
[SugarTable("ob_onboarding_template", TableDescription = "入职模板")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObOnboardingTemplate : BaseEntity
{
/// <summary>
/// 入职模板业务编码。
/// </summary>
public string TemplateCode { get; set; }
/// <summary>
/// 入职模板显示名称。
/// </summary>
public string TemplateName { get; set; }
/// <summary>
/// 所属入职业务公司 Id。
/// </summary>
public long CompanyId { get; set; }
/// <summary>
/// 模板用途和适用范围说明。
/// </summary>
public string Description { get; set; }
}
@@ -0,0 +1,39 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职模板需要使用的合同文件及锁定版本。
/// </summary>
[SugarTable("ob_onboarding_template_contract", TableDescription = "入职模板合同配置")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObOnboardingTemplateContract : BaseEntity
{
/// <summary>
/// 入职模板 Id。
/// </summary>
public long OnboardingTemplateId { get; set; }
/// <summary>
/// 合同模板主档 Id。
/// </summary>
public long ContractTemplateId { get; set; }
/// <summary>
/// 锁定的合同模板版本 Id。
/// </summary>
public long ContractTemplateVersionId { get; set; }
/// <summary>
/// 员工是否必须查看并确认该合同。
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 合同打印份数。
/// </summary>
public int PrintCopies { get; set; } = 1;
/// <summary>
/// 显示和生成顺序。
/// </summary>
public int? SortCode { get; set; }
}
@@ -0,0 +1,29 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职模板需要员工填写的动态补充字段。
/// </summary>
[SugarTable("ob_onboarding_template_form_field", TableDescription = "入职模板补充字段")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObOnboardingTemplateFormField : BaseEntity
{
/// <summary>
/// 入职模板 Id。
/// </summary>
public long OnboardingTemplateId { get; set; }
/// <summary>
/// 动态补充字段 Id。
/// </summary>
public long FieldId { get; set; }
/// <summary>
/// 员工是否必须填写。
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 手机端显示顺序。
/// </summary>
public int? SortCode { get; set; }
}
@@ -0,0 +1,29 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职模板需要员工上传的材料配置。
/// </summary>
[SugarTable("ob_onboarding_template_material", TableDescription = "入职模板上传材料")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObOnboardingTemplateMaterial : BaseEntity
{
/// <summary>
/// 入职模板 Id。
/// </summary>
public long OnboardingTemplateId { get; set; }
/// <summary>
/// 上传材料类型 Id。
/// </summary>
public long MaterialTypeId { get; set; }
/// <summary>
/// 员工是否必须上传。
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 手机端显示顺序。
/// </summary>
public int? SortCode { get; set; }
}
@@ -0,0 +1,19 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职模板适用岗位关系。
/// </summary>
[SugarTable("ob_onboarding_template_position", TableDescription = "入职模板适用岗位")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObOnboardingTemplatePosition : BaseEntity
{
/// <summary>
/// 入职模板 Id。
/// </summary>
public long OnboardingTemplateId { get; set; }
/// <summary>
/// 适用岗位 Id。
/// </summary>
public long PositionId { get; set; }
}
@@ -47,6 +47,11 @@ public class ObTaskContract : BaseEntity
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 任务创建时冻结的合同打印份数。
/// </summary>
public int PrintCopies { get; set; } = 1;
/// <summary>
/// 任务合同当前状态。
/// </summary>
@@ -0,0 +1,49 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职任务创建时冻结的动态补充字段要求。
/// </summary>
[SugarTable("ob_task_form_requirement", TableDescription = "任务补充字段快照")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObTaskFormRequirement : BaseEntity
{
/// <summary>
/// 入职任务 Id。
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 原动态字段 Id。
/// </summary>
public long FieldId { get; set; }
/// <summary>
/// 冻结的字段业务编码。
/// </summary>
public string FieldCode { get; set; }
/// <summary>
/// 冻结的字段显示名称。
/// </summary>
public string FieldName { get; set; }
/// <summary>
/// 冻结的数据类型。
/// </summary>
public string DataType { get; set; }
/// <summary>
/// 冻结的选项 JSON。
/// </summary>
public string OptionsJson { get; set; }
/// <summary>
/// 是否必须填写。
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 手机端显示顺序。
/// </summary>
public int? SortCode { get; set; }
}
@@ -0,0 +1,54 @@
namespace SimpleAdmin.Application;
/// <summary>
/// 入职任务创建时冻结的上传材料要求。
/// </summary>
[SugarTable("ob_task_material_requirement", TableDescription = "任务上传材料快照")]
[Tenant(SqlSugarConst.DB_DEFAULT)]
public class ObTaskMaterialRequirement : BaseEntity
{
/// <summary>
/// 入职任务 Id。
/// </summary>
public long TaskId { get; set; }
/// <summary>
/// 原材料类型 Id。
/// </summary>
public long MaterialTypeId { get; set; }
/// <summary>
/// 冻结的材料编码。
/// </summary>
public string MaterialCode { get; set; }
/// <summary>
/// 冻结的材料名称。
/// </summary>
public string MaterialName { get; set; }
/// <summary>
/// 冻结的允许扩展名。
/// </summary>
public string AllowedExtensions { get; set; }
/// <summary>
/// 冻结的最大文件数量。
/// </summary>
public int MaxFileCount { get; set; }
/// <summary>
/// 冻结的单文件大小上限,单位 MB。
/// </summary>
public int? MaxFileSizeMb { get; set; }
/// <summary>
/// 是否必须上传。
/// </summary>
public bool Required { get; set; }
/// <summary>
/// 手机端显示顺序。
/// </summary>
public int? SortCode { get; set; }
}
@@ -139,6 +139,10 @@ public static class TaskContractStatus
/// </summary>
public static class ContractVariableType
{
/// <summary>
/// 导入模板时尚未确认来源的变量。
/// </summary>
public const string Unresolved = "unresolved";
/// <summary>
/// 值来源于候选人或正式员工信息。
/// </summary>