diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 8dd91ca1c..dd61544de 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -33,6 +33,7 @@ namespace IRaCIS.Core.API.Controllers private readonly ITrialConfigService _trialConfigService; private readonly INoneDicomStudyService _noneDicomStudyService; private readonly ISubjectService _subjectService; + private readonly IReadingClinicalDataService _readingClinicalDataService; private readonly ISubjectVisitService _subjectVisitService; private readonly IQCOperationService _qCOperationService; private readonly IClinicalDataService _clinicalDataService; @@ -53,7 +54,7 @@ namespace IRaCIS.Core.API.Controllers ITrialConfigService _trialConfigService, INoneDicomStudyService noneDicomStudyService, ISubjectService _subjectService, - + IReadingClinicalDataService _readingClinicalDataService, ISubjectVisitService subjectVisitService, IQCOperationService qCOperationService, IClinicalDataService clinicalDataService, @@ -70,6 +71,7 @@ namespace IRaCIS.Core.API.Controllers this._trialConfigService = _trialConfigService; this._noneDicomStudyService = noneDicomStudyService; this._subjectService = _subjectService; + this._readingClinicalDataService = _readingClinicalDataService; this._subjectVisitService = subjectVisitService; this._qCOperationService = qCOperationService; this._clinicalDataService = clinicalDataService; @@ -214,9 +216,22 @@ namespace IRaCIS.Core.API.Controllers return result; } - + /// + /// 影像阅片临床数据签名 + /// + /// + /// + [HttpPost, Route("Inspection/ReadClinicalData/ReadClinicalDataSign")] + [UnitOfWork] + public async Task ReadClinicalDataSign(DataInspectionDto opt) + { + var singid = await _inspectionService.RecordSing(opt.SignInfo); + var result = await _readingClinicalDataService.ReadClinicalDataSign(opt.Data); + await _inspectionService.CompletedSign(singid, result); + return result; + } /// diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index 781039f32..9fb3ecb04 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -134,6 +134,13 @@ 一致性核查 回退 对话记录不清除 只允许PM回退 + + + 影像阅片签名 + + + + CRC 设置已经重传完成 diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 6b38dec3c..77eb69a60 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -203,6 +203,11 @@ 配置加急信息 + + + 阅片临床数据ID + + 稽查泛型Dto @@ -3652,6 +3657,11 @@ + + + 设置影像阅片签名 + + 获取阅片临床数据列表 diff --git a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs index 6c663728a..9497e9d0b 100644 --- a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs +++ b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs @@ -266,6 +266,14 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO public bool obtaionOrCancel { get; set; } } + public class ReadingClinicalDataSignIndto + { + /// + /// 阅片临床数据ID + /// + public Guid ReadingClinicalDataId { get; set; } + } + /// /// 稽查泛型Dto /// diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs index 74405fe84..f43f4e662 100644 --- a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingClinicalDataService.cs @@ -5,6 +5,7 @@ //-------------------------------------------------------------------- +using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Domain.Share.Reading; @@ -13,5 +14,7 @@ namespace IRaCIS.Core.Application.Contracts public interface IReadingClinicalDataService { Task AddOrUpdateReadingClinicalData(AddOrUpdateReadingClinicalDataDto indto); + + Task ReadClinicalDataSign(ReadingClinicalDataSignIndto inDto); } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs index f27cdc4a7..2c738b30c 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs @@ -13,6 +13,8 @@ using System.ComponentModel.DataAnnotations; using System.Reflection; using IRaCIS.Core.Infra.EFCore.Common; using IRaCIS.Core.Application.Contracts; +using IRaCIS.Core.Application.Service.Inspection.DTO; +using Panda.DynamicWebApi.Attributes; namespace IRaCIS.Application.Services { @@ -150,7 +152,24 @@ namespace IRaCIS.Application.Services return clinicalList; } - + + /// + /// 影像阅片临床数据签名 + /// + // [HttpPost] + [NonDynamicMethod] + public async Task ReadClinicalDataSign(ReadingClinicalDataSignIndto inDto) + { + await _readingClinicalDataRepository.UpdatePartialFromQueryAsync(x => x.Id == inDto.ReadingClinicalDataId, x => new ReadingClinicalData() + { + IsSign = true + }); + + var result =await _readingClinicalDataRepository.SaveChangesAsync(); + + return ResponseOutput.Result(result); + } + /// /// 获取阅片临床数据列表