修改查询条件
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
hang 2025-04-09 17:07:18 +08:00
parent 04be8cf642
commit 4fdb0737fc
2 changed files with 36 additions and 1 deletions

View File

@ -121,6 +121,41 @@ namespace IRaCIS.Core.Application.Service
}
return svExpression;
}
public static Expression<Func<SubjectVisitImageBackRecord, bool>> GetSubjectVisitImageBackRecordFilter(string[]? VisitPlanArray)
{
Expression<Func<SubjectVisitImageBackRecord, bool>> svExpression = x => true;
bool isNeedVisitSearch = VisitPlanArray != null && VisitPlanArray?.Length > 0;
if (isNeedVisitSearch)
{
var inPlanArray = VisitPlanArray!.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray();
var isSelectOutPlan = VisitPlanArray!.Any(t => t.Contains('.'));
if (inPlanArray.Length > 0)
{
svExpression = svExpression.And(t => inPlanArray.Contains(t.SubjectVisit.VisitNum));
if (isSelectOutPlan)
{
svExpression = svExpression.Or(t => t.SubjectVisit.InPlan == false);
}
}
else if (isSelectOutPlan)
{
svExpression = t => t.SubjectVisit.InPlan == false;
}
}
return svExpression;

View File

@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Image.QA
[HttpPost]
public async Task<IResponseOutput<PageOutput<ImageBackViewModel>>> GetImageBackList(ImageBackQueryDto inQuery)
{
var svExpression = QCCommon.GetSubjectVisitFilter(inQuery.VisitPlanArray);
var svExpression = QCCommon.GetSubjectVisitImageBackRecordFilter(inQuery.VisitPlanArray);
var query = _subjectVisitImageBackRecordReposiotry.Where(t => t.SubjectVisit.TrialId == inQuery.TrialId)
.WhereIf(inQuery.TrialSiteId != null, t => t.SubjectVisit.TrialSiteId == inQuery.TrialSiteId)