修改绑定关系
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
c66c7eaef7
commit
fed62ce5e3
|
@ -2205,6 +2205,27 @@ namespace IRaCIS.Core.Application.Service
|
|||
await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => markids.Contains(x.MarkId)&&x.QuestionId==null );
|
||||
|
||||
|
||||
// 这里还不能直接删除 因为可能该问题绑定的原标记为a 现在新绑定的标记要为b 那么就需要把原标记a的绑定关系删除
|
||||
|
||||
var oldMark=await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && markQuestionIds.Contains(x.QuestionId) && x.MarkId != null).ToListAsync();
|
||||
|
||||
// 这里稽查又要记录为新增 只能把原标记记录为先删除再添加 不然稽查又对不上
|
||||
List<ReadingTaskQuestionMark> oldAddMark=new List<ReadingTaskQuestionMark> ();
|
||||
|
||||
foreach (var item in oldMark)
|
||||
{
|
||||
if (addOrUpdatemarkList.Any(x => x.QuestionId == item.QuestionId && x.MarkId != item.MarkId))
|
||||
{
|
||||
var olditem = item.Clone();
|
||||
|
||||
olditem.QuestionId = null;
|
||||
olditem.TableQuestionId = null;
|
||||
olditem.RowId = null;
|
||||
olditem.RowIndex = null;
|
||||
oldAddMark.Add(olditem);
|
||||
}
|
||||
}
|
||||
|
||||
await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && markQuestionIds.Contains(x.QuestionId));
|
||||
|
||||
var datetime = DateTime.Now;
|
||||
|
@ -2217,7 +2238,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
x.CreateTime = datetime;
|
||||
x.FristAddTaskId = questionMarkList.Where(y => y.QuestionId == x.QuestionId).Select(x => x.FristAddTaskId).FirstOrDefault() ?? inDto.VisitTaskId;
|
||||
});
|
||||
await _readingTaskQuestionMarkRepository.AddRangeAsync(markList);
|
||||
// 原来移除关系的 已经删除 这里要添加 为什么要先删再加 因为稽查需要记录 稽查的记录方式为Add
|
||||
oldAddMark.AddRange(markList);
|
||||
await _readingTaskQuestionMarkRepository.AddRangeAsync(oldAddMark);
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue