diff --git a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs index 549a12392..f8a72c741 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs @@ -197,7 +197,17 @@ namespace IRaCIS.Application.Contracts public string OptUserName { get; set; } = string.Empty; public DateTime? OptTime { get; set; } public string? OptTimeStr => OptTime?.ToString("yyyy-MM-dd HH:mm:ss"); + + //SPM 需要看到 + public DateTime? SubmmitTime { get; set; } + public string SubmmitUserName { get; set; } = string.Empty; + public string BlindName { get; set; } + public string BlindNameCN { get; set; } = string.Empty; } + + + + public class DoctorStateModelDTO { public Guid DoctorId { get; set; } @@ -659,6 +669,8 @@ namespace IRaCIS.Application.Contracts public bool IsVirtual { get; set; } public string BlindName { get; set; } = String.Empty; + public string BlindNameCN { get; set; } = string.Empty; + public string BlindPublications { get; set; } } #endregion diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs index 377e82878..ed4c34311 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorListService.cs @@ -149,6 +149,8 @@ namespace IRaCIS.Application.Services .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + doctorPageList.CurrentPageData.ToList().ForEach(u => { var opt = enrollStateList.FirstOrDefault(t => t.DoctorId == u.Id); @@ -160,12 +162,70 @@ namespace IRaCIS.Application.Services } }); + if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM) + { + //SPM 要看到提交的时间 提交人 + var enrollCommitList = await _repository.Where(x => x.TrialId == param.TrialId) + //提交CRO 以及下载简历列表 + .WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO) + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + + doctorPageList.CurrentPageData.ToList().ForEach(u => + { + var opt = enrollCommitList.FirstOrDefault(t => t.DoctorId == u.Id); + if (opt != null) + { + + u.SubmmitTime = opt.OptTime; + u.SubmmitUserName = opt.OptUserName; + } + }); + + } + return doctorPageList; } + + //public async Task> GetSPMSubmissionOrApprovalReviewerList( + // ReviewerSubmissionQueryDTO param) + //{ + // var doctorQuery = _repository.Where(x => x.TrialId == param.TrialId) + // //提交CRO 以及下载简历列表 + // .WhereIf(param.IntoGroupSearchState == 1, t => t.EnrollStatus >= (int)EnrollStatus.HasApplyDownloadResume) + // //CRO确认列表 状态为 已提交CRO + // .WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus >= (int)EnrollStatus.HasCommittedToCRO) + // .ProjectTo(_mapper.ConfigurationProvider); + + // var doctorPageList = await doctorQuery.ToPagedListAsync(param.PageIndex, param.PageSize, param.SortField == "" ? "Code" : param.SortField, param.Asc); + + + // var enrollStateList = await _repository.Where(x => x.TrialId == param.TrialId) + // //提交CRO 以及下载简历列表 + // .WhereIf(param.IntoGroupSearchState == 1, t => t.EnrollStatus == (int)EnrollStatus.HasCommittedToCRO) + // //CRO确认列表 状态为 已提交CRO + // .WhereIf(param.IntoGroupSearchState == 4, t => t.EnrollStatus == (int)EnrollStatus.InviteIntoGroup) + // .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + + // doctorPageList.CurrentPageData.ToList().ForEach(u => + // { + // var opt = enrollStateList.FirstOrDefault(t => t.DoctorId == u.Id); + // if (opt != null) + // { + // u.DoctorTrialState = param.IntoGroupSearchState == 1 ? (int)EnrollStatus.HasCommittedToCRO : (int)EnrollStatus.InviteIntoGroup; + // u.OptTime = opt.OptTime; + // u.OptUserName = opt.OptUserName; + // } + // }); + + // return doctorPageList; + //} + /// /// 获取项目下医生入组状态列表[Confirmation] ///