diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs index fdb78a1f3..419b2b59b 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs @@ -162,7 +162,7 @@ namespace IRaCIS.Core.Application.ViewModel public class SynchronizeSystemOrganToTrialInDto { - public Guid TrialId { get; set; } + public Guid TrialCriterionId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index ac9501345..e86e9acae 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -311,7 +311,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public class SynchronizeCriterionInDto { [NotDefault] - public Guid TrialId { get; set; } + public Guid TrialCriterionId { get; set; } } public class VerifyeCriterionNeedSynchronizeInDto diff --git a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs index ce4ffe2a8..5e3bc8276 100644 --- a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs +++ b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs @@ -309,7 +309,7 @@ namespace IRaCIS.Core.Application.Service public async Task SynchronizeSystemOrganToTrial(SynchronizeSystemOrganToTrialInDto inDto) { // 选中的标准进行修改 - var readingQuestionCriterionTrial = await _readingQuestionCriterionTrial.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstOrDefaultAsync(); + var readingQuestionCriterionTrial = await _readingQuestionCriterionTrial.Where(x => x.Id==inDto.TrialCriterionId).FirstOrDefaultAsync(); if (readingQuestionCriterionTrial != null) { @@ -334,7 +334,7 @@ namespace IRaCIS.Core.Application.Service criterionNidusList.ForEach(x => x.Id = NewId.NextGuid()); await _criterionNidusRepository.AddRangeAsync(criterionNidusList); - await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(x => x.TrialId == inDto.TrialId); + await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(x => x.TrialId == readingQuestionCriterionTrial.TrialId); var originalIds = criterionNidusList.Select(x => x.OriginalId).Distinct().ToList(); List organTrialInfoList = await _organInfoRepository.Where(x =>x.SystemCriterionId== inDto.SystemCriterionId).Select(x => new OrganTrialInfo() { @@ -343,7 +343,7 @@ namespace IRaCIS.Core.Application.Service IsEnable = true, TrialCriterionId= readingQuestionCriterionTrial.Id, OrganInfoId = x.Id, - TrialId = inDto.TrialId, + TrialId = readingQuestionCriterionTrial.TrialId, }).ToListAsync(); organTrialInfoList.ForEach(x => x.Id = NewId.NextGuid()); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index 51e3981bf..44df698dc 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -504,7 +504,7 @@ namespace IRaCIS.Application.Services /// public async Task SynchronizeCriterion(SynchronizeCriterionInDto inDto) { - var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).AsNoTracking().FirstOrDefaultAsync(); + var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id==inDto.TrialCriterionId).AsNoTracking().FirstOrDefaultAsync(); if (trialCriterion != null) { @@ -590,7 +590,7 @@ namespace IRaCIS.Application.Services foreach (var x in newTrialTableQuestionList) { var tableQuestion = x.Clone(); - tableQuestion.TrialId = inDto.TrialId; + tableQuestion.TrialId = trialCriterion.TrialId; tableQuestion.TrialCriterionId = trialCriterion.Id; tableQuestion.ReadingQuestionId = copyNewQuestionList.Where(y => y.ReadingQuestionSystemId == x.ReadingQuestionId).Select(y => y.Id).FirstOrDefault(); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index e675b7f33..1aa74ac64 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -726,14 +726,18 @@ namespace IRaCIS.Core.Application.Contracts public class GetOncologySetInDto { - public Guid TrialId { get; set; } + public Guid TrialCriterionId { get; set; } } public class GetTrialReadingInfoInDto { + [NotDefault] public Guid TrialId { get; set; } + [NotDefault] + public Guid TrialCriterionId { get; set; } + } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index e5cb85537..5ffdc71cd 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -115,12 +115,9 @@ namespace IRaCIS.Core.Application /// /// [HttpPost] - public async Task GetTrialReadingInfo(GetTrialReadingInfoInDto inDto) + public async Task GetCriterionReadingInfo(GetTrialReadingInfoInDto inDto) { - GetTrialReadingInfoOutDto trialInfo= await _trialRepository.Where(x=>x.Id==inDto.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); - - - + GetTrialReadingInfoOutDto trialInfo= await _readingQuestionCriterionTrialRepository.Where(x=>x.Id==inDto.TrialCriterionId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); return trialInfo; } @@ -133,8 +130,8 @@ namespace IRaCIS.Core.Application [HttpPost] public async Task GetOncologySet(GetOncologySetInDto inDto) { - var signTime = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => x.ReadingInfoSignTime).FirstOrDefaultAsync(); - var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstOrDefaultAsync(); + + var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialCriterionId).FirstOrDefaultAsync(); if (trialCriterion == null) { throw new BusinessValidationFailedException("请先确认一个项目标准。"); @@ -145,7 +142,7 @@ namespace IRaCIS.Core.Application EvaluationReason = trialCriterion.EvaluationReason.IsNullOrEmpty()? ReadingCommon.EvaluationReason : trialCriterion.EvaluationReason, EvaluationResult= trialCriterion.EvaluationResult, IsShowDetail=trialCriterion.IsShowDetail, - IsSign = signTime != null, + IsSign = trialCriterion.ReadingInfoSignTime != null, }; } @@ -247,7 +244,7 @@ namespace IRaCIS.Core.Application // 同步器官 await _iOrganInfoService.SynchronizeSystemOrganToTrial(new SynchronizeSystemOrganToTrialInDto() { - TrialId = inDto.TrialId, + TrialCriterionId = inDto.TrialCriterionId, SystemCriterionId = trialCriterion.ReadingQuestionCriterionSystemId }); @@ -255,7 +252,7 @@ namespace IRaCIS.Core.Application await iReadingQuestionService.SynchronizeCriterion(new SynchronizeCriterionInDto() { - TrialId = inDto.TrialId + TrialCriterionId = inDto.TrialCriterionId, }); } diff --git a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs index 58101930c..49439e17e 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingQuestionCriterionTrial.cs @@ -196,6 +196,12 @@ namespace IRaCIS.Core.Domain.Models //后续全局自动分配默认状态 public TaskAllocateDefaultState FollowGlobalVisitAutoAssignDefaultState { get; set; } = TaskAllocateDefaultState.Allocated; + + /// + /// 阅片信息签名时间 + /// + public DateTime? ReadingInfoSignTime { get; set; } + #endregion ///