diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 36b4996e2..bb1d7f69c 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -3859,6 +3859,12 @@ 仲裁规则 + + + 阅片信息签名时间 + + + 阅片模式 @@ -3961,6 +3967,27 @@ + 标准 + + + + + 阅片信息签名时间 + + + + + 修约小数点 + + + + + 项目标准Id + + + + + 项目分页 仲裁阅片 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs index bc50df039..3e8de2292 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs @@ -375,6 +375,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// 标准ID /// public Guid CriterionId { get; set; } + + + public Guid? ReadingCriterionPageId { get; set; } } public class GetTrialCriterionOtherQuestionInDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index cc01522d2..c0f766df0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -693,7 +693,7 @@ namespace IRaCIS.Application.Services } } - if (await _readingQuestionTrialRepository.AnyAsync(x => x.Id != indto.Id && x.ShowOrder == indto.ShowOrder&&x.TrialId==indto.TrialId&&x.ReadingQuestionCriterionTrialId==indto.ReadingQuestionCriterionTrialId)) + if (await _readingQuestionTrialRepository.AnyAsync(x => x.Id != indto.Id && x.ShowOrder == indto.ShowOrder&&x.TrialId==indto.TrialId&&x.ReadingQuestionCriterionTrialId==indto.ReadingQuestionCriterionTrialId&&x.ReadingCriterionPageId==indto.ReadingCriterionPageId)) { throw new BusinessValidationFailedException("问题编号重复"); } @@ -770,6 +770,7 @@ namespace IRaCIS.Application.Services public async Task> GetTrialGroupNameList(GetTrialGroupNameListInDto inDto) { var result = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.CriterionId && x.Type == "group") + .WhereIf(inDto.ReadingCriterionPageId!=null,x=>x.ReadingCriterionPageId==inDto.ReadingCriterionPageId) .Select(x => x.GroupName).ToListAsync(); return result; diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs index b50072ee5..36af9c449 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs @@ -328,6 +328,18 @@ namespace IRaCIS.Core.Application.Contracts public int ArbitrationRule { get; set; } = 2; + /// + /// 阅片信息签名时间 + /// + public DateTime? ReadingInfoSignTime { get; set; } + + public bool IsSign { + get { + return this.ReadingInfoSignTime != null; + } + } + + ///// ///// 全局阅片 @@ -361,9 +373,9 @@ namespace IRaCIS.Core.Application.Contracts - - + + } public class ReadingCriterionPageDto @@ -536,6 +548,20 @@ namespace IRaCIS.Core.Application.Contracts public class GetTrialReadingCriterionInfoOutDto { + + /// + /// 阅片信息签名时间 + /// + public DateTime? ReadingInfoSignTime { get; set; } + + public bool IsSign + { + get + { + return this.ReadingInfoSignTime != null; + } + } + /// /// 修约小数点 /// diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index a6b6740e8..cdd9ebc2c 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -119,7 +119,7 @@ namespace IRaCIS.Core.Application GetTrialReadingCriterionInfoOutDto result = new GetTrialReadingCriterionInfoOutDto(); result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstOrDefaultAsync(); - + result.ReadingInfoSignTime = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x=>x.ReadingInfoSignTime).FirstOrDefaultAsync(); if (trialCriterion != null) { result.DigitPlaces = trialCriterion.DigitPlaces;