From e2cdbb7580a408b68155b80ec8ab873d6b283bc1 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 5 Jul 2023 16:33:27 +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 +++++++++++++++++++ .../ClinicalData/ClinicalAnswerService.cs | 19 ++++++++++++++++ .../Service/Reading/Dto/ClinicalAnswerDto.cs | 9 +++++++- .../Interface/IClinicalAnswerService.cs | 4 +++- 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index defe64133..643b0b1a1 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -11,6 +11,7 @@ using IRaCIS.Core.Application.Service; using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Application.Service.Inspection.Interface; using IRaCIS.Core.Application.Service.Reading.Dto; +using IRaCIS.Core.Application.Service.Reading.Interface; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; @@ -36,6 +37,7 @@ namespace IRaCIS.Core.API.Controllers private readonly IHttpContextAccessor _httpContext; private readonly ITrialConfigService _trialConfigService; private readonly INoneDicomStudyService _noneDicomStudyService; + private readonly IClinicalAnswerService _clinicalAnswerService; private readonly ISubjectService _subjectService; private readonly IReadingClinicalDataService _readingClinicalDataService; private readonly ISubjectVisitService _subjectVisitService; @@ -62,6 +64,7 @@ namespace IRaCIS.Core.API.Controllers IReadingMedicineQuestionService readingMedicineQuestionService, ITrialConfigService _trialConfigService, INoneDicomStudyService noneDicomStudyService, + IClinicalAnswerService clinicalAnswerService, ISubjectService _subjectService, IReadingClinicalDataService _readingClinicalDataService, ISubjectVisitService subjectVisitService, @@ -82,6 +85,7 @@ namespace IRaCIS.Core.API.Controllers this._httpContext = httpContext; this._trialConfigService = _trialConfigService; this._noneDicomStudyService = noneDicomStudyService; + this._clinicalAnswerService = clinicalAnswerService; this._subjectService = _subjectService; this._readingClinicalDataService = _readingClinicalDataService; this._subjectVisitService = subjectVisitService; @@ -233,6 +237,24 @@ namespace IRaCIS.Core.API.Controllers } + /// + /// CRC签名临床数据 + /// + /// + /// + [HttpPost, Route("Inspection/ClinicalAnswer/CRCSignClinicalData")] + [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + + [UnitOfWork] + public async Task CRCSignClinicalData(DataInspectionDto opt) + { + var singid = await _inspectionService.RecordSing(opt.SignInfo); + var result = await _clinicalAnswerService.CRCSignClinicalData(opt.Data); + await _inspectionService.CompletedSign(singid, result); + return result; + } + + /// /// 提交阅片裁判问题 /// diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index 220f7e036..24e53968a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -87,6 +87,25 @@ namespace IRaCIS.Core.Application.Service _iClinicalQuestionService = iClinicalQuestionService; } + /// + /// CRC签名临床数据 + /// + /// + /// + [HttpPost] + public async Task CRCSignClinicalData(CRCSignClinicalDataInDto inDto) + { + + await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(x =>x.Id==inDto.ReadingClinicalDataId, x => new ReadingClinicalData() + { + IsSign = true, + ReadingClinicalDataState = ReadingClinicalDataStatus.HaveSigned + }); + + await _readingClinicalDataRepository.SaveChangesAsync(); + return ResponseOutput.Ok(true); + } + /// /// 自动添加CRC临床数据 /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index d6cbd9132..aac6cfa29 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -8,6 +8,10 @@ using System.Threading.Tasks; namespace IRaCIS.Core.Application.Service.Reading.Dto { + public class CRCSignClinicalDataInDto + { + public Guid ReadingClinicalDataId { get; set; } + } public class AutoAddClinicalInDto { public Guid? SubjectId { get; set; } @@ -28,7 +32,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid SubjectId { get; set; } - public Guid TrialId { get; set; } + public Guid ReadingClinicalDataId { get; set; } + + + public Guid TrialId { get; set; } /// /// 临床级别 diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs index 29775bb1f..2d251a4da 100644 --- a/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IClinicalAnswerService.cs @@ -9,6 +9,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Interface { public interface IClinicalAnswerService { - Task AutoAddCRCClinical(AutoAddClinicalInDto inDto); + Task CRCSignClinicalData(CRCSignClinicalDataInDto inDto); + + Task AutoAddCRCClinical(AutoAddClinicalInDto inDto); } }