diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs index 98022546..1cd6372e 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs @@ -428,7 +428,7 @@ namespace IRaCIS.Core.Application.Service public DateTime GetSuggessFinishTime(bool isInOrder, UrgentType urgentType ) { - var datetime= new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day + 7, 22, 0, 0); + var datetime= new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day , 22, 0, 0).AddDays(7); //switch (urgentType) //{ // case UrgentType.NotUrget: diff --git a/IRaCIS.Core.Application/Service/Management/UserTypeService.cs b/IRaCIS.Core.Application/Service/Management/UserTypeService.cs index 8bc59d51..65099885 100644 --- a/IRaCIS.Core.Application/Service/Management/UserTypeService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserTypeService.cs @@ -108,7 +108,9 @@ namespace IRaCIS.Core.Application.Contracts if (userTypeSelectEnum == UserTypeSelectEnum.InnerUser) { - userTypeEnums = new List() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA ,UserTypeEnum.MW}; + //userTypeEnums = new List() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA ,UserTypeEnum.MW}; + + userTypeEnums = new List() { UserTypeEnum.IndependentReviewer, UserTypeEnum.ClinicalResearchCoordinator }; if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin) { diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 02ba57fe..bf8659ec 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -8,6 +8,7 @@ using IRaCIS.Core.Application.Service; using Microsoft.AspNetCore.Authorization; using IRaCIS.Core.Application.Auth; +using IRaCIS.Core.Domain.Models; namespace IRaCIS.Application.Services { @@ -157,12 +158,39 @@ namespace IRaCIS.Application.Services var trialUsers = await _trialUseRepository.AddRangeAsync(addArray); + + var trialReadingCriterionId = _repository.Where(t => t.CriterionType == CriterionType.RECIST1Pointt1 && t.TrialId == addArray.First().TrialId).Select(t => t.Id).FirstOrDefault(); + foreach (var item in trialUsers) { item.JoinTime = DateTime.Now; + + + #region 添加IR + + + var trialId = item.TrialId; + var userId=item.UserId; + if (await _repository.AnyAsync(t => t.Id == item.UserId && t.UserTypeRole.UserTypeEnum == UserTypeEnum.IndependentReviewer)) + { + + var enroll = await _repository.AddAsync(new Enroll() { TrialId=trialId,DoctorUserId=userId,DoctorId= userId,EnrollStatus=EnrollStatus.ConfirmIntoGroup }); + + await _repository.AddAsync(new EnrollReadingCategory() { EnrollId = enroll.Id, ReadingCategory = ReadingCategory.Visit, TrialReadingCriterionId = trialReadingCriterionId }); + await _repository.AddAsync(new EnrollReadingCategory() { EnrollId = enroll.Id, ReadingCategory = ReadingCategory.Global, TrialReadingCriterionId = trialReadingCriterionId }); + + //if (!await _repository.AnyAsync(t => t.TrialId == trialId && t.DoctorUserId == userId && t.EnrollId == intoGroupItem.Id, true)) + { + await _repository.AddAsync(new TaskAllocationRule() { TrialId = trialId, DoctorUserId = userId, EnrollId = enroll.Id ,IsEnable=true}); + } + } + + #endregion } + + var success = await _repository.SaveChangesAsync(); return ResponseOutput.Result(success); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 56a14621..e2142ec4 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -192,10 +192,9 @@ namespace IRaCIS.Application.Services trial.IsTrialBasicLogicConfirmed = true; trial.IsTrialUrgentConfirmed = true; + trial.VisitPlanConfirmed = true; - - - + trial.TrialStatusStr = StaticData.TrialState.TrialOngoing; #endregion @@ -234,9 +233,6 @@ namespace IRaCIS.Application.Services x.IsReadingShowPreviousResults = true; x.DigitPlaces = 1; x.IseCRFShowInDicomReading = false; - - - }); @@ -250,11 +246,11 @@ namespace IRaCIS.Application.Services await _repository.AddAsync(new TrialPaymentPrice() { TrialId = trial.Id }); //添加访视 - await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 0, BlindName = "B" + 0.ToString("D3"), VisitDay = 0, VisitName = "Baseline", IsBaseLine = true }); - await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 1, BlindName = "B" + 10.ToString("D3"), VisitDay = 30, VisitName = "Visit 1" }); - await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 2, BlindName = "B" + 20.ToString("D3"), VisitDay = 60, VisitName = "Visit 2" }); - await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 3, BlindName = "B" + 30.ToString("D3"), VisitDay = 90, VisitName = "Visit 2" }); - await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 4, BlindName = "B" + 40.ToString("D3"), VisitDay = 90, VisitName = "Visit 2" }); + await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 0, BlindName = "B" + 0.ToString("D3"), VisitDay = 0, VisitName = "Baseline", IsBaseLine = true,IsConfirmed=true,IsHaveFirstConfirmed=true ,VisitWindowLeft=-3,VisitWindowRight=28 }); + await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 1, BlindName = "B" + 10.ToString("D3"), VisitDay = 30, VisitName = "Visit 1", IsConfirmed = true, IsHaveFirstConfirmed = true, VisitWindowLeft = -3, VisitWindowRight = 3 }); + await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 2, BlindName = "B" + 20.ToString("D3"), VisitDay = 60, VisitName = "Visit 2", IsConfirmed = true, IsHaveFirstConfirmed = true, VisitWindowLeft = -3, VisitWindowRight = 3 }); + await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 3, BlindName = "B" + 30.ToString("D3"), VisitDay = 90, VisitName = "Visit 3", IsConfirmed = true, IsHaveFirstConfirmed = true, VisitWindowLeft = -3, VisitWindowRight = 3 }); + await _repository.AddAsync(new VisitStage { TrialId = trial.Id, VisitNum = 4, BlindName = "B" + 40.ToString("D3"), VisitDay = 120, VisitName = "Visit 4", IsConfirmed = true, IsHaveFirstConfirmed = true, VisitWindowLeft = -3, VisitWindowRight = 3 }); @@ -466,135 +462,134 @@ namespace IRaCIS.Application.Services - var success = await _repository.BatchDeleteAsync(o => o.SubjectVisit.TrialId == trialId) || - await _repository.BatchDeleteAsync(o => o.TrialId == trialId) || - await _repository.BatchDeleteAsync(o => o.TrialId == trialId) || - - - await _repository.BatchDeleteAsync(o => o.TrialReadingCriterion.TrialId == trialId) || - await _repository.BatchDeleteAsync(o => o.TrialReadingCriterion.TrialId == trialId) || + var success = await _repository.BatchDeleteAsync(o => o.SubjectVisit.TrialId == trialId); + await _repository.BatchDeleteAsync(o => o.TrialId == trialId); + await _repository.BatchDeleteAsync(o => o.TrialId == trialId); - await _repository.BatchDeleteAsync(o => o.TrialId == trialId) || + await _repository.BatchDeleteAsync(o => o.TrialReadingCriterion.TrialId == trialId); + await _repository.BatchDeleteAsync(o => o.TrialReadingCriterion.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.Enroll.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(o => o.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.NoneDicomStudy.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.Enroll.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.NoneDicomStudy.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.SubjectVisit.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.SubjectVisit.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.SubjectVisit.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.SubjectVisit.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.SubjectVisit.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.SubjectVisit.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.QCChallenge.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.QCChallenge.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.ReadingClinicalData.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.ReadingClinicalData.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TaskMedicalReview.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TaskMedicalReview.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TaskMedicalReview.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TaskMedicalReview.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.VisitTask.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.ReadingPeriodSet.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.VisitTask.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.ReadingPeriodSet.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.VisitTask.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.VisitTask.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.Subject.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.Subject.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.InfluenceTask.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.InfluenceTask.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(o => o.Id == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialReadingCriterion.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialReadingCriterion.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialDocument.TrialId == trialId) || + await _repository.BatchDeleteAsync(o => o.Id == trialId); + await _repository.BatchDeleteAsync(t => t.TrialReadingCriterion.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialReadingCriterion.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialDocument.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialDocument.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialDocument.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialEmailNoticeConfig.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialEmailNoticeConfig.TrialId == trialId); - //await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialEmailNoticeConfig.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + //await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialEmailNoticeConfig.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialSiteSurvey.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialSiteSurvey.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialSiteSurvey.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialSiteSurvey.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); - await _repository.BatchDeleteAsync(t => t.OriginalReReadingTask.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) || - await _repository.BatchDeleteAsync(t => t.TrialId == trialId) + await _repository.BatchDeleteAsync(t => t.OriginalReReadingTask.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); + await _repository.BatchDeleteAsync(t => t.TrialId == trialId); diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs index fe2a4b76..f5d45090 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DTO/DoctorWorkLoadViewModel.cs @@ -271,9 +271,9 @@ namespace IRaCIS.Application.Contracts public List CriterionReadingCategoryList { get; set; } //任务阅片状态 - public List ReadingTaskStateList { get; set; } + public List ReadingTaskStateList { get; set; }=new List(); - public List CriterionFileList { get; set; } + public List CriterionFileList { get; set; }=new List(); public List CriterionCategoryList => diff --git a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs index 38a259d4..a7dbde1f 100644 --- a/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs +++ b/IRaCIS.Core.Application/Service/WorkLoad/DoctorWorkloadService.cs @@ -206,8 +206,9 @@ namespace IRaCIS.Application.Services var doctorIntoGroupQueryable = from intoGroup in _enrollRepository.Where(x => x.TrialId == trialId && x.EnrollStatus >= EnrollStatus.ConfirmIntoGroup) - join allocateRule in _taskAllocationRuleRepository.AsQueryable() on intoGroup.Id equals allocateRule.EnrollId - join doctor in _doctorRepository.AsQueryable() on intoGroup.DoctorId equals doctor.Id + join allocateRule in _taskAllocationRuleRepository.AsQueryable() on intoGroup.Id equals allocateRule.EnrollId + + join attachmentItem in _attachmentRepository.AsQueryable() on intoGroup.AttachmentId equals attachmentItem.Id into cc from attachment in cc.DefaultIfEmpty() @@ -222,32 +223,7 @@ namespace IRaCIS.Application.Services CriterionReadingCategoryList =intoGroup.EnrollReadingCategoryList.Select(t=>new TrialCriterionReadingCategory() { EnrollId=t.EnrollId,ReadingCategory=t.ReadingCategory, TrialReadingCriterionId = t.TrialReadingCriterionId }).ToList(), - CriterionFileList = doctor.CriterionFileList.Where(x => x.IsEnable && (x.TrialId==null ||x.TrialId==trialId)).Select(x => new CriterionFile() - { - CriterionType = x.CriterionType, - DoctorId = x.DoctorId, - FileName = x.FileName, - FilePath = x.FilePath, - FileType = x.FileType, - Remark = x.Remark, - TrialReadingCriterionId=x.TrialReadingCriterionId, - Id = x.Id - }).ToList(), - ReadingTaskStateList = doctor.User.VisitTaskList.Where(x => x.TaskState == TaskState.Effect && x.TrialId == trialId).Select(x => new DoctorUserTask() - { - ReadingTaskState = x.ReadingTaskState, - TrialReadingCriterionId=x.TrialReadingCriterionId, - CriterionType = x.TrialReadingCriterion.CriterionType, - - }).ToList(), - - DoctorId = doctor.Id, - Code = doctor.ReviewerCode, - FirstName = doctor.FirstName, - LastName = doctor.LastName, - FullName = doctor.FullName, - ChineseName = doctor.ChineseName, UserName= intoGroup.DoctorUser.UserName, OutEnrollTime = intoGroup.OutEnrollTime, diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 05ea90c1..f8ebf7ca 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -1558,9 +1558,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common }, new { //父层级的数据 暂时没有记录稽查 所以这里必须查 - Name = doctor.FullName, - ChineseName = doctor.ChineseName, - Email = doctor.EMail, + Name = doctor?.FullName, + ChineseName = doctor?.ChineseName, + Email = doctor?.EMail, IsUploadedACKSOW = entity.AttachmentId != Guid.Empty, //子层级的数据 记录到父层级 必须查询 不然找上一条时数据不准