diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index d80f106e9..2d7f20530 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1980,6 +1980,11 @@ 路径 + + + 只查询已经签名的临床数据 + + 获取访视列表 diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 674f8ca60..f51f9645c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -346,7 +346,7 @@ namespace IRaCIS.Application.Services } } - + inDto.SelectIsSign = false; var result = await GetClinicalDataList(inDto); var previousHistoryList = await _previousHistoryRepository.Where(x => x.SubjectVisitId == inDto.ReadingId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); @@ -433,6 +433,7 @@ namespace IRaCIS.Application.Services var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId) .WhereIf(inDto.ReadingClinicalDataId != null, x => x.Id == inDto.ReadingClinicalDataId) + .WhereIf(inDto.SelectIsSign, x => x.IsSign == true) .Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject)) .Select(x => new GetReadingClinicalDataListOutDto() { diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index b218ed509..533ebc3fd 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -178,7 +178,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? VisitTaskId { get; set; } public Guid? ReadingClinicalDataId { get; set; } -} + + /// + /// 只查询已经签名的临床数据 + /// + public bool SelectIsSign { get; set; } = true; + } /// /// 获取访视列表 diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 272d43005..237f56114 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -917,7 +917,12 @@ namespace IRaCIS.Application.Services } index++; } - + // 自动计算 + await this._readingCalculateService.CalculateTask(new CalculateTaskInDto() + { + IsChangeOtherTask = false, + VisitTaskId = inDto.VisitTaskId, + }); return ResponseOutput.Ok(true); } @@ -1067,7 +1072,7 @@ namespace IRaCIS.Application.Services /// /// /// - [NonDynamicMethod] + public async Task SubmitDicomVisitTask(SubmitDicomVisitTaskInDto inDto) { @@ -1495,6 +1500,7 @@ namespace IRaCIS.Application.Services OriginalVisitId = visitTaskId, ReadingCategory = GenerateTaskCategory.Global, TrialId = taskInfo.TrialId, + ReadingGenerataTaskList = needReadList }); break; diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index 38887f4c0..78e7c2c79 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -408,24 +408,30 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } #endregion // 修改修约小数位数 - try - { - List valueOfTypes = new List() { + + List valueOfTypes = new List() { ValueOfType.Decimals, ValueOfType.Percentage }; - if (valueOfTypes.Contains(item.ValueType)) + if (inDto.DigitPlaces != null && inDto.DigitPlaces != -1) + { + try { - item.Answer = decimal.Round(decimal.Parse(item.Answer??"0"), inDto.DigitPlaces).ToString(); + + if (valueOfTypes.Contains(item.ValueType)) + { + item.Answer = decimal.Round(decimal.Parse(item.Answer ?? "0"), inDto.DigitPlaces).ToString(); + } + } + catch (Exception) + { + + } } - catch (Exception) - { - - - } + needAddList.Add(new ReadingTaskQuestionAnswer() @@ -1300,10 +1306,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { return TargetAssessment.NA.GetEnumInt(); } - if (tableQuestion.Count() == 0) - { - return string.Empty; - } + TargetLesionCalculateDto resultData = new TargetLesionCalculateDto() { // 是否存在靶病灶