补充注释

This commit is contained in:
fuenmao
2026-08-24 15:32:50 +08:00
parent b8b2d7e3fa
commit 22a7df5bec
84 changed files with 5913 additions and 45 deletions
@@ -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
};
}
}