融合问题修改

IRC_NewDev
he 2024-02-23 13:08:10 +08:00
parent a55ec01992
commit c743335d13
3 changed files with 11 additions and 38 deletions

View File

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

View File

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

View File

@ -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")]