From e02fa28cd0ffcffa9a2005e250e6a38c1a626aee Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Wed, 5 Mar 2025 13:12:48 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=9EDicom=E6=8E=92?=
=?UTF-8?q?=E5=BA=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/ImageAndDoc/NoneDicomStudyService.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs
index f82a373c9..7cff7eb9d 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs
@@ -54,7 +54,7 @@ namespace IRaCIS.Core.Application.Contracts
}
- var list = await noneDicomStudyQueryable.ToListAsync();
+ var list = await noneDicomStudyQueryable.OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync();
var config = await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => new { t.Trial.ImageFormatList, t.Trial.StudyNameList ,t.Trial.IsShowStudyName}).FirstOrDefaultAsync();
return ResponseOutput.Ok(list, config) ;
From c036aab9c4b615a0c46be37cdc894317452eddf3 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Mon, 24 Mar 2025 17:12:04 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9refer?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../LegacyController/TrialGlobalLimitActionFilter.cs | 4 ++--
.../MinimalAPI/TrialGlobalLimitEndpointFilter.cs | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/IRaCIS.Core.Application/BusinessFilter/LegacyController/TrialGlobalLimitActionFilter.cs b/IRaCIS.Core.Application/BusinessFilter/LegacyController/TrialGlobalLimitActionFilter.cs
index e845a10c4..8d24d2591 100644
--- a/IRaCIS.Core.Application/BusinessFilter/LegacyController/TrialGlobalLimitActionFilter.cs
+++ b/IRaCIS.Core.Application/BusinessFilter/LegacyController/TrialGlobalLimitActionFilter.cs
@@ -62,9 +62,9 @@ public class TrialGlobalLimitActionFilter(IFusionCache _fusionCache, IUserInfo _
var index = context.HttpContext.Request.RouteValues.Keys.ToList().IndexOf("trialId");
trialIdStr = context.HttpContext.Request.RouteValues.Values.ToList()[index] as string;
}
- else if (context.HttpContext.Request.Headers["self-Referer"].ToString().Contains("trialId"))
+ else if (context.HttpContext.Request.Headers["Referer"].ToString().Contains("trialId"))
{
- var headerStr = context.HttpContext.Request.Headers["self-Referer"].ToString();
+ var headerStr = context.HttpContext.Request.Headers["Referer"].ToString();
var trialIdIndex = headerStr.IndexOf("trialId");
diff --git a/IRaCIS.Core.Application/BusinessFilter/MinimalAPI/TrialGlobalLimitEndpointFilter.cs b/IRaCIS.Core.Application/BusinessFilter/MinimalAPI/TrialGlobalLimitEndpointFilter.cs
index bb1974ff0..6648db25e 100644
--- a/IRaCIS.Core.Application/BusinessFilter/MinimalAPI/TrialGlobalLimitEndpointFilter.cs
+++ b/IRaCIS.Core.Application/BusinessFilter/MinimalAPI/TrialGlobalLimitEndpointFilter.cs
@@ -71,9 +71,9 @@ public class TrialGlobalLimitEndpointFilter(IFusionCache _fusionCache, IUserInfo
var index = context.HttpContext.Request.RouteValues.Keys.ToList().IndexOf("trialId");
trialIdStr = context.HttpContext.Request.RouteValues.Values.ToList()[index] as string;
}
- else if (context.HttpContext.Request.Headers["self-Referer"].ToString().Contains("trialId"))
+ else if (context.HttpContext.Request.Headers["Referer"].ToString().Contains("trialId"))
{
- var headerStr = context.HttpContext.Request.Headers["self-Referer"].ToString();
+ var headerStr = context.HttpContext.Request.Headers["Referer"].ToString();
var trialIdIndex = headerStr.IndexOf("trialId");
From 5f0643d4d47dc9e86829b059f6ee7475b14a2465 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Wed, 26 Mar 2025 14:22:26 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9swagger=20=E5=B1=95?=
=?UTF-8?q?=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.API/Progranm.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/IRaCIS.Core.API/Progranm.cs b/IRaCIS.Core.API/Progranm.cs
index c4a6b4528..c90e0a5f1 100644
--- a/IRaCIS.Core.API/Progranm.cs
+++ b/IRaCIS.Core.API/Progranm.cs
@@ -39,7 +39,7 @@ var enviromentName = config["ASPNETCORE_ENVIRONMENT"];
var openSwaggerStr = config["ASPNETCORE_OpenSwagger"];
-var isOpenSwagger= openSwaggerStr == null&& openSwaggerStr?.ToLower()=="true";
+var isOpenSwagger= openSwaggerStr == null|| openSwaggerStr?.ToLower()=="true";
if (string.IsNullOrWhiteSpace(enviromentName))
From 24bfb4920cd074c3439f9e201e45bfba7cdfecf4 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Thu, 3 Apr 2025 11:29:13 +0800
Subject: [PATCH 4/4] =?UTF-8?q?IQC=E5=9B=9E=E9=80=80=E5=88=B0CRC=20?=
=?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.API/appsettings.Event_IRC.json | 4 +-
.../IRaCIS.Core.Application.xml | 10 +++
IRaCIS.Core.Application/TestService.cs | 82 +++++++++++++++++++
3 files changed, 94 insertions(+), 2 deletions(-)
diff --git a/IRaCIS.Core.API/appsettings.Event_IRC.json b/IRaCIS.Core.API/appsettings.Event_IRC.json
index a5e5925ca..67ccf7b7b 100644
--- a/IRaCIS.Core.API/appsettings.Event_IRC.json
+++ b/IRaCIS.Core.API/appsettings.Event_IRC.json
@@ -7,8 +7,8 @@
}
},
"ConnectionStrings": {
- "RemoteNew": "Server=47.117.164.182,1434;Database=Event_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true",
- "Hangfire": "Server=47.117.164.182,1434;Database=Event_IRC_Hangfire;User ID=sa;Password=xc@123456;TrustServerCertificate=true"
+ "RemoteNew": "Server=101.132.253.119,1435;Database=irc_Prpd_bak;User ID=sa;Password=xc@123456;TrustServerCertificate=true",
+ "Hangfire": "Server=101.132.253.119,1435;Database=irc_Hangfire_bak;User ID=sa;Password=xc@123456;TrustServerCertificate=true"
},
"ObjectStoreService": {
"ObjectStoreUse": "AliyunOSS",
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 30bf040a5..7df328020 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -13523,6 +13523,16 @@
+
+
+ IQC 回退到影像上传
+
+
+
+
+
+
+
非dicom 临床数据
diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs
index 29327555a..2b916b3d0 100644
--- a/IRaCIS.Core.Application/TestService.cs
+++ b/IRaCIS.Core.Application/TestService.cs
@@ -7,6 +7,7 @@ using IRaCIS.Core.Application.Helper;
using IRaCIS.Core.Application.Service.BusinessFilter;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain;
+using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infra.EFCore;
using IRaCIS.Core.Infrastructure;
@@ -86,6 +87,87 @@ namespace IRaCIS.Core.Application.Service
await _readingConsistentClinicalDataRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}
+
+
+ ///
+ /// IQC 回退到影像上传
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ [AllowAnonymous]
+ [HttpPost]
+ public async Task IQCBackToUpload(Guid[] subjectVisitIdList,
+ [FromServices] IRepository _subjectVisitRepository,
+ [FromServices] IRepository _trialQCQuestionAnswerRepository,
+ [FromServices] IRepository _readingClinicalDataReposiotry)
+ {
+
+ foreach (var subjectVisitId in subjectVisitIdList)
+ {
+ var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId)).IfNullThrowException();
+
+
+ //需要重新产生任务
+ sv.IsVisitTaskGenerated = false;
+ sv.IsPMBackOrReReading = true;
+
+ sv.AuditState = AuditStateEnum.None;
+ sv.SubmitState = SubmitStateEnum.ToSubmit;
+ sv.ReadingStatus = ReadingStatusEnum.ImageNotSubmit;
+
+ //回退后,回退状态恢复
+ sv.RequestBackState = RequestBackStateEnum.NotRequest;
+ sv.IsCheckBack = false;
+ sv.CheckBackTime = null;
+ sv.CheckState = CheckStateEnum.None;
+ sv.CheckChallengeState = CheckChanllengeTypeEnum.None;
+
+ sv.SVENDTC = null;
+ sv.SVSTDTC = null;
+
+ sv.PreliminaryAuditTime = null;
+ sv.SubmitTime = null;
+ sv.ReviewAuditTime = null;
+ sv.CurrentActionUserExpireTime = null;
+
+
+ sv.IsTake = false;
+ sv.CurrentActionUserId = null;
+ sv.PreliminaryAuditUserId = null;
+ sv.ReviewAuditUserId = null;
+
+
+ if (sv.IsBaseLine)
+ {
+ await _readingClinicalDataReposiotry.UpdatePartialFromQueryAsync(t => t.ReadingId == sv.Id && (t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject || t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit), c => new ReadingClinicalData() { IsSign = false, ReadingClinicalDataState = ReadingClinicalDataStatus.HaveUploaded });
+
+ }
+ else
+ {
+ await _readingClinicalDataReposiotry.UpdatePartialFromQueryAsync(t => t.ReadingId == sv.Id && t.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit, c => new ReadingClinicalData()
+ {
+ IsSign = false,
+ ReadingClinicalDataState = ReadingClinicalDataStatus.HaveUploaded,
+ IsBlind = null,
+ IsComplete = null
+ });
+ }
+
+
+ await _trialQCQuestionAnswerRepository.BatchDeleteNoTrackingAsync(t => t.SubjectVisitId == subjectVisitId);
+ }
+
+
+
+ var success = await _subjectVisitRepository.SaveChangesAsync();
+
+ return ResponseOutput.Ok();
+
+ }
+
public async Task DeleteOSSDate(string rootFolder,
[FromServices] IOSSService _oSSService, [FromServices] IWebHostEnvironment _hostEnvironment)
{