From ca94b33d7c4597607d02b0fe82afa91ca831d15d Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 20 Apr 2022 20:52:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/InspectionController.cs | 22 ++++++++++++++++++- IRaCIS.Core.API/IRaCIS.Core.API.xml | 7 ++++++ .../IRaCIS.Core.Application.xml | 2 +- .../QC/Interface/IQCOperationService.cs | 2 +- .../Service/QC/QCOperationService.cs | 5 ++++- .../Service/Visit/DTO/VisitPointViewModel.cs | 6 +++++ 6 files changed, 40 insertions(+), 4 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 8a0e4a46b..f1649b380 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -20,6 +20,7 @@ using IRaCIS.Core.Infrastructure.Extention; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Newtonsoft.Json; namespace IRaCIS.Core.API.Controllers { @@ -33,6 +34,7 @@ namespace IRaCIS.Core.API.Controllers private readonly IUserInfo _userInfo; private readonly ITrialDocumentService _trialDocumentService; private readonly IQCListService _qCListService; + private readonly IHttpContextAccessor _httpContext; private readonly ITrialConfigService _trialConfigService; private readonly INoneDicomStudyService _noneDicomStudyService; private readonly ISubjectService _subjectService; @@ -51,6 +53,7 @@ namespace IRaCIS.Core.API.Controllers ITrialDocumentService trialDocumentService, IRepository dataInspectionRepository, IQCListService _qCListService, + IHttpContextAccessor httpContext, IInspectionService sinspectionService, ITrialConfigService _trialConfigService, INoneDicomStudyService noneDicomStudyService, @@ -68,6 +71,7 @@ namespace IRaCIS.Core.API.Controllers this._inspectionService = sinspectionService; this._trialDocumentService = trialDocumentService; this._qCListService = _qCListService; + this._httpContext = httpContext; this._trialConfigService = _trialConfigService; this._noneDicomStudyService = noneDicomStudyService; this._subjectService = _subjectService; @@ -353,7 +357,23 @@ namespace IRaCIS.Core.API.Controllers return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, fun); } - + /// + /// 一致性核查 excel上传 支持三种格式 + /// + /// + /// + [HttpPost, Route("Inspection/QCOperation/UploadVisitCheckExcel")] + [UnitOfWork] + public async Task UploadVisitCheckExcel(IFormFile file, [FromForm]UploadVisitCheckExcelDto opt) + { + + + var fun = await _qCOperationService.UploadVisitCheckExcel(file, opt.trialId); + + var data = JsonConvert.DeserializeObject(opt.AuditInfo); + return await _inspectionService.Enforcement(opt.trialId, data, null, null, fun); + } + #endregion #region 影像上传 diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index b3ecf5c74..e84f9ad82 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -165,6 +165,13 @@ + + + 一致性核查 excel上传 支持三种格式 + + + + 疾病进展确认评估 diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index a1c1174fd..0ee4a2250 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1447,7 +1447,7 @@ - + 一致性核查 excel上传 支持三种格式 diff --git a/IRaCIS.Core.Application/Service/QC/Interface/IQCOperationService.cs b/IRaCIS.Core.Application/Service/QC/Interface/IQCOperationService.cs index 2a58e6459..9e67a0c6b 100644 --- a/IRaCIS.Core.Application/Service/QC/Interface/IQCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/Interface/IQCOperationService.cs @@ -35,7 +35,7 @@ namespace IRaCIS.Core.Application.Image.QA Task SetVisitUrgent(Guid trialId, Guid subjectVisitId, bool setOrCancel); Task UpdateModality(Guid id, int type, [FromQuery] string modality, [FromQuery] string bodyPart); Task UpdateSubjectAndSVInfo(UploadSubjectAndVisitCommand command); - Task UploadVisitCheckExcel(IFormFile file, [FromServices] IMediator _mediator, Guid trialId, [FromServices] IWebHostEnvironment _hostEnvironment); + Task UploadVisitCheckExcel(IFormFile file, Guid trialId); Task VerifyCanQCPassedOrFailed(Guid subjectVisitId); Task ForwardSVDicomImage(Guid[] subjectVisitIdList); diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 552876ba4..5ce408d0f 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -33,12 +33,14 @@ namespace IRaCIS.Core.Application.Image.QA private readonly IRepository _subjectVisitRepository; private readonly IRepository _trialRepository; private readonly IServiceProvider serviceProvider; + private readonly IMediator _mediator; private readonly IInspectionService _inspectionService; private object _locker = new object(); public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository subjectVisitRepository, IRepository trialRepository, IServiceProvider serviceProvider, + IMediator mediator, IInspectionService sinspectionService, IRepository _trialRepository ) @@ -47,6 +49,7 @@ namespace IRaCIS.Core.Application.Image.QA _subjectVisitRepository = subjectVisitRepository; this._trialRepository = trialRepository; this.serviceProvider = serviceProvider; + _mediator = mediator; this._inspectionService = sinspectionService; } @@ -549,7 +552,7 @@ namespace IRaCIS.Core.Application.Image.QA /// [HttpPost("{trialId:guid}")] [TypeFilter(typeof(TrialResourceFilter))] - public async Task UploadVisitCheckExcel(IFormFile file, [FromServices] IMediator _mediator, Guid trialId, [FromServices] IWebHostEnvironment _hostEnvironment) + public async Task UploadVisitCheckExcel(IFormFile file, Guid trialId) { if (_userInfo.UserTypeEnumInt != (int)UserTypeEnum.ProjectManager) { diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index 9b61ccc1f..069ca901f 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -111,7 +111,13 @@ namespace IRaCIS.Core.Application.Contracts } + public class UploadVisitCheckExcelDto + { + + public Guid trialId { get; set; } + public string AuditInfo { get; set; } + } public class ForwardSVDicomImageDto { public Guid[] subjectVisitIdList { get; set; }