Uat_Study
he 2022-11-09 14:57:28 +08:00
parent 3bbcd556c4
commit 7a4c94bfb7
1 changed files with 19 additions and 5 deletions

View File

@ -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;