From 7a4c94bfb74818383d5463ebc36e0fc4938288c2 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 9 Nov 2022 14:57:28 +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 | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index c3ab35344..e9bd95bf0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -10,6 +10,8 @@ using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Application.Service; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Application.Interfaces; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; namespace IRaCIS.Application.Services { @@ -788,30 +790,42 @@ namespace IRaCIS.Application.Services await _readingTableAnswerRowInfoRepository.SaveChangesAsync(); - var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId).OrderBy(x => x.RowIndex).ToListAsync(); + var rowInfoList = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId).Include(x=>x.ReadingQuestionTrial).OrderBy(x => x.RowIndex).ToListAsync(); - + foreach (var item in rowInfoList.Where(x => x.RowIndex % 1 == 0)) { + + dynamic measureData = JObject.Parse(item.MeasureData); + measureData.data.remark =item.ReadingQuestionTrial+((decimal)index).GetLesionMark(); + string measureDataStr = JsonConvert.SerializeObject(measureData); + await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == item.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableQuestionAnswer() { RowIndex = index }); await _readingTableAnswerRowInfoRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == item.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableAnswerRowInfo() { - RowIndex = index - }); + 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) { + + dynamic spiltmeasureData = JObject.Parse(spiltitem.MeasureData); + spiltmeasureData.data.remark = item.ReadingQuestionTrial + ((decimal)index + spiltindex).GetLesionMark(); + string spiltmeasureDataStr = JsonConvert.SerializeObject(spiltmeasureData); + await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == spiltitem.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableQuestionAnswer() { RowIndex = index + spiltindex }); await _readingTableAnswerRowInfoRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == inDto.VisitTaskId && x.RowIndex == spiltitem.RowIndex && x.QuestionId == inDto.QuestionId, x => new ReadingTableAnswerRowInfo() { - RowIndex = index + spiltindex + RowIndex = index + spiltindex, + MeasureData= spiltmeasureDataStr, }); spiltindex += 0.01M;