From 6c01c8dafa275a1b074dcb2eac97ee38a27ecdc3 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Wed, 28 Sep 2022 10:06:55 +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 --- .../Reading/ReadingImageTaskService.cs | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index e81498850..ba83a3fbd 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -2099,7 +2099,7 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task SubmitTableQuestion(SubmitTableQuestionInDto inDto) { - + await VerifyTaskIsSign(inDto.VisitTaskId); var tableQuestionIds = inDto.AnswerList.Select(x => x.TableQuestionId).ToList(); @@ -2211,6 +2211,7 @@ namespace IRaCIS.Application.Services [NonDynamicMethod] public async Task SubmitVisitTaskQuestions(SubmitVisitTaskQuestionsInDto inDto) { + await VerifyTaskIsSign(inDto.VisitTaskId); await this.SaveVisitTaskQuestions(inDto); @@ -2226,6 +2227,7 @@ namespace IRaCIS.Application.Services [NonDynamicMethod] public async Task SubmitDicomVisitTask(SubmitDicomVisitTaskInDto inDto) { + await VerifyTaskIsSign(inDto.VisitTaskId); await this.SubmitTaskChangeState(inDto.VisitTaskId); return ResponseOutput.Ok(true); } @@ -2238,6 +2240,7 @@ namespace IRaCIS.Application.Services [NonDynamicMethod] public async Task SubmitJudgeVisitTaskResult(SaveJudgeVisitTaskResult inDto) { + await VerifyTaskIsSign(inDto.VisitTaskId); await _visitTaskRepository.UpdatePartialFromQueryAsync(inDto.VisitTaskId, x => new VisitTask() { JudgeResultTaskId = inDto.JudgeResultTaskId, @@ -2278,6 +2281,7 @@ namespace IRaCIS.Application.Services [NonDynamicMethod] public async Task SubmitOncologyReadingInfo(SubmitOncologyReadingInfoInDto inDto) { + await VerifyTaskIsSign(inDto.VisitTaskId); //var result = await this.SaveGlobalReadingInfo(inDto); //await FinishReadUpdateState(inDto.OncologyTaskId); @@ -2300,7 +2304,7 @@ namespace IRaCIS.Application.Services public async Task SubmitGlobalReadingInfo(SubmitGlobalReadingInfoInDto inDto) { //var result = await this.SaveGlobalReadingInfo(inDto); - + await VerifyTaskIsSign(inDto.VisitTaskId); await this.SubmitTaskChangeState(inDto.GlobalTaskId); return ResponseOutput.Ok(true) ; @@ -2313,6 +2317,7 @@ namespace IRaCIS.Application.Services /// private async Task SubmitTaskChangeState(Guid visitTaskId) { + await VerifyTaskIsSign(inDto.VisitTaskId); await _visitTaskRepository.UpdatePartialFromQueryAsync( visitTaskId, x => new VisitTask() { ReadingTaskState = ReadingTaskState.HaveSigned, @@ -2733,6 +2738,9 @@ namespace IRaCIS.Application.Services } } + + + /// /// 计算返回的结果 为True表示不相等 /// @@ -2812,5 +2820,23 @@ namespace IRaCIS.Application.Services }); } + #region 验证 + + /// + /// 验证任务是否签名 + /// + /// + /// + /// + private async Task VerifyTaskIsSign(Guid visitTaskid) + { + if (await _visitTaskRepository.AnyAsync(x => x.Id == visitTaskid && x.ReadingTaskState == ReadingTaskState.HaveSigned)) + { + throw new BusinessValidationFailedException($"当前任务已经签名!"); + + } + } + #endregion + } }