添加另一个标记

IRC_NewDev
he 2023-09-15 15:25:17 +08:00
parent 304ad35f29
commit 166b46f6a3
4 changed files with 30 additions and 51 deletions

View File

@ -1841,6 +1841,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string MeasureData { get; set; } = string.Empty;
public string? OtherMeasureData { get; set; } = string.Empty;
public Guid? SeriesId { get; set; }
public Guid? InstanceId { get; set; }

View File

@ -1284,6 +1284,7 @@ namespace IRaCIS.Application.Services
answers.Add("FromMark", rowInfo.FromMark);
answers.Add("IsDicomReading", rowInfo.IsDicomReading.ToString());
answers.Add("MeasureData", rowInfo == null ? string.Empty : rowInfo.MeasureData);
answers.Add("OtherMeasureData", rowInfo == null|| rowInfo.OtherMeasureData==null ? string.Empty : rowInfo.OtherMeasureData.ToString());
answers.Add("RowIndex", x.ToString());
answers.Add("RowId", rowInfo.Id.ToString());
answers.Add("MarkTool", rowInfo.MarkTool);
@ -1351,6 +1352,7 @@ namespace IRaCIS.Application.Services
rowAnswer.SeriesId = null;
rowAnswer.IsCurrentTaskAdd = true;
rowAnswer.MeasureData = string.Empty;
rowAnswer.OtherMeasureData =null;
List<QuestionMark?> needRemoveMark = new List<QuestionMark?>()
{
@ -1591,6 +1593,13 @@ namespace IRaCIS.Application.Services
measureData.data.remark = item.ReadingQuestionTrial.OrderMark + ((decimal)index).GetLesionMark();
measureDataStr = JsonConvert.SerializeObject(measureData);
}
string? otherMeasureDataStr = null;
if (item.OtherMeasureData != null && item.OtherMeasureData != string.Empty)
{
dynamic otherMeasureData = JObject.Parse(item.OtherMeasureData);
otherMeasureData.data.remark = item.ReadingQuestionTrial.OrderMark + ((decimal)index).GetLesionMark();
otherMeasureDataStr = JsonConvert.SerializeObject(otherMeasureData);
}
@ -1607,6 +1616,7 @@ namespace IRaCIS.Application.Services
rowAnswerItem.RowIndex = index;
rowAnswerItem.MeasureData = measureDataStr;
rowAnswerItem.OtherMeasureData = otherMeasureDataStr;
}
@ -1632,7 +1642,13 @@ namespace IRaCIS.Application.Services
spiltmeasureDataStr = JsonConvert.SerializeObject(spiltmeasureData);
}
string? spiltOtherMeasureDataStr = null;
if (item.OtherMeasureData != null && item.OtherMeasureData != string.Empty)
{
dynamic otherMeasureData = JObject.Parse(item.OtherMeasureData);
otherMeasureData.data.remark = item.ReadingQuestionTrial.OrderMark + ((decimal)index).GetLesionMark();
spiltOtherMeasureDataStr = JsonConvert.SerializeObject(otherMeasureData);
}
foreach (var answerItem in answerlist.Where(x => x.RowIndex == spiltitem.RowIndex))
{
answerItem.RowIndex = index + spiltindex;
@ -1645,7 +1661,7 @@ namespace IRaCIS.Application.Services
rowAnswerItem.RowIndex = index + spiltindex;
rowAnswerItem.MeasureData = spiltmeasureDataStr;
rowAnswerItem.OtherMeasureData = spiltOtherMeasureDataStr;
}
@ -1965,39 +1981,18 @@ namespace IRaCIS.Application.Services
}
ReadingTableAnswerRowInfo rowInfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == (inDto.RowId ?? default(Guid))).FirstOrDefaultAsync();
ReadingTableAnswerRowInfo rowInfo = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == (inDto.RowId ?? default(Guid))).IgnoreAutoIncludes().FirstOrDefaultAsync();
rowInfo = rowInfo == null ? new ReadingTableAnswerRowInfo() : rowInfo;
//await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => x.RowId == (inDto.RowId ?? default(Guid)));
//await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => x.Id == (inDto.RowId ?? default(Guid)));
rowInfo.Id = inDto.RowId == null ? NewId.NextGuid() : inDto.RowId.Value;
rowInfo.TrialId = inDto.TrialId;
rowInfo.QuestionId = inDto.QuestionId;
rowInfo.MeasureData = inDto.MeasureData;
rowInfo.BlindName = inDto.BlindName;
rowInfo.IsDicomReading = inDto.IsDicomReading;
rowInfo.IsCurrentTaskAdd = isCurrentTaskAdd;
rowInfo.NumberOfFrames = inDto.NumberOfFrames;
rowInfo.MarkTool = inDto.MarkTool;
rowInfo.ReportMark = inDto.ReportMark;
rowInfo.FristAddTaskNum = taskinfo.VisitTaskNum;
rowInfo.FristAddTaskId = inDto.VisitTaskId;
rowInfo.PicturePath = inDto.PicturePath;
rowInfo.RowIndex = inDto.RowIndex;
rowInfo.FromMark = inDto.FromMark;
rowInfo.OrganInfoId = inDto.OrganInfoId;
rowInfo.InstanceId = inDto.InstanceId;
rowInfo.SeriesId = inDto.SeriesId;
rowInfo.VisitTaskId = inDto.VisitTaskId;
rowInfo.OrderMark = questionInfo.OrderMark;
rowInfo.StudyId = inDto.StudyId;
rowInfo.IsCanEditPosition = inDto.IsCanEditPosition;
rowInfo.WL = inDto.WL;
rowInfo.WW = inDto.WW;
result.RowId = rowInfo.Id;
_mapper.Map(inDto, rowInfo);
rowInfo.Id = inDto.RowId == null ? NewId.NextGuid() : inDto.RowId.Value;
if (inDto.RowId == null)
{
@ -2024,28 +2019,7 @@ namespace IRaCIS.Application.Services
else
{
await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(rowInfo.Id, x => new ReadingTableAnswerRowInfo()
{
TrialId = rowInfo.TrialId,
QuestionId = rowInfo.QuestionId,
MeasureData = rowInfo.MeasureData,
BlindName = rowInfo.BlindName,
IsDicomReading = rowInfo.IsDicomReading,
IsCurrentTaskAdd = isCurrentTaskAdd,
WL = rowInfo.WL,
WW = rowInfo.WW,
MarkTool = inDto.MarkTool,
OrganInfoId = rowInfo.OrganInfoId,
PicturePath = rowInfo.PicturePath,
NumberOfFrames = rowInfo.NumberOfFrames,
RowIndex = rowInfo.RowIndex,
InstanceId = rowInfo.InstanceId,
SeriesId = rowInfo.SeriesId,
VisitTaskId = rowInfo.VisitTaskId,
StudyId = rowInfo.StudyId,
IsCanEditPosition = rowInfo.IsCanEditPosition,
ReportMark = rowInfo.ReportMark
}) ;
await _readingTableAnswerRowInfoRepository.UpdateFromDTOAsync(rowInfo) ;
foreach (var item in inDto.AnswerList)

View File

@ -56,6 +56,7 @@ namespace IRaCIS.Core.Application.Service
#endregion
CreateMap<VisitTask, VisitTaskDto>();
CreateMap<SubmitTableQuestionInDto, ReadingTableAnswerRowInfo>();
CreateMap<ShortcutKey, DefaultShortcutKeyView>();

View File

@ -164,7 +164,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid? DeleteUserId { get; set; }
[JsonIgnore]
public string? OtherMeasureData { get; set; } = string.Empty;
[JsonIgnore]
[ForeignKey("SplitRowId")]
public ReadingTableAnswerRowInfo SplitRow { get; set; }
[JsonIgnore]