修复相关bug
This commit is contained in:
@@ -161,6 +161,11 @@ public class OnboardingTaskService : IOnboardingTaskService
|
||||
CreateTime = DateTime.Now
|
||||
}).ExecuteCommandAsync();
|
||||
|
||||
var employeeFieldRequirements =
|
||||
await OnboardingEmployeeFieldRequirementSnapshot.BuildFromCurrentDefinitions(_db, taskId);
|
||||
if (employeeFieldRequirements.Count > 0)
|
||||
await _db.Insertable(employeeFieldRequirements).ExecuteCommandAsync();
|
||||
|
||||
var contracts = contractConfigs.Select(config =>
|
||||
{
|
||||
var template = contractTemplates.First(item => item.Id == config.ContractTemplateId);
|
||||
@@ -295,6 +300,10 @@ public class OnboardingTaskService : IOnboardingTaskService
|
||||
.Where(item => item.TaskId == sourceTask.Id)
|
||||
.OrderBy(item => item.SortCode)
|
||||
.ToListAsync();
|
||||
var sourceEmployeeFieldRequirements =
|
||||
(await OnboardingEmployeeFieldRequirementSnapshot.GetForTask(_db, sourceTask.Id))
|
||||
.Where(OnboardingEmployeeFieldRequirementSnapshot.IsEmployeeField)
|
||||
.ToList();
|
||||
var sourceContractIds = sourceContracts.Select(item => item.Id).ToList();
|
||||
var sourceManualVariables = await _db.Queryable<ObTaskContractVariable>()
|
||||
.Where(item => sourceContractIds.Contains(item.TaskContractId)
|
||||
@@ -334,6 +343,7 @@ public class OnboardingTaskService : IOnboardingTaskService
|
||||
sourceTask,
|
||||
sourceContracts,
|
||||
sourceMaterialRequirements,
|
||||
sourceEmployeeFieldRequirements,
|
||||
initialContractVariables,
|
||||
expiryHours,
|
||||
item.Remark.Trim());
|
||||
@@ -361,6 +371,7 @@ public class OnboardingTaskService : IOnboardingTaskService
|
||||
ObOnboardingTask sourceTask,
|
||||
List<ObTaskContract> sourceContracts,
|
||||
List<ObTaskMaterialRequirement> sourceMaterialRequirements,
|
||||
List<ObTaskFormRequirement> sourceEmployeeFieldRequirements,
|
||||
List<OnboardingInitialContractVariableInput> initialContractVariables,
|
||||
int expiryHours,
|
||||
string remark)
|
||||
@@ -405,6 +416,24 @@ public class OnboardingTaskService : IOnboardingTaskService
|
||||
CreateTime = now
|
||||
}).ExecuteCommandAsync();
|
||||
|
||||
if (sourceEmployeeFieldRequirements.Count > 0)
|
||||
{
|
||||
var copiedEmployeeFieldRequirements = sourceEmployeeFieldRequirements.Select(source =>
|
||||
new ObTaskFormRequirement
|
||||
{
|
||||
Id = global::SimpleAdmin.Core.Utils.CommonUtils.GetSingleId(),
|
||||
TaskId = taskId,
|
||||
FieldId = source.FieldId,
|
||||
FieldCode = source.FieldCode,
|
||||
FieldName = source.FieldName,
|
||||
DataType = source.DataType,
|
||||
OptionsJson = source.OptionsJson,
|
||||
Required = source.Required,
|
||||
SortCode = source.SortCode
|
||||
}).ToList();
|
||||
await _db.Insertable(copiedEmployeeFieldRequirements).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
var copiedContracts = sourceContracts.Select(source => new ObTaskContract
|
||||
{
|
||||
Id = global::SimpleAdmin.Core.Utils.CommonUtils.GetSingleId(),
|
||||
|
||||
Reference in New Issue
Block a user