修改访视查询

This commit is contained in:
2022-04-27 16:48:47 +08:00
parent f679eba8fb
commit 35a9fe2878
4 changed files with 28 additions and 18 deletions
@@ -1,5 +1,4 @@
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure.Extention;
using System.ComponentModel.DataAnnotations;
namespace IRaCIS.Core.Application.Contracts
@@ -136,7 +135,6 @@ namespace IRaCIS.Core.Application.Contracts
public DateTime? SubmitTime { get; set; }
public AuditStateEnum AuditState { get; set; }
public ChallengeStateEnum ChallengeState { get; set; }
public int? DicomStudyCount { get; set; }
public int? NoneDicomStudyCount { get; set; }
@@ -31,16 +31,20 @@ namespace IRaCIS.Core.Application.Image.QA
var inPlanArray = VisitPlanArray.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray();
var isSelectOutPlan = VisitPlanArray.Any(t => t.Contains('.'));
if (isSelectOutPlan)
{
svExpression = svExpression.And(t => t.InPlan == false);
}
if (inPlanArray.Length > 0)
{
svExpression.Or(t => inPlanArray.Contains(t.VisitNum));
svExpression = svExpression.And(t => inPlanArray.Contains(t.VisitNum));
}
if (isSelectOutPlan)
{
svExpression = svExpression.Or(t => t.InPlan == false);
}
}
return svExpression;
@@ -58,16 +62,19 @@ namespace IRaCIS.Core.Application.Image.QA
var inPlanArray = VisitPlanArray.Where(t => !t.Contains('.')).Select(t => decimal.Parse(t)).ToArray();
var isSelectOutPlan = VisitPlanArray.Any(t => t.Contains('.'));
if (isSelectOutPlan)
{
svExpression = svExpression.And(t => t.SubjectVisit.InPlan == false);
}
if (inPlanArray.Length > 0)
{
svExpression.Or(t => inPlanArray.Contains(t.SubjectVisit.VisitNum));
svExpression = svExpression.And(t => inPlanArray.Contains(t.SubjectVisit.VisitNum));
}
if (isSelectOutPlan)
{
svExpression = svExpression.Or(t => t.SubjectVisit.InPlan == false);
}
}
return svExpression;
@@ -63,8 +63,7 @@ namespace IRaCIS.Application.Services
.WhereIf(multiModalityIdSelectCount > 0, t => t.TrialDicList.Count(t => t.KeyName == StaticData.Modality) == multiModalityIdSelectCount)
.WhereIf(multiCriteriaSelectCount > 0, t => t.TrialDicList.Count(t => t.KeyName == StaticData.Criterion) == multiCriteriaSelectCount)
.WhereIf(multiReviewTypeSelectCount > 0, t => t.TrialDicList.Count(t => t.KeyName == StaticData.ReviewType) == multiReviewTypeSelectCount)
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id))
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.ProjectManager && _userInfo.UserTypeEnumInt != (int)UserTypeEnum.APM, t => t.IsDeleted == false)
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id) && t.IsDeleted == false)
.ProjectTo<TrialDetailDTO>(_mapper.ConfigurationProvider, new { userTypeEnumInt = _userInfo.UserTypeEnumInt, userId = _userInfo.Id });
return await query.ToPagedListAsync(searchParam.PageIndex, searchParam.PageSize, string.IsNullOrWhiteSpace(searchParam.SortField) ? "CreateTime" : searchParam.SortField, searchParam.Asc);
@@ -75,7 +74,7 @@ namespace IRaCIS.Application.Services
//过滤废除的项目
public async Task<List<TrialSelectDTO>> GetTrialSelect()
{
return await _trialRepository.AsQueryable()
return await _trialRepository.AsQueryable().IgnoreQueryFilters()
.WhereIf(_userInfo.UserTypeEnumInt != (int)UserTypeEnum.SuperAdmin, t => t.TrialUserList.Any(t => t.UserId == _userInfo.Id) && t.IsDeleted == false)
.ProjectTo<TrialSelectDTO>(_mapper.ConfigurationProvider).ToListAsync();