From 01f339cb41d4bef0b9841d22307b556047c2774b Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Wed, 22 Apr 2026 14:30:06 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=98=A0=E5=B0=84?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs | 4 ++--
IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs
index b0da579f7..aa5680891 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs
@@ -196,7 +196,7 @@ namespace IRaCIS.Core.Application.Contracts
public class EditPatientInfoCommand
{
- public Guid StudyId { get; set; }
+ public Guid Id { get; set; }
///
/// 性别
///
@@ -236,7 +236,7 @@ namespace IRaCIS.Core.Application.Contracts
public class PatientInfoDto
{
- public Guid StudyId { get; set; }
+ public Guid Id { get; set; }
///
/// 性别
diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
index d003bd97f..812dfc2bd 100644
--- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
+++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs
@@ -198,7 +198,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
[HttpPost]
public async Task EditPatientInfo(EditPatientInfoCommand command)
{
- await _dicomStudyRepository.UpdatePartialFromQueryAsync(command.StudyId, x => new DicomStudy
+ await _dicomStudyRepository.UpdatePartialFromQueryAsync(command.Id, x => new DicomStudy
{
PatientSex = command.PatientSex,
PatientWeight = command.PatientWeight,
From 34008ef6dbb3ffd718ee5f46a98d01ab5ca36614 Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Wed, 22 Apr 2026 16:10:14 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E6=82=A3=E8=80=85=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E9=AA=8C=E8=AF=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Service/QC/DTO/QARecordViewModel.cs | 46 +++++++++++++++++++
.../Service/QC/QCOperationService.cs | 20 +++++++-
2 files changed, 65 insertions(+), 1 deletion(-)
diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs
index cfa4430e9..f1783a48d 100644
--- a/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs
+++ b/IRaCIS.Core.Application/Service/QC/DTO/QARecordViewModel.cs
@@ -415,6 +415,52 @@ namespace IRaCIS.Core.Application.Contracts.DTO
public string BodyPartForEditOther { get; set; }
+ #region 核验
+
+ ///
+ /// 性别
+ ///
+ public string PatientSex { get; set; } = null!;
+
+ ///
+ /// 体重
+ ///
+ public string PatientWeight { get; set; }
+
+ ///
+ /// 总剂量
+ ///
+ public string RadionuclideTotalDose { get; set; } = null!;
+
+ ///
+ /// 半衰期
+ ///
+ public string RadionuclideHalfLife { get; set; } = null!;
+
+ ///
+ /// 注射时间
+ ///
+ public string RadiopharmaceuticalStartTime { get; set; } = null!;
+
+ ///
+ /// 成像 / 采集时间
+ ///
+ public string AcquisitionTime { get; set; } = null!;
+
+
+ #endregion
+
+
+ ///
+ /// 是否存在空字符串字段(PatientSex、PatientWeight、RadionuclideTotalDose、RadionuclideHalfLife、RadiopharmaceuticalStartTime、AcquisitionTime 任意一个为空/空字符串)
+ ///
+ public bool IsHasEmptyPatientInfo =>
+ string.IsNullOrWhiteSpace(PatientSex) ||
+ string.IsNullOrWhiteSpace(PatientWeight) ||
+ string.IsNullOrWhiteSpace(RadionuclideTotalDose) ||
+ string.IsNullOrWhiteSpace(RadionuclideHalfLife) ||
+ string.IsNullOrWhiteSpace(RadiopharmaceuticalStartTime) ||
+ string.IsNullOrWhiteSpace(AcquisitionTime);
}
public class QASeriesInfoDto
diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs
index 91b86b93f..4183663c0 100644
--- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs
+++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs
@@ -1,4 +1,5 @@
-using IRaCIS.Core.Application.Contracts;
+using DocumentFormat.OpenXml.InkML;
+using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Contracts.DTO;
using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Application.Helper;
@@ -1108,6 +1109,23 @@ namespace IRaCIS.Core.Application.Image.QA
{
await VerifyIsCanQCAsync(null, subjectVisitId);
+ var visit = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == subjectVisitId);
+
+ var isExistStudyClinicalData = await _clinicalDataTrialSetRepository.AnyAsync(t => t.TrialId == visit.TrialId && t.ClinicalDataLevel == ClinicalLevel.Study&&t.IsConfirm&&t.IsApply);
+ if(isExistStudyClinicalData)
+ {
+ List modalitieTypes = new List() { "PT、CT", "CT、PT", "PET-CT" };
+
+ var studyList=await _dicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId&& modalitieTypes.Contains(t.Modalities)).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ if (studyList.Any(x => x.IsHasEmptyPatientInfo))
+ {
+ return ResponseOutput.NotOk(_localizer["QCOperation_IsHasEmptyPatientInfo"]);
+ }
+ }
+
+
+
+
if (await _qcChallengeRepository.AnyAsync(t => t.SubjectVisitId == subjectVisitId && t.IsClosed == false))
{
//---当前访视有质疑未关闭,不允许该操作
From b29ed4d6a213aae2b57853c5e864f6ee42a43ef1 Mon Sep 17 00:00:00 2001
From: he <109787524@qq.com>
Date: Thu, 23 Apr 2026 10:29:52 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E7=94=A8=E6=88=B7=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IRaCIS.Core.Application.xml | 45 +-
.../Reading/Dto/UserWLTemplateViewModel.cs | 8 +
.../ShortcutKey/UserWLTemplateService.cs | 34 +-
.../ReadingFormAnswer/ReadingUserConfig.cs | 28 +
.../Context/IRaCISDBContext.cs | 1 +
...260423022614_readingUserConfig.Designer.cs | 22111 ++++++++++++++++
.../20260423022614_readingUserConfig.cs | 42 +
.../IRaCISDBContextModelSnapshot.cs | 50 +
8 files changed, 22307 insertions(+), 12 deletions(-)
create mode 100644 IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingUserConfig.cs
create mode 100644 IRaCIS.Core.Infra.EFCore/Migrations/20260423022614_readingUserConfig.Designer.cs
create mode 100644 IRaCIS.Core.Infra.EFCore/Migrations/20260423022614_readingUserConfig.cs
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 79244e842..d6bf0f90e 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -15488,7 +15488,7 @@
用户WL模板
-
+
用户WL模板
@@ -15514,7 +15514,7 @@
-
+
获取自动切换任务配置
@@ -17269,17 +17269,17 @@
- 质疑
+ ����
- 一致性核查
+ һ���Ժ˲�
- 复制
+ ����
@@ -18653,6 +18653,41 @@
受试者ID
+
+
+ 性别
+
+
+
+
+ 体重
+
+
+
+
+ 总剂量
+
+
+
+
+ 半衰期
+
+
+
+
+ 注射时间
+
+
+
+
+ 成像 / 采集时间
+
+
+
+
+ 是否存在空字符串字段(PatientSex、PatientWeight、RadionuclideTotalDose、RadionuclideHalfLife、RadiopharmaceuticalStartTime、AcquisitionTime 任意一个为空/空字符串)
+
+
关闭一致性质疑Dto
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs
index 9ddeaec57..f7d18ab8a 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/UserWLTemplateViewModel.cs
@@ -27,8 +27,16 @@ namespace IRaCIS.Core.Application.ViewModel
}
+
+ public class GetAutoCutNextTaskInDto
+ {
+ public int ImageToolType { get; set; }
+ }
+
public class SetAutoCutNextTaskInDto
{
+ public int ImageToolType { get; set; }
+
public bool AutoCutNextTask { get; set; }
///
diff --git a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs
index b3eebd05e..65dc12ce2 100644
--- a/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ShortcutKey/UserWLTemplateService.cs
@@ -15,6 +15,7 @@ namespace IRaCIS.Core.Application.Service
///
[ApiExplorerSettings(GroupName = "Reading")]
public class UserWLTemplateService(IRepository _userWLTemplateRepository,
+ IRepository _readingUserConfigRepository,
IRepository _userRoleRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService
{
@@ -82,15 +83,18 @@ namespace IRaCIS.Core.Application.Service
///
///
[HttpPost]
- public async Task