diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 2a2b795b1..ef7a47d5c 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -925,7 +925,7 @@ namespace IRaCIS.Core.Application.Image.QA return new GetNextIQCQualityOutDto() { }; break; case TrialQCProcess.SingleAudit: - visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId!= _userInfo.Id&&(x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))).Include(x => x.Subject).ToListAsync(); + visitList = await _subjectVisitRepository.Where(x => x.SubmitState == SubmitStateEnum.Submitted && x.TrialId == inDto.TrialId && x.PreliminaryAuditUserId!= _userInfo.Id&&(x.CurrentActionUserId == _userInfo.Id || (x.AuditState != AuditStateEnum.PrimaryQCPassed && !x.IsTake))).Include(x => x.Subject).ToListAsync(); subjectVisit = visitList.Where(x => x.SubjectId == inDto.SubjectId).OrderBy(x=>x.VisitNum).FirstOrDefault(); if(subjectVisit!=null) @@ -952,7 +952,7 @@ namespace IRaCIS.Core.Application.Image.QA break; case TrialQCProcess.DoubleAudit: - visitList = await _subjectVisitRepository.Where(x => x.SubmitState != SubmitStateEnum.None && x.TrialId == inDto.TrialId && + visitList = await _subjectVisitRepository.Where(x => x.SubmitState == SubmitStateEnum.Submitted && x.TrialId == inDto.TrialId && ((x.CurrentActionUserId == _userInfo.Id)||(!x.IsTake&& x.AuditState != AuditStateEnum.QCPassed&& (x.PreliminaryAuditUserId != _userInfo.Id))) ).Include(x => x.Subject).ToListAsync(); if (subjectVisit != null) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs index 436fb0362..a4ad78707 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs @@ -149,6 +149,9 @@ namespace IRaCIS.Application.Services }).ToListAsync(); var oncologyReadingQuestions = await _readingOncologyTaskInfoRepository.Where(x => x.OncologyTaskId == inDto.VisitTaskId).ToListAsync(); + // 上一次肿瘤学阅片 + + oncologyVisits.ForEach(x => { diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index 3c8c3b8e1..b7391d8a3 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -2004,12 +2004,12 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate /// public async Task GetPET5PS(ReadingCalculateDto inDto) { - //if (inDto.IsBaseLine) - //{ - // return SpleenAssessment.Stabilization.GetEnumInt(); - //} - Console.WriteLine("计算了PET5PS,当前接口" + _userInfo.RequestUrl); - if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt())) + //if (inDto.IsBaseLine) + //{ + // return SpleenAssessment.Stabilization.GetEnumInt(); + //} + + if (inDto.QuestionInfo.Any(x => x.QuestionType == QuestionType.ExistPET && x.Answer == ReadingYesOrNo.No.GetEnumInt())) { return PET5PSScore.NE.GetEnumInt(); } @@ -2040,31 +2040,34 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } // 本访视病灶的 max SUVmax(所有病灶中最大的)> 2 * 肝脏血池SUVmax - else if (maxSUVmax >2* LiverSUVmax) + else if (maxSUVmax >2* LiverSUVmax&& LiverSUVmax != 0m) { result = PET5PSScore.Five; } //本访视病灶的SUVmax(所有病灶中最大的)>肝脏血池SUVmax - else if (maxSUVmax > LiverSUVmax) + else if (maxSUVmax > LiverSUVmax && LiverSUVmax != 0) { result = PET5PSScore.Four; } //纵隔血池SUVmax<本访视点病灶的max SUVmax(所有病灶中最大的)≤1*肝脏血池SUVmax - else if (MediastinumSUVmax < maxSUVmax&& maxSUVmax <= LiverSUVmax) + else if (MediastinumSUVmax < maxSUVmax&& maxSUVmax <= LiverSUVmax&& MediastinumSUVmax != 0) { result = PET5PSScore.Three; } //本访视点病灶的SUVmax(所有病灶中最大的)<纵隔血池SUVmax - else if (maxSUVmax < MediastinumSUVmax) + else if (maxSUVmax < MediastinumSUVmax && maxSUVmax != 0) { result = PET5PSScore.Two; } //无需标记,自主选择 else { - return string.Empty; + Console.WriteLine("计算了PET5PS,当前接口" + _userInfo.RequestUrl + "当前结果"); + return string.Empty; } - return result.GetEnumInt(); + + Console.WriteLine("计算了PET5PS,当前接口" + _userInfo.RequestUrl+"当前结果"+ result.GetEnumInt()); + return result.GetEnumInt(); } #endregion