From 010367d018bb31bc1f5e6351672a7286589f66b4 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 12 Feb 2026 03:57:42 -0500 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E8=A1=A8=E6=A8=A1=E6=9D=BF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IRaCIS.Core.Application.xml | 546 +++++++++--------- .../Common/{ => Export}/ExcelExportService.cs | 0 .../Service/Visit/VisitPlanService.cs | 20 +- .../_IRaCIS/_Config/_StaticData.cs | 5 + 4 files changed, 290 insertions(+), 281 deletions(-) rename IRaCIS.Core.Application/Service/Common/{ => Export}/ExcelExportService.cs (100%) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 74d1b453b..61c1555c2 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -674,6 +674,276 @@ + + + 方案编号 STUDYID + + + + + 域 DOMAIN TU TR RS + + + + + 取值类型 TUSPID TRSPID RSSPID + + + + + 受试者编号 USUBJID 实际展示TrialSiteSubjectCode + + + + + 供应商 TUNAM (Extensive Imaging) + + + + + 阅片人 TUEVAL TREVAL RSEVAL + + + + + 阅片人标识 TUEVALID TREVALID RSEVALID + + + + + 访视编号 VISITNUM + + + + + 访视名称 VISIT + + + + + 拍片日期 TUDTC TRDTC RSDTC + + + + + eCRF标识 TUREFID TRREFID RSREFID + + + + + RSCAT 阅片标准 + + + + + RSACPTFL 裁定标记 TUACPTFL + + + + + 序号 TUSEQ (同一个访视,所有阅片人选择病灶给个顺序号) + + + + + 链接ID TULNKID (阅片人角色_病灶编号)不同访视可以重复 + + + + + 肿瘤识别简称 TUTESTCD + + + + + 肿瘤识别全称 TUTEST + + + + + 肿瘤鉴定结果 TUORRES + + + + + 肿瘤识别结果类型 TUSTRESC + + + + + 部位 TULOC (对应病灶表的部位,需要国际化) + + + + + 鉴定方法 TUMETHOD (Modality?) + + + + + 部位描述 LOCTEXT + + + + + 每个subject 按照顺序编号 TRSEQ + + + + + TRGRPID 组ID 对应TU表肿瘤鉴定结果 TumorIdentificationResult + + + + + TRLNKID 链接ID 对应TU表的链接ID TumorNo(阅片人角色_病灶编号) + + + + + TRLNKGRP 链接组 ARM-任务名(访视名) 对应RS的链接组 + + + + + 肿瘤评估简称 TRTESTCD + + + + + 肿瘤评估全称 TRTEST + + + + + 原始测量 TRORRES + + + + + 原始单位 TRORRESU + + + + + 标准结果(字符) TRSTRESC + + + + + 标准结果(数值) TRORRESU + + + + + 标准单位 TRSTRESU + + + + + 完成状态 TRSTAT + + + + + 完成状态 TRMETHOD + + + + + 无法测量原因 TRREASND + + + + + RSSEQ 按照subject 的数据顺序编号 + + + + + RSLNKGRP 链接组 ARM_任务名(访视名) + + + + + RSTESTCD 疗效评估简称 + + + + + RSTEST 疗效评估全称 + + + + + RSORRES 响应评估原始结果 + + + + + RSSTRESC 标准疗效评估 + + + + + RSSTAT 完成状态 + + + + + RSREASND 无法评估原因 + + + + + REASASM 评估原因 + + + + + REASOVR 重新评估原因 + + + + + REASUPD 更新评估原因 + + + + + 关联域 RS:(访视点备注) 空:裁判选择原因 + + + + + COSEQ 序号 + + + + + IDVAR 标识变量 RSSEQ 空:裁判选择原因 + + + + + 标识 IDVARVAL RSSEQ具体的值 空:裁判选择原因 + + + + + COREF 备注引用 + + + + + 备注 COVAL + + + + + 裁决日期 CODTC + + 质控问题答案导出 @@ -989,276 +1259,6 @@ - - - 方案编号 STUDYID - - - - - 域 DOMAIN TU TR RS - - - - - 取值类型 TUSPID TRSPID RSSPID - - - - - 受试者编号 USUBJID 实际展示TrialSiteSubjectCode - - - - - 供应商 TUNAM (Extensive Imaging) - - - - - 阅片人 TUEVAL TREVAL RSEVAL - - - - - 阅片人标识 TUEVALID TREVALID RSEVALID - - - - - 访视编号 VISITNUM - - - - - 访视名称 VISIT - - - - - 拍片日期 TUDTC TRDTC RSDTC - - - - - eCRF标识 TUREFID TRREFID RSREFID - - - - - RSCAT 阅片标准 - - - - - RSACPTFL 裁定标记 TUACPTFL - - - - - 序号 TUSEQ (同一个访视,所有阅片人选择病灶给个顺序号) - - - - - 链接ID TULNKID (阅片人角色_病灶编号)不同访视可以重复 - - - - - 肿瘤识别简称 TUTESTCD - - - - - 肿瘤识别全称 TUTEST - - - - - 肿瘤鉴定结果 TUORRES - - - - - 肿瘤识别结果类型 TUSTRESC - - - - - 部位 TULOC (对应病灶表的部位,需要国际化) - - - - - 鉴定方法 TUMETHOD (Modality?) - - - - - 部位描述 LOCTEXT - - - - - 每个subject 按照顺序编号 TRSEQ - - - - - TRGRPID 组ID 对应TU表肿瘤鉴定结果 TumorIdentificationResult - - - - - TRLNKID 链接ID 对应TU表的链接ID TumorNo(阅片人角色_病灶编号) - - - - - TRLNKGRP 链接组 ARM-任务名(访视名) 对应RS的链接组 - - - - - 肿瘤评估简称 TRTESTCD - - - - - 肿瘤评估全称 TRTEST - - - - - 原始测量 TRORRES - - - - - 原始单位 TRORRESU - - - - - 标准结果(字符) TRSTRESC - - - - - 标准结果(数值) TRORRESU - - - - - 标准单位 TRSTRESU - - - - - 完成状态 TRSTAT - - - - - 完成状态 TRMETHOD - - - - - 无法测量原因 TRREASND - - - - - RSSEQ 按照subject 的数据顺序编号 - - - - - RSLNKGRP 链接组 ARM_任务名(访视名) - - - - - RSTESTCD 疗效评估简称 - - - - - RSTEST 疗效评估全称 - - - - - RSORRES 响应评估原始结果 - - - - - RSSTRESC 标准疗效评估 - - - - - RSSTAT 完成状态 - - - - - RSREASND 无法评估原因 - - - - - REASASM 评估原因 - - - - - REASOVR 重新评估原因 - - - - - REASUPD 更新评估原因 - - - - - 关联域 RS:(访视点备注) 空:裁判选择原因 - - - - - COSEQ 序号 - - - - - IDVAR 标识变量 RSSEQ 空:裁判选择原因 - - - - - 标识 IDVARVAL RSSEQ具体的值 空:裁判选择原因 - - - - - COREF 备注引用 - - - - - 备注 COVAL - - - - - 裁决日期 CODTC - - 公共影像导表基类(IVUS / OCT 通用) @@ -16790,17 +16790,17 @@ - ���� + 质疑 - һ���Ժ˲� + 一致性核查 - ���� + 复制 diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/Export/ExcelExportService.cs similarity index 100% rename from IRaCIS.Core.Application/Service/Common/ExcelExportService.cs rename to IRaCIS.Core.Application/Service/Common/Export/ExcelExportService.cs diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs index 8b9c69687..3222e390f 100644 --- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs +++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs @@ -1,11 +1,16 @@ using DocumentFormat.OpenXml.Office2010.ExcelAc; using IRaCIS.Application.Contracts; using IRaCIS.Application.Interfaces; +using IRaCIS.Core.API._ServiceExtensions.NewtonsoftJson; using IRaCIS.Core.Application.Filter; +using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; +using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Hosting; using MiniExcelLibs; +using System.ComponentModel.Design; namespace IRaCIS.Core.Application.Service { @@ -485,22 +490,21 @@ namespace IRaCIS.Core.Application.Service } [HttpGet("{visitPlanInfluenceStatId:guid}")] - public async Task DownloadInflunceStudyList(Guid visitPlanInfluenceStatId) + public async Task DownloadInflunceStudyList(Guid visitPlanInfluenceStatId, + [FromServices] IRepository _commonDocumentRepository, [FromServices] IWebHostEnvironment _hostEnvironment, [FromServices] IRaCIS.Application.Interfaces.IDictionaryService _dictionaryService) { var list = _influnceRepository.Where(t => t.VisitPlanInfluenceStatId == visitPlanInfluenceStatId) .ProjectTo(_mapper.ConfigurationProvider).ToList(); - var memoryStream = new MemoryStream(); - memoryStream.SaveAs(list); - memoryStream.Seek(0, SeekOrigin.Begin); - return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") - { - FileDownloadName = _localizer["VisitPlan_CheckExport", DateTime.Now.ToString("yyyy-MM-dd:hh:mm:ss")] - }; + var exportInfo = new ExcelExportInfo(); + exportInfo.List = ExportExcelConverterDate.ConvertToClientTimeInObject(list, _userInfo.TimeZoneId); + exportInfo.CurrentTime = ExportExcelConverterDate.DateTimeInternationalToString(DateTime.Now, _userInfo.TimeZoneId); + return await ExcelExportHelper.DataExportAsync(StaticData.Export.TrialVisit_InfluenceStudys_Export, exportInfo, exportInfo.TrialCode, _commonDocumentRepository, _hostEnvironment, _dictionaryService, typeof(VisitPlanInfluenceSubjectVisitDTO)); + } diff --git a/IRaCIS.Core.Infrastructure/_IRaCIS/_Config/_StaticData.cs b/IRaCIS.Core.Infrastructure/_IRaCIS/_Config/_StaticData.cs index c1f6aa1b4..8e331a5a7 100644 --- a/IRaCIS.Core.Infrastructure/_IRaCIS/_Config/_StaticData.cs +++ b/IRaCIS.Core.Infrastructure/_IRaCIS/_Config/_StaticData.cs @@ -316,6 +316,11 @@ public static class StaticData public const string OCT_CDISC_Export = "OCT_CDISC_Export"; + public const string TrialVisit_InfluenceStudys_Export = "TrialVisit_InfluenceStudys_Export"; + + + + }