Reapply "修改稽查"
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This reverts commit 36750cc81c
.
Uat_IRC_Net8
parent
36750cc81c
commit
e3e83612fc
|
@ -2196,51 +2196,99 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
async Task addOrEditmark(List<QuestionMarkInfo> addOrUpdatemarkList)
|
||||
{
|
||||
#region 老的代码
|
||||
//var markids = addOrUpdatemarkList.Select(x => x.MarkId).Where(x => x != null).Distinct().ToList();
|
||||
|
||||
var markids= addOrUpdatemarkList.Select(x => x.MarkId).Where(x => x != null).Distinct().ToList();
|
||||
//var markQuestionIds = addOrUpdatemarkList.Select(y => (Guid?)y.QuestionId).ToList();
|
||||
|
||||
var markQuestionIds= addOrUpdatemarkList.Select(y => (Guid?)y.QuestionId).ToList();
|
||||
|
||||
// 绑定的历史标记的话 相当于要把历史标记改为现在的标记 先删再添加 得到的结果一样
|
||||
await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => markids.Contains(x.MarkId)&&x.QuestionId==null );
|
||||
//// 绑定的历史标记的话 相当于要把历史标记改为现在的标记 先删再添加 得到的结果一样
|
||||
//await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => markids.Contains(x.MarkId) && x.QuestionId == null);
|
||||
|
||||
|
||||
// 这里还不能直接删除 因为可能该问题绑定的原标记为a 现在新绑定的标记要为b 那么就需要把原标记a的绑定关系删除
|
||||
//// 这里还不能直接删除 因为可能该问题绑定的原标记为a 现在新绑定的标记要为b 那么就需要把原标记a的绑定关系删除
|
||||
|
||||
var oldMark=await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && markQuestionIds.Contains(x.QuestionId) && x.MarkId != null).ToListAsync();
|
||||
//var oldMark = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && markQuestionIds.Contains(x.QuestionId) && x.MarkId != null).ToListAsync();
|
||||
|
||||
// 这里稽查又要记录为新增 只能把原标记记录为先删除再添加 不然稽查又对不上
|
||||
List<ReadingTaskQuestionMark> oldAddMark=new List<ReadingTaskQuestionMark> ();
|
||||
//// 这里稽查又要记录为新增 只能把原标记记录为先删除再添加 不然稽查又对不上
|
||||
//List<ReadingTaskQuestionMark> oldAddMark = new List<ReadingTaskQuestionMark>();
|
||||
|
||||
foreach (var item in oldMark)
|
||||
//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;
|
||||
|
||||
//var markList = _mapper.Map<List<QuestionMarkInfo>, List<ReadingTaskQuestionMark>>(addOrUpdatemarkList);
|
||||
//markList.ForEach(x =>
|
||||
//{
|
||||
// x.Id = NewId.NextGuid();
|
||||
// x.VisitTaskId = inDto.VisitTaskId;
|
||||
// x.CreateTime = datetime;
|
||||
// x.FristAddTaskId = questionMarkList.Where(y => y.QuestionId == x.QuestionId).Select(x => x.FristAddTaskId).FirstOrDefault() ?? inDto.VisitTaskId;
|
||||
//});
|
||||
//// 原来移除关系的 已经删除 这里要添加 为什么要先删再加 因为稽查需要记录 稽查的记录方式为Add
|
||||
//oldAddMark.AddRange(markList);
|
||||
//await _readingTaskQuestionMarkRepository.AddRangeAsync(oldAddMark);
|
||||
#endregion
|
||||
|
||||
foreach (var item in addOrUpdatemarkList)
|
||||
{
|
||||
if (addOrUpdatemarkList.Any(x => x.QuestionId == item.QuestionId && x.MarkId != item.MarkId))
|
||||
var oldMark = await _readingTaskQuestionMarkRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == item.QuestionId).FirstOrDefaultAsync();
|
||||
if (oldMark != null)
|
||||
{
|
||||
var olditem = item.Clone();
|
||||
// 这种情况要先移除原来标记的绑定关系
|
||||
if (oldMark.MarkId != item.MarkId)
|
||||
{
|
||||
await _readingTaskQuestionMarkRepository.UpdatePartialFromQueryAsync(x => x.Id == oldMark.Id, x => new ReadingTaskQuestionMark()
|
||||
{
|
||||
QuestionId = null,
|
||||
TableQuestionId = null,
|
||||
RowId = null,
|
||||
RowIndex = null,
|
||||
});
|
||||
|
||||
olditem.QuestionId = null;
|
||||
olditem.TableQuestionId = null;
|
||||
olditem.RowId = null;
|
||||
olditem.RowIndex = null;
|
||||
oldAddMark.Add(olditem);
|
||||
var newMark = _mapper.Map<QuestionMarkInfo, ReadingTaskQuestionMark>(item);
|
||||
newMark.Id = NewId.NextGuid();
|
||||
newMark.VisitTaskId = inDto.VisitTaskId;
|
||||
newMark.FristAddTaskId = inDto.VisitTaskId;
|
||||
await _readingTaskQuestionMarkRepository.AddAsync(newMark);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 这种情况直接更新
|
||||
await _readingTaskQuestionMarkRepository.UpdatePartialFromQueryAsync(x => x.Id == oldMark.Id, x => new ReadingTaskQuestionMark()
|
||||
{
|
||||
MeasureData = item.MeasureData ?? string.Empty,
|
||||
OtherMeasureData = item.OtherMeasureData ?? string.Empty,
|
||||
PicturePath = item.PicturePath ?? string.Empty,
|
||||
OtherPicturePath = item.OtherPicturePath ?? string.Empty,
|
||||
MarkTool = item.MarkTool ?? string.Empty,
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var newMark = _mapper.Map<QuestionMarkInfo, ReadingTaskQuestionMark>(item);
|
||||
newMark.Id = NewId.NextGuid();
|
||||
newMark.VisitTaskId = inDto.VisitTaskId;
|
||||
newMark.FristAddTaskId = inDto.VisitTaskId;
|
||||
await _readingTaskQuestionMarkRepository.AddAsync(newMark);
|
||||
}
|
||||
}
|
||||
|
||||
await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && markQuestionIds.Contains(x.QuestionId));
|
||||
|
||||
var datetime = DateTime.Now;
|
||||
|
||||
var markList = _mapper.Map<List<QuestionMarkInfo>, List<ReadingTaskQuestionMark>>(addOrUpdatemarkList);
|
||||
markList.ForEach(x =>
|
||||
{
|
||||
x.Id = NewId.NextGuid();
|
||||
x.VisitTaskId = inDto.VisitTaskId;
|
||||
x.CreateTime = datetime;
|
||||
x.FristAddTaskId = questionMarkList.Where(y => y.QuestionId == x.QuestionId).Select(x => x.FristAddTaskId).FirstOrDefault() ?? inDto.VisitTaskId;
|
||||
});
|
||||
// 原来移除关系的 已经删除 这里要添加 为什么要先删再加 因为稽查需要记录 稽查的记录方式为Add
|
||||
oldAddMark.AddRange(markList);
|
||||
await _readingTaskQuestionMarkRepository.AddRangeAsync(oldAddMark);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3181,7 +3181,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
|
|||
TableQuestionName = tableQuestionName,
|
||||
Answer = answer,
|
||||
LiverSegmentation = liverSegmentation,
|
||||
}, _userInfo.AuditIdentification);
|
||||
});
|
||||
}
|
||||
|
||||
//保存影像质量 多条记录,只记录一条稽查
|
||||
|
|
Loading…
Reference in New Issue