diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index e96b8314d..8ded5c6c8 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -4867,6 +4867,21 @@ 序号标记 + + + 融合的病灶 + + + + + 融向的病灶 + + + + + 融合后病灶状态 + + 任务Id diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index b1bdba483..c6c8c9ddb 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -334,10 +334,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public List MeltingInToLesionList { get; set; } - /// - /// 融合后病灶状态 - /// - public string LesionState { get; set; } + ///// + ///// 融合后病灶状态 + ///// + //public string LesionState { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index c4f9fb605..c082cf892 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1465,24 +1465,30 @@ namespace IRaCIS.Application.Services [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] public async Task MergeLesion(MergeLesionInDto inDto) { - await VerifyTaskIsSign(inDto.VisitTaskId); - await this.VerifyIsBaseLineTask(inDto.VisitTaskId); - var mergeRow =await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.MergeRowId).FirstNotNullAsync(); - if (inDto.LesionState != string.Empty) - { - await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.RowId == mergeRow.Id && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State, x => new ReadingTableQuestionAnswer() - { - Answer = inDto.LesionState, - }); - } - - await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(inDto.MergeRowId, x => new ReadingTableAnswerRowInfo() - { - MeltingInToLesion=JsonConvert.SerializeObject(inDto.MeltingInToLesionList), - SplitOrMergeType = SplitOrMergeType.Merge, - }); - await _readingTableAnswerRowInfoRepository.SaveChangesAsync(); - } + await VerifyTaskIsSign(inDto.VisitTaskId); + await this.VerifyIsBaseLineTask(inDto.VisitTaskId); + var mergeRow = await _readingTableAnswerRowInfoRepository.Where(x => x.Id == inDto.MergeRowId).FirstNotNullAsync(); + + await _readingTableQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.RowId == mergeRow.Id && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State, x => new ReadingTableQuestionAnswer() + { + Answer = TargetState.Loss.GetEnumInt(), + }); + + + await _readingTableAnswerRowInfoRepository.UpdatePartialFromQueryAsync(inDto.MergeRowId, x => new ReadingTableAnswerRowInfo() + { + MeltingInToLesion = JsonConvert.SerializeObject(inDto.MeltingInToLesionList), + SplitOrMergeType = SplitOrMergeType.Merge, + }); + await _readingTableAnswerRowInfoRepository.SaveChangesAsync(); + + await this._readingCalculateService.CalculateTask(new CalculateTaskInDto() + { + IsChangeOtherTask = false, + VisitTaskId = inDto.VisitTaskId, + ComputationTrigger = ComputationTrigger.Lesion, + }); + } /// /// 获取可合并的病灶