diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 41f9a834a..2a8180e03 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -77,14 +77,7 @@ namespace IRaCIS.Application.Services .WhereIf(indto.Id != null, x => x.Id != indto.Id) .Where(x => x.ClinicalDataTrialSetId == indto.ClinicalDataTrialSetId && x.ReadingId == indto.ReadingId); - if (await _subjectVisitRepository.AnyAsync(x => x.Id == indto.ReadingId)) - { - indto.IsVisit = true; - } - else - { - indto.IsVisit = false; - } + if (await existsQuery.AnyAsync()) @@ -92,6 +85,10 @@ namespace IRaCIS.Application.Services return ResponseOutput.NotOk("存在同类型的临床数据"); } var clinicalDataTrialSet = (await _clinicalDataTrialSetRepository.Where(x => x.Id == indto.ClinicalDataTrialSetId).FirstOrDefaultAsync()).IfNullThrowException(); + + //subject 或者访视级别的 都是在访视传 + indto.IsVisit = clinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject || clinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit; + if (indto.Id == null) { var entity = _mapper.Map(indto); @@ -418,7 +415,7 @@ namespace IRaCIS.Application.Services } ReadModule readModule = null; - if (inDto.ReadingId != null) + if (inDto.IsVisit ==false) { readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync(); } @@ -519,13 +516,14 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task<(List, object)> GetReadingClinicalDataList(GetReadingClinicalDataListIndto inDto) { - GetTrialClinicalDataSelectIndto getTrialClinicalDataSelectIndto = new GetTrialClinicalDataSelectIndto() + var getTrialClinicalDataSelectIndto = new GetTrialClinicalDataSelectIndto() { ReadingId = inDto.ReadingId, TrialId = inDto.TrialId, IsBaseLine = inDto.IsBaseLine, SubjectId = inDto.SubjectId, IsVisit = inDto.IsVisit, + TrialReadingCriterionId=inDto.TrialReadingCriterionId }; var clinicalDataList = await this.GetTrialClinicalDataSelect(getTrialClinicalDataSelectIndto);