修复相关bug

This commit is contained in:
fuenmao
2026-09-14 15:59:37 +08:00
parent 20409635d6
commit f004aec10f
9 changed files with 230 additions and 29 deletions
@@ -40,6 +40,8 @@ public class OnboardingPublicTaskService : IOnboardingPublicTaskService
.Where(item => item.TaskId == task.Id)
.OrderBy(item => item.SortCode)
.ToListAsync();
var formRequirements =
await OnboardingEmployeeFieldRequirementSnapshot.GetForTask(_db, task.Id);
var contracts = await _db.Queryable<ObTaskContract>()
.Where(item => item.TaskId == task.Id)
@@ -106,7 +108,17 @@ public class OnboardingPublicTaskService : IOnboardingPublicTaskService
Contracts = contracts,
DynamicValues = new List<ObTaskFormValue>(),
Materials = materialOutputs,
FormFields = new List<OnboardingPublicFormFieldOutput>(),
FormFields = formRequirements
.Where(OnboardingEmployeeFieldRequirementSnapshot.IsEmployeeField)
.Select(requirement => new OnboardingPublicFormFieldOutput
{
FieldId = requirement.FieldId,
FieldCode = requirement.FieldCode,
FieldName = requirement.FieldName,
DataType = requirement.DataType,
OptionsJson = requirement.OptionsJson,
Required = requirement.Required
}).ToList(),
MaterialRequirements = materialRequirements.Select(requirement => new OnboardingPublicMaterialOutput
{
MaterialTypeId = requirement.MaterialTypeId,
@@ -134,7 +146,9 @@ public class OnboardingPublicTaskService : IOnboardingPublicTaskService
throw Oops.Bah("当前任务不可编辑");
}
OnboardingEmployeeInfoValidator.ValidateAndNormalize(input);
var formRequirements =
await OnboardingEmployeeFieldRequirementSnapshot.GetForTask(_db, task.Id);
OnboardingEmployeeInfoValidator.ValidateAndNormalize(input, formRequirements);
await _identityValidationService.EnsureNoDuplicate(
task.Id,
input.EmployeeName,