阅片期查询修改
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
he 2025-09-05 14:21:50 +08:00
parent a5a2dcdac9
commit 8b1626e292
1 changed files with 32 additions and 30 deletions

View File

@ -499,8 +499,10 @@ namespace IRaCIS.Core.Application.Service
#region 方式二 #region 方式二
var subjectVisitQuery = _subjectVisitRepository.Where(t => t.TrialId == inQuery.TrialId).Where(t => t.IsLostVisit == false) var subjectVisitQuery = _subjectVisitRepository.Where(t => t.TrialId == inQuery.TrialId)
.Where(sv => sv.Subject.FinalSubjectVisitId == null ? true : sv.VisitNum < sv.Subject.LatestSubjectVisit.VisitNum).Select(sv => new ReadModuleView() // .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, Id = sv.Id,
CreateTime = sv.CreateTime, CreateTime = sv.CreateTime,
@ -516,8 +518,8 @@ namespace IRaCIS.Core.Application.Service
IsVisit = true, IsVisit = true,
Name = sv.VisitName, Name = sv.VisitName,
TrialSiteId = sv.TrialSiteId, //TrialSiteId = sv.TrialSiteId,
TrialSiteCode = sv.TrialSite.TrialSiteCode, //TrialSiteCode = sv.TrialSite.TrialSiteCode,
TrialId = sv.TrialId, TrialId = sv.TrialId,
VisitNum = sv.VisitNum, VisitNum = sv.VisitNum,
@ -549,19 +551,19 @@ namespace IRaCIS.Core.Application.Service
//是否是截止访视? //是否是截止访视?
IsCanChangeCutOffVisit = false, IsCanChangeCutOffVisit = false,
//需要签名数量计算 基线包含subject+访视级别的 ////需要签名数量计算 基线包含subject+访视级别的
NeedSignClinicalDataCount = sv.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(t => t.TrialClinicalDataSet)).Where(t => t.IsConfirm == true). //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() // 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) // + (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), // .Any(t => t.ClinicalDataLevel == ClinicalLevel.Study) ? 1 : 0),
//签名的数量 ////签名的数量
SignClinicalDataCount = sv.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Study && //SignClinicalDataCount = sv.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.ClinicalDataLevel != ClinicalLevel.Study &&
t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count() // t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count()
+ // +
(sv.SubmitState == SubmitStateEnum.Submitted && sv.Trial.ClinicalDataTrialSetList // (sv.SubmitState == SubmitStateEnum.Submitted && sv.Trial.ClinicalDataTrialSetList
.Any(t => t.ClinicalDataLevel == ClinicalLevel.Study && t.TrialClinicalDataSetCriteriaList.Any(u => u.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)) ? 1 : 0), // .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, IsVisit = false,
Name = rm.ModuleName, Name = rm.ModuleName,
TrialSiteId = rm.Subject.TrialSiteId, //TrialSiteId = rm.Subject.TrialSiteId,
TrialSiteCode = rm.Subject.TrialSite.TrialSiteCode, //TrialSiteCode = rm.Subject.TrialSite.TrialSiteCode,
TrialId = rm.TrialId, TrialId = rm.TrialId,
VisitNum = rm.SubjectVisit.VisitNum, VisitNum = rm.SubjectVisit.VisitNum,
@ -631,21 +633,21 @@ namespace IRaCIS.Core.Application.Service
////需要签名数量计算 基线包含subject+访视级别的 //////需要签名数量计算 基线包含subject+访视级别的
NeedSignClinicalDataCount = rm.Trial.TrialReadingCriterionList.Where(t => t.Id == inQuery.TrialReadingCriterionId).SelectMany(u => u.TrialClinicalDataSetCriterionList.Select(z => z.TrialClinicalDataSet)) //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() // .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)) // (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 && // .Where(t => t.IsConfirm == true && t.UploadRole == UploadRole.CRC &&
(rm.ReadingSetType == ReadingSetType.ImageReading ? t.ClinicalDataLevel == ClinicalLevel.ImageRead : t.ClinicalDataLevel == ClinicalLevel.OncologyRead)).Any() ? 1 : 0) // (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 && //SignClinicalDataCount = rm.ReadingClinicalDataList.Where(t => t.IsSign == true && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM &&
t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count() //t.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t => t.TrialReadingCriterionId == inQuery.TrialReadingCriterionId)).Count()
+ // +
(rm.IsPMConfirm ? 1 : 0), // (rm.IsPMConfirm ? 1 : 0),
//标准名 应该是可以不查询的,只要保证逻辑正确 //标准名 应该是可以不查询的,只要保证逻辑正确