@@ -129,9 +129,9 @@ namespace IRaCIS.Application.Contracts
|
||||
|
||||
public string LatestBlindName { get; set; } = string.Empty;
|
||||
|
||||
public bool IsMissingImages => MissingSubmmitCount > 0;
|
||||
public bool IsMissingImages { get; set; }
|
||||
|
||||
public Guid LatestSubmitSubjectVisitId { get; set; }
|
||||
public Guid LatestSubmitSubjectVisitId { get; set; }
|
||||
|
||||
|
||||
|
||||
@@ -149,7 +149,9 @@ namespace IRaCIS.Application.Contracts
|
||||
|
||||
public string Sex { get; set; } = string.Empty;
|
||||
|
||||
public Guid? SiteId { get; set; }
|
||||
|
||||
public bool? IsMissingImages { get; set; }
|
||||
public Guid? SiteId { get; set; }
|
||||
public SubjectStatus? Status { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -121,10 +121,12 @@ namespace IRaCIS.Application.Services
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(param.Name), t => t.ShortName.Contains(param.Name))
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(param.Sex), t => t.Sex.Contains(param.Sex))
|
||||
.WhereIf(param.Status != null, t => t.Status == param.Status)
|
||||
.WhereIf(param.SiteId != null, t => t.SiteId == param.SiteId)
|
||||
|
||||
.WhereIf(param.SiteId != null, t => t.SiteId == param.SiteId)
|
||||
// CRC 只负责他管理site的受试者
|
||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
|
||||
.ProjectTo<SubjectQueryView>(_mapper.ConfigurationProvider);
|
||||
.ProjectTo<SubjectQueryView>(_mapper.ConfigurationProvider)
|
||||
.WhereIf(param.IsMissingImages != null, t => t.IsMissingImages == param.IsMissingImages);
|
||||
|
||||
|
||||
var pageList = await subjectQuery.ToPagedListAsync(param.PageIndex, param.PageSize, param.SortField == string.Empty ? "Code" : param.SortField, param.Asc);
|
||||
|
||||
@@ -66,7 +66,8 @@ namespace IRaCIS.Core.Application.Service
|
||||
|
||||
|
||||
.ForMember(d => d.MissingSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.VisitNum <s.LatestSubjectVisit.VisitNum && t.SubmitState != SubmitStateEnum.Submitted && t.IsLostVisit == false)))
|
||||
.ForMember(d => d.InPlanVisitSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.SubmitState == SubmitStateEnum.Submitted && t.InPlan == true)))
|
||||
.ForMember(d => d.IsMissingImages, u => u.MapFrom(s => s.SubjectVisitList.Any(t => t.VisitNum < s.LatestSubjectVisit.VisitNum && t.SubmitState != SubmitStateEnum.Submitted && t.IsLostVisit == false)))
|
||||
.ForMember(d => d.InPlanVisitSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.SubmitState == SubmitStateEnum.Submitted && t.InPlan == true)))
|
||||
.ForMember(d => d.LostVisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.IsLostVisit)))
|
||||
.ForMember(d => d.InPlanVisitSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.SubmitState == SubmitStateEnum.Submitted && t.InPlan == true)))
|
||||
.ForMember(d => d.OutPlanVisitSubmmitCount, u => u.MapFrom(s => s.SubjectVisitList.Count(t => t.SubmitState == SubmitStateEnum.Submitted && t.InPlan == false)));
|
||||
|
||||
Reference in New Issue
Block a user