融合问题修改

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>
/// 融合的病灶 /// 融合的病灶
/// </summary> /// </summary>
public Guid MergeRowId { get; set; } public Guid MergeMainRowId { get; set; }
/// <summary> /// <summary>
/// 融的病灶 /// 融的病灶
/// </summary> /// </summary>
public List<Guid> MeltingInToLesionList { get; set; } public List<Guid> MergeRowIdList { get; set; }
///// <summary>
///// 融合后病灶状态
///// </summary>
//public string LesionState { get; set; }
} }

View File

@ -1364,7 +1364,7 @@ namespace IRaCIS.Application.Services
answers.Add("RowIndex", x.ToString()); answers.Add("RowIndex", x.ToString());
answers.Add("RowId", rowInfo==null?string.Empty: rowInfo.Id.ToString()); answers.Add("RowId", rowInfo==null?string.Empty: rowInfo.Id.ToString());
answers.Add("MarkTool", rowInfo.MarkTool); answers.Add("MarkTool", rowInfo.MarkTool);
answers.Add("MeltingInToLesionMarks", rowInfo.MeltingInToLesionMarks); answers.Add("MergeLesionMark", rowInfo.MergeLesionMark);
answers.Add("StudyId", rowInfo.StudyId.ToString()); answers.Add("StudyId", rowInfo.StudyId.ToString());
answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString()); answers.Add("OrganInfoId", rowInfo.OrganInfoId.ToString());
answers.Add("IsFristAdd", (rowInfo.FristAddTaskId== TaskId).ToString()); answers.Add("IsFristAdd", (rowInfo.FristAddTaskId== TaskId).ToString());
@ -1468,11 +1468,9 @@ namespace IRaCIS.Application.Services
{ {
await VerifyTaskIsSign(inDto.VisitTaskId); await VerifyTaskIsSign(inDto.VisitTaskId);
await this.VerifyIsBaseLineTask(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(); var mark = mergeRow.ReadingQuestionTrial.OrderMark + mergeRow.RowIndex.GetLesionMark();
List<string> marks = meltingRows.OrderBy(x => x.RowIndex).Select(x => x.ReadingQuestionTrial.OrderMark + x.RowIndex.GetLesionMark()).ToList();
await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.RowId == mergeRow.Id && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State, x => new ReadingTableQuestionAnswer() 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), MergeRowId=inDto.MergeMainRowId,
MeltingInToLesionMarks = string.Join(',', marks), MergeLesionMark = mark,
SplitOrMergeType = SplitOrMergeType.Merge, SplitOrMergeType = SplitOrMergeType.Merge,
}) ; }) ;
await _readingTableAnswerRowInfoRepository.SaveChangesAsync(); await _readingTableAnswerRowInfoRepository.SaveChangesAsync();

View File

@ -207,29 +207,10 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public string MarkTool { get; set; } = string.Empty; public string MarkTool { get; set; } = string.Empty;
/// <summary>
/// 融向的病灶
/// </summary>
public string MeltingInToLesion { get; set; } = "[]";
/// <summary> /// <summary>
/// 融向病灶的名称 /// 融向病灶的名称
/// </summary> /// </summary>
public string MeltingInToLesionMarks { get; set; } = string.Empty; public string MergeLesionMark { get; set; } = string.Empty;
public List<Guid> MeltingInToLesionList { get {
try
{
return JsonConvert.DeserializeObject<List<Guid>>(this.MeltingInToLesion);
}
catch (Exception)
{
return new List<Guid>();
}
} }
[JsonIgnore] [JsonIgnore]
[ForeignKey("VisitTaskId")] [ForeignKey("VisitTaskId")]