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