diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs index 8861c2360..71f478687 100644 --- a/IRaCIS.Core.API/Controllers/InspectionController.cs +++ b/IRaCIS.Core.API/Controllers/InspectionController.cs @@ -43,6 +43,7 @@ namespace IRaCIS.Core.API.Controllers private readonly IVisitPlanService _visitPlanService; private readonly IInspectionService _inspectionService; + private readonly IReadingMedicalReviewService _readingMedicalReviewService; private readonly IReadingMedicineQuestionService _readingMedicineQuestionService; private readonly IRepository _dataInspectionRepository; private delegate Task executionFun(dynamic data); @@ -56,6 +57,7 @@ namespace IRaCIS.Core.API.Controllers IReadingImageTaskService _iReadingImageTaskService, IHttpContextAccessor httpContext, IInspectionService sinspectionService, + IReadingMedicalReviewService readingMedicalReviewService, IReadingMedicineQuestionService readingMedicineQuestionService, ITrialConfigService _trialConfigService, INoneDicomStudyService noneDicomStudyService, @@ -71,6 +73,7 @@ namespace IRaCIS.Core.API.Controllers this._mapper = mapper; this._userInfo = userInfo; this._inspectionService = sinspectionService; + this._readingMedicalReviewService = readingMedicalReviewService; this._readingMedicineQuestionService = readingMedicineQuestionService; this._trialDocumentService = trialDocumentService; this._qCListService = _qCListService; @@ -104,6 +107,21 @@ namespace IRaCIS.Core.API.Controllers + /// + /// 医学审核完成 + /// + /// + /// + [HttpPost, Route("Inspection/ReadingMedicalReview/FinishMedicalReview")] + [UnitOfWork] + public async Task FinishMedicalReview(DataInspectionDto opt) + { + var singid = await _inspectionService.RecordSing(opt.SignInfo); + var result = await _readingMedicalReviewService.FinishMedicalReview(opt.Data); + await _inspectionService.CompletedSign(singid, result); + return result; + } + /// /// 确认项目医学审核问题 /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index b433fe21d..b365fd948 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -9,6 +9,10 @@ using System.Threading.Tasks; namespace IRaCIS.Core.Application.Service.Reading.Dto { + public class FinishMedicalReviewInDto + { + public Guid TaskMedicalReviewId { get; set; } + } public class SendMedicalReviewDialogInDto { public Guid TaskMedicalReviewId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingMedicalReviewService.cs new file mode 100644 index 000000000..732026ace --- /dev/null +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingMedicalReviewService.cs @@ -0,0 +1,13 @@ + + + +using IRaCIS.Core.Application.Service.Reading.Dto; + +namespace IRaCIS.Core.Application.Contracts +{ + public interface IReadingMedicalReviewService + { + Task FinishMedicalReview(FinishMedicalReviewInDto inDto); + + } +} \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs index f12bfdcdc..a9d4c6bb5 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicalReviewService.cs @@ -8,6 +8,8 @@ using MassTransit; using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Domain.Share; +using Panda.DynamicWebApi.Attributes; +using IRaCIS.Core.Application.Contracts; namespace IRaCIS.Core.Application.Service { @@ -15,7 +17,7 @@ namespace IRaCIS.Core.Application.Service /// 阅片医学审核 /// [ ApiExplorerSettings(GroupName = "Reading")] - public class ReadingMedicalReviewService : BaseService + public class ReadingMedicalReviewService : BaseService, IReadingMedicalReviewService { private readonly IRepository _readingMedicineTrialQuestionRepository; @@ -297,10 +299,26 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Result(result); } + /// + /// 完成医学审核 + /// + /// + /// + [NonDynamicMethod] + public async Task FinishMedicalReview(FinishMedicalReviewInDto inDto) + { + + await _taskMedicalReviewRepository.UpdatePartialFromQueryAsync(inDto.TaskMedicalReviewId, x => new TaskMedicalReview() + { + IsReviewFinish = true + }); + + var result = await _taskMedicalReviewRepository.SaveChangesAsync(); + return ResponseOutput.Result(result); + } + - //public async Task - } }