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 1/3] =?UTF-8?q?=E5=88=86=E9=85=8D=E9=98=85=E7=89=87?=
=?UTF-8?q?=E4=BA=BAbug?=
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);
}
From 967c0114d8b228a6e219b7c2f00edcbaae4a3c7a Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Tue, 2 Jun 2026 15:03:00 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=B8=8B=E8=BD=BD?=
=?UTF-8?q?=E8=AE=BF=E8=A7=86=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.Application/TestService.cs | 116 +++++++++++++------------
1 file changed, 62 insertions(+), 54 deletions(-)
diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs
index caf6c12fd..34e6f3364 100644
--- a/IRaCIS.Core.Application/TestService.cs
+++ b/IRaCIS.Core.Application/TestService.cs
@@ -206,6 +206,14 @@ 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]
@@ -231,76 +239,76 @@ 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,
+// 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,
+// 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,
+// 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()
- })
+// InstancePathList = z.DicomInstanceList.Where(t => t.IsReading).Select(k => new
+// {
+// InstanceId = k.Id,
+// k.Path,
+// k.IsEncapsulated,
+// k.NumberOfFrames,
+// }).ToList()
+// })
- }).ToList(),
+// }).ToList(),
- NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => t.IsReading).Select(nd => new
- {
- nd.Modality,
- nd.StudyCode,
- nd.ImageDate,
+// 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()
+// 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();
+// }).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 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();
+// 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);
+// string diffPath = @$"C:\Users\PC\Desktop\diff.xlsx";
+// MiniExcel.SaveAs(diffPath, diffList);
#endregion
From 432bf1ae122e1cc81eff12d9a2d93e8f92e7ac9f Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Tue, 2 Jun 2026 16:03:55 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=A0=E9=99=A4?=
=?UTF-8?q?=EF=BC=8C=E5=AF=BC=E8=87=B4=E5=8F=82=E4=B8=8E=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/TrialSiteUser/TrialMaintenanceService.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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))