补充注释
This commit is contained in:
+7
-1
@@ -1,11 +1,17 @@
|
||||
namespace SimpleAdmin.Application;
|
||||
|
||||
/// <summary>冻结任务合同变量;DOCX 生成阶段只读取本快照,不再读取模板实时值。</summary>
|
||||
/// <summary>
|
||||
/// 实现任务合同变量快照业务能力。
|
||||
/// </summary>
|
||||
public class OnboardingContractSnapshotService : IOnboardingContractSnapshotService
|
||||
{
|
||||
private readonly SqlSugarScope _db;
|
||||
public OnboardingContractSnapshotService() => _db = DbContext.DB;
|
||||
|
||||
/// <summary>
|
||||
/// 根据任务、公司和候选人资料构建或刷新合同变量快照。
|
||||
/// </summary>
|
||||
public async Task Build(long taskId, ObTaskEmployeeInfo employeeInfo = null)
|
||||
{
|
||||
var task = await _db.Queryable<ObOnboardingTask>().InSingleAsync(taskId) ?? throw Oops.Bah("入职任务不存在");
|
||||
@@ -20,6 +26,7 @@ public class OnboardingContractSnapshotService : IOnboardingContractSnapshotServ
|
||||
var rows = definitions.Select(definition =>
|
||||
{
|
||||
var old = oldRows.FirstOrDefault(x => x.VariableCode == definition.VariableCode);
|
||||
// 人事手工填写的工资、补贴等合同参数优先级最高,刷新自动变量时不能覆盖。
|
||||
var preserveManual = old?.IsManualOverride == true;
|
||||
return new ObTaskContractVariable
|
||||
{
|
||||
@@ -80,4 +87,3 @@ public class OnboardingContractSnapshotService : IOnboardingContractSnapshotServ
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user