From 8b1626e29202cc82899a420a459bea98f5961cc6 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Fri, 5 Sep 2025 14:21:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=85=E7=89=87=E6=9C=9F=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReadingPeriod/ReadModuleService.cs | 62 ++++++++++--------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs index 151a0e22f..20f6f2ba8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingPeriod/ReadModuleService.cs @@ -499,8 +499,10 @@ namespace IRaCIS.Core.Application.Service #region 方式二 - var subjectVisitQuery = _subjectVisitRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t => t.IsLostVisit == false) - .Where(sv => sv.Subject.FinalSubjectVisitId == null ? true : sv.VisitNum < sv.Subject.LatestSubjectVisit.VisitNum).Select(sv => new ReadModuleView() + var subjectVisitQuery = _subjectVisitRepository.Where(t => t.TrialId == inQuery.TrialId) + // .Where(t => t.IsLostVisit == false) + //.Where(sv => sv.Subject.FinalSubjectVisitId == null ? true : sv.VisitNum < sv.Subject.LatestSubjectVisit.VisitNum) + .Select(sv => new ReadModuleView() { Id = sv.Id, CreateTime = sv.CreateTime, @@ -516,8 +518,8 @@ namespace IRaCIS.Core.Application.Service IsVisit = true, Name = sv.VisitName, - TrialSiteId = sv.TrialSiteId, - TrialSiteCode = sv.TrialSite.TrialSiteCode, + //TrialSiteId = sv.TrialSiteId, + //TrialSiteCode = sv.TrialSite.TrialSiteCode, TrialId = sv.TrialId, VisitNum = sv.VisitNum, @@ -549,19 +551,19 @@ namespace IRaCIS.Core.Application.Service //是否是截止访视? IsCanChangeCutOffVisit = false, - //需要签名数量计算 基线包含subject+访视级别的 - NeedSignClinicalDataCount = sv.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(t => t.TrialClinicalDataSet)).Where(t => t.IsConfirm == true). - Where(t => sv.IsBaseLine ? t.ClinicalDataLevel <= ClinicalLevel.SubjectVisit : t.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Count() - + (sv.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(t => t.TrialClinicalDataSet)).Where(t => t.IsConfirm == true) - .Any(t => t.ClinicalDataLevel == ClinicalLevel.Study) ? 1 : 0), + ////需要签名数量计算 基线包含subject+访视级别的 + //NeedSignClinicalDataCount = sv.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(t => t.TrialClinicalDataSet)).Where(t => t.IsConfirm == true). + // Where(t => sv.IsBaseLine ? t.ClinicalDataLevel <= ClinicalLevel.SubjectVisit : t.ClinicalDataLevel == ClinicalLevel.SubjectVisit).Count() + // + (sv.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(t => t.TrialClinicalDataSet)).Where(t => t.IsConfirm == true) + // .Any(t => t.ClinicalDataLevel == ClinicalLevel.Study) ? 1 : 0), - //签名的数量 + ////签名的数量 - SignClinicalDataCount = sv.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Study && - t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count() - + - (sv.SubmitState == SubmitStateEnum.Submitted && sv.Trial.ClinicalDataTrialSetList - .Any(t => t.ClinicalDataLevel == ClinicalLevel.Study && t.TrialClinicalDataSetCriteriaList.Any(u => u.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)) ? 1 : 0), + //SignClinicalDataCount = sv.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Study && + // t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count() + // + + // (sv.SubmitState == SubmitStateEnum.Submitted && sv.Trial.ClinicalDataTrialSetList + // .Any(t => t.ClinicalDataLevel == ClinicalLevel.Study && t.TrialClinicalDataSetCriteriaList.Any(u => u.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)) ? 1 : 0), @@ -590,8 +592,8 @@ namespace IRaCIS.Core.Application.Service IsVisit = false, Name = rm.ModuleName, - TrialSiteId = rm.Subject.TrialSiteId, - TrialSiteCode = rm.Subject.TrialSite.TrialSiteCode, + //TrialSiteId = rm.Subject.TrialSiteId, + //TrialSiteCode = rm.Subject.TrialSite.TrialSiteCode, TrialId = rm.TrialId, VisitNum = rm.SubjectVisit.VisitNum, @@ -631,21 +633,21 @@ namespace IRaCIS.Core.Application.Service - ////需要签名数量计算 基线包含subject+访视级别的 - NeedSignClinicalDataCount = rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet)) - .Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.PM && (rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Count() - + - (rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet)) - .Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.CRC && - (rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Any() ? 1 : 0) - , + //////需要签名数量计算 基线包含subject+访视级别的 + //NeedSignClinicalDataCount = rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet)) + // .Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.PM && (rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Count() + // + + // (rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet)) + // .Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.CRC && + // (rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Any() ? 1 : 0) + // , - //签名的数量 + ////签名的数量 - SignClinicalDataCount = rm.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM && - t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count() - + - (rm.IsPMConfirm ? 1 : 0), + //SignClinicalDataCount = rm.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM && + //t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count() + // + + // (rm.IsPMConfirm ? 1 : 0), //标准名 应该是可以不查询的,只要保证逻辑正确