From 39f8d62236f5eaa0b6ddb4b14065af629236a402 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 7 Dec 2022 15:01:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingImageTaskService.cs | 72 ++++++++++++++----- 1 file changed, 56 insertions(+), 16 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 50f0525ad..0ee3061ff 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -889,8 +889,11 @@ namespace IRaCIS.Application.Services await _readingTableAnswerRowInfoRepository.SaveChangesAsync(); - var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId).Include(x => x.ReadingQuestionTrial).OrderBy(x => x.RowIndex).ToListAsync(); + var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId,true).Include(x => x.ReadingQuestionTrial).OrderBy(x => x.RowIndex).ToListAsync(); + var answerlist = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId,true).ToListAsync(); + + foreach (var item in rowInfoList.Where(x => x.RowIndex % 1 == 0)) { @@ -902,16 +905,34 @@ namespace IRaCIS.Application.Services measureDataStr = JsonConvert.SerializeObject(measureData); } - await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == item.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableQuestionAnswer() - { - RowIndex = index - }); + - await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == item.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableAnswerRowInfo() + foreach (var answerItem in answerlist.Where(x=>x.RowIndex== item.RowIndex)) { - RowIndex = index, - MeasureData = measureDataStr, - }); + + answerItem.RowIndex = index; + + } + + + foreach (var rowAnswerItem in rowInfoList.Where(x => x.RowIndex == item.RowIndex)) + { + + rowAnswerItem.RowIndex = index; + rowAnswerItem.MeasureData = measureDataStr; + + } + + //await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == item.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableQuestionAnswer() + //{ + // RowIndex = index + //}); + + //await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == item.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableAnswerRowInfo() + //{ + // RowIndex = index, + // MeasureData = measureDataStr, + //}); var spiltList = rowInfoList.Where(x => x.RowIndex % 1 != 0 && x.RowIndex > item.RowIndex && x.RowIndex < Math.Floor(item.RowIndex + 1)).OrderBy(x => x.RowIndex).ToList(); decimal spiltindex = 0.01M; foreach (var spiltitem in spiltList) @@ -923,15 +944,34 @@ namespace IRaCIS.Application.Services spiltmeasureData.data.remark = item.ReadingQuestionTrial.OrderMark + ((decimal)index + spiltindex).GetLesionMark(); spiltmeasureDataStr = JsonConvert.SerializeObject(spiltmeasureData); } - await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == spiltitem.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableQuestionAnswer() + + + foreach (var answerItem in answerlist.Where(x => x.RowIndex == spiltitem.RowIndex)) { - RowIndex = index + spiltindex - }); - await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == spiltitem.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableAnswerRowInfo() + answerItem.RowIndex = index + spiltindex; + + } + + + foreach (var rowAnswerItem in rowInfoList.Where(x => x.RowIndex == spiltitem.RowIndex)) { - RowIndex = index + spiltindex, - MeasureData = spiltmeasureDataStr, - }); + + rowAnswerItem.RowIndex = index + spiltindex; + rowAnswerItem.MeasureData = spiltmeasureDataStr; + + + } + + + //await _readingTableQuestionAnswerRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == spiltitem.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableQuestionAnswer() + //{ + // RowIndex = index + spiltindex + //}); + //await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == spiltitem.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableAnswerRowInfo() + //{ + // RowIndex = index + spiltindex, + // MeasureData = spiltmeasureDataStr, + //}); spiltindex += 0.01M; }