融合问题修改
parent
a55ec01992
commit
c743335d13
|
@ -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();
|
||||
|
|
|
@ -207,29 +207,10 @@ namespace IRaCIS.Core.Domain.Models
|
|||
/// </summary>
|
||||
public string MarkTool { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 融向的病灶
|
||||
/// </summary>
|
||||
public string MeltingInToLesion { get; set; } = "[]";
|
||||
|
||||
/// <summary>
|
||||
/// 融向病灶的名称
|
||||
/// </summary>
|
||||
public string MeltingInToLesionMarks { get; set; } = string.Empty;
|
||||
|
||||
public List<Guid> MeltingInToLesionList { get {
|
||||
|
||||
try
|
||||
{
|
||||
return JsonConvert.DeserializeObject<List<Guid>>(this.MeltingInToLesion);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
return new List<Guid>();
|
||||
}
|
||||
} }
|
||||
|
||||
public string MergeLesionMark { get; set; } = string.Empty;
|
||||
|
||||
[JsonIgnore]
|
||||
[ForeignKey("VisitTaskId")]
|
||||
|
|
Loading…
Reference in New Issue