融合问题修改

This commit is contained in:
he
2024-02-23 13:08:10 +08:00
parent a55ec01992
commit c743335d13
3 changed files with 11 additions and 38 deletions
@@ -325,19 +325,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary>
/// 融合的病灶
/// 融合的病灶
/// </summary>
public Guid MergeRowId { get; set; }
public Guid MergeMainRowId { get; set; }
/// <summary>
/// 融的病灶
/// 融的病灶
/// </summary>
public List<Guid> MeltingInToLesionList { get; set; }
///// <summary>
///// 融合后病灶状态
///// </summary>
//public string LesionState { get; set; }
public List<Guid> MergeRowIdList { get; set; }
}
@@ -1364,7 +1364,7 @@ namespace IRaCIS.Application.Services
answers.Add("RowIndex", x.ToString());
answers.Add("RowId", rowInfo==null?string.Empty: rowInfo.Id.ToString());
answers.Add("MarkTool", rowInfo.MarkTool);
answers.Add("MeltingInToLesionMarks", rowInfo.MeltingInToLesionMarks);
answers.Add("MergeLesionMark", rowInfo.MergeLesionMark);
answers.Add("StudyId", rowInfo.StudyId.ToString());
answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString());
answers.Add("IsFristAdd", (rowInfo.FristAddTaskId== TaskId).ToString());
@@ -1468,11 +1468,9 @@ namespace IRaCIS.Application.Services
{
await VerifyTaskIsSign(inDto.VisitTaskId);
await this.VerifyIsBaseLineTask(inDto.VisitTaskId);
var mergeRow = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.MergeRowId).FirstNotNullAsync();
var mergeRow = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.MergeMainRowId).Include(x => x.ReadingQuestionTrial).FirstNotNullAsync();
var meltingRows = await _readingTableAnswerRowInfoRepository.Where(x => inDto.MeltingInToLesionList.Contains(x.Id)).Include(x => x.ReadingQuestionTrial).ToListAsync();
List<string> marks = meltingRows.OrderBy(x => x.RowIndex).Select(x => x.ReadingQuestionTrial.OrderMark + x.RowIndex.GetLesionMark()).ToList();
var mark = mergeRow.ReadingQuestionTrial.OrderMark + mergeRow.RowIndex.GetLesionMark();
await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.RowId == mergeRow.Id && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State, x => new ReadingTableQuestionAnswer()
{
@@ -1480,11 +1478,10 @@ namespace IRaCIS.Application.Services
});
await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(inDto.MergeRowId, x => new ReadingTableAnswerRowInfo()
await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x=> inDto.MergeRowIdList.Contains(x.Id), x => new ReadingTableAnswerRowInfo()
{
MeltingInToLesion = JsonConvert.SerializeObject(inDto.MeltingInToLesionList),
MeltingInToLesionMarks = string.Join(',', marks),
MergeRowId=inDto.MergeMainRowId,
MergeLesionMark = mark,
SplitOrMergeType = SplitOrMergeType.Merge,
}) ;
await _readingTableAnswerRowInfoRepository.SaveChangesAsync();