From 5e345418fb10ba8e8077705ab264c30f163e3188 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Tue, 2 Jun 2026 14:13:17 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=86=E9=85=8D=E9=98=85=E7=89=87=E4=BA=BAbu?=
=?UTF-8?q?g?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 6 +-
.../Allocation/VisitTaskHelpeService.cs | 8 +-
IRaCIS.Core.Application/TestService.cs | 77 ++++++++++++++++++-
3 files changed, 81 insertions(+), 10 deletions(-)
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/TestService.cs b/IRaCIS.Core.Application/TestService.cs
index 1d6230106..caf6c12fd 100644
--- a/IRaCIS.Core.Application/TestService.cs
+++ b/IRaCIS.Core.Application/TestService.cs
@@ -209,7 +209,7 @@ namespace IRaCIS.Core.Application.Service
}
[AllowAnonymous]
- public async Task ExtralUndownloadImages()
+ public async Task ExtralUndownloadImages(Guid trialId)
{
var newVisits = MiniExcel.Query(@"C:\Users\PC\Desktop\New.xlsx").ToList();
@@ -219,7 +219,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;
}
@@ -231,7 +231,78 @@ namespace IRaCIS.Core.Application.Service
string exportPath = @$"C:\Users\PC\Desktop\newDownload.xlsx";
- MiniExcel.SaveAs(exportPath, downloadVisit);
+ //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);
}