diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 49858298f..cfc8e09af 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -17496,17 +17496,17 @@ - ���� + 质疑 - һ���Ժ˲� + 一致性核查 - ���� + 复制 diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs index ccdae5dfa..5a48de460 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs @@ -873,7 +873,7 @@ namespace IRaCIS.Core.Application.Service { arm1.TaskAllocationState = TaskAllocationState.Allocated; arm1.AllocateTime = DateTime.Now; - arm1.DoctorUserId = task1.DoctorUserId; + arm1.DoctorUserId = assignConfigList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm1)!.DoctorUserId; arm1.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget); } @@ -913,7 +913,7 @@ namespace IRaCIS.Core.Application.Service { taskOne.TaskAllocationState = TaskAllocationState.Allocated; taskOne.AllocateTime = DateTime.Now; - taskOne.DoctorUserId = task1!.DoctorUserId; + taskOne.DoctorUserId = assignConfigList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm1)!.DoctorUserId; taskOne.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget); } @@ -944,7 +944,7 @@ namespace IRaCIS.Core.Application.Service { arm2.TaskAllocationState = TaskAllocationState.Allocated; arm2.AllocateTime = DateTime.Now; - arm2.DoctorUserId = task2.DoctorUserId; + arm2.DoctorUserId = assignConfigList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm2)!.DoctorUserId; arm2.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget); } @@ -986,7 +986,7 @@ namespace IRaCIS.Core.Application.Service { taskTwo.TaskAllocationState = TaskAllocationState.Allocated; taskTwo.AllocateTime = DateTime.Now; - taskTwo.DoctorUserId = task2!.DoctorUserId; + taskTwo.DoctorUserId = assignConfigList.FirstOrDefault(t => t.ArmEnum == Arm.DoubleReadingArm2)!.DoctorUserId; taskTwo.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget); } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 47d6a8612..8acfa26dc 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -35,7 +35,7 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task>> GetUserJoinedTrialList(IdentityUserJoinedTrialQuery inQuery) { - var list = await _trialIdentityUserRepository.Where(t => t.IdentityUserId == inQuery.IdentityUserId, false, true) + var list = await _trialIdentityUserRepository.Where(t => t.IdentityUserId == inQuery.IdentityUserId && t.Trial.IsDeleted==false, false, true) .WhereIf(!string.IsNullOrEmpty(inQuery.TrialCode), o => o.Trial.TrialCode.Contains(inQuery.TrialCode)) .WhereIf(!string.IsNullOrEmpty(inQuery.ResearchProgramNo), o => o.Trial.ResearchProgramNo.Contains(inQuery.ResearchProgramNo)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.ExperimentName), o => o.Trial.ExperimentName.Contains(inQuery.ExperimentName)) diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 1d6230106..34e6f3364 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -206,10 +206,18 @@ namespace IRaCIS.Core.Application.Service public Guid? SubjectVisitId { get; set; } public decimal VisitNum { get; set; } public string VisitName { get; set; } + + public string R1 { get; set; } + + public string R1阅片状态 { get; set; } + + public string R2 { get; set; } + + public string R2阅片状态 { get; set; } } [AllowAnonymous] - public async Task ExtralUndownloadImages() + public async Task ExtralUndownloadImages(Guid trialId) { var newVisits = MiniExcel.Query(@"C:\Users\PC\Desktop\New.xlsx").ToList(); @@ -219,7 +227,7 @@ namespace IRaCIS.Core.Application.Service foreach (var item in newVisits) { - if (oldVisits.Any(t => t.VisitNum == item.VisitNum && t.SubjectCode == item.SubjectCode)) + if (oldVisits.Any(t => t.VisitNum == item.VisitNum && t.SubjectCode.Trim() == item.SubjectCode.Trim())) { continue; } @@ -233,6 +241,77 @@ namespace IRaCIS.Core.Application.Service string exportPath = @$"C:\Users\PC\Desktop\newDownload.xlsx"; MiniExcel.SaveAs(exportPath, downloadVisit); + + #region 数据库查询 +// var downloadInfo = _trialRepository.Where(t => t.Id == trialId).Select(t => new +// { +// t.ResearchProgramNo, +// t.TrialCode, + +// VisitList = t.SubjectVisitList.Where(t => t.VisitTaskList.Any(t => t.TaskState == TaskState.Effect && t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.HaveSigned && t.SourceSubjectVisitId != null && t.DoctorUserId != null)) +// //.Where(t=>subjectCodeList.Contains(t.Subject.Code)) +// .Select(sv => new +// { +// SubjectVisitId = sv.Id, +// TrialSiteCode = sv.TrialSite.TrialSiteCode, +// SubjectCode = sv.Subject.Code, +// VisitName = sv.VisitName, +// VisitNum = sv.VisitNum, +// StudyList = sv.StudyList.Select(u => new +// { +// StudyId = u.Id, +// u.PatientId, +// u.StudyTime, +// u.StudyCode, +// u.StudyInstanceUid, +// u.StudyDIRPath, + +// SeriesList = u.SeriesList.Where(t => t.IsReading).Select(z => new +// { +// z.Modality, + +// InstancePathList = z.DicomInstanceList.Where(t => t.IsReading).Select(k => new +// { +// InstanceId = k.Id, +// k.Path, +// k.IsEncapsulated, +// k.NumberOfFrames, +// }).ToList() +// }) + +// }).ToList(), + +// NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => t.IsReading).Select(nd => new +// { +// nd.Modality, +// nd.StudyCode, +// nd.ImageDate, + +// FileList = nd.NoneDicomFileList.Where(t => t.IsReading).Select(file => new +// { +// file.FileName, +// file.Path, +// file.FileType +// }).ToList() +// }).ToList() +// }).OrderBy(t => t.SubjectCode).ThenBy(t => t.VisitNum).ToList() + +// }).FirstOrDefault(); + +// var acturalDownList = downloadInfo.VisitList.Where(t => !oldVisits.Any(old => old.VisitNum == t.VisitNum && old.SubjectCode == t.SubjectCode && +//old.VisitName.Trim().ToLower() == t.VisitName.Trim().ToLower())).ToList(); + + +// var diffList = downloadVisit.Where(t => !acturalDownList.Any(old => old.SubjectCode.Trim() == t.SubjectCode.Trim() && +//old.VisitName.Trim().ToLower() == t.VisitName.Trim().ToLower())).ToList(); + + + +// string diffPath = @$"C:\Users\PC\Desktop\diff.xlsx"; +// MiniExcel.SaveAs(diffPath, diffList); + + #endregion + return ResponseOutput.Ok(downloadVisit); }