diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 8162978e..0a8c757b 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -383,21 +383,6 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task GetReadingReportEvaluation(GetReadingReportEvaluationInDto indto) { - var visitTaskInfo = await _visitTaskRepository.Where(x => x.Id == indto.VisitTaskId).FirstNotNullAsync(); - if (visitTaskInfo.ReadingTaskState == ReadingTaskState.WaitReading) - { - await this._readingCalculateService.CalculateTask(new CalculateTaskInDto() - { - IsChangeOtherTask = false, - VisitTaskId = indto.VisitTaskId, - }); - await _visitTaskRepository.UpdatePartialFromQueryAsync(indto.VisitTaskId, x => new VisitTask() - { - ReadingTaskState=ReadingTaskState.Reading - }); - await _visitTaskRepository.SaveChangesAsync(); - } - return await _readingCalculateService.GetReadingReportEvaluation(indto); } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs index 690e92cd..1f4dcab2 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingTaskQuestionService.cs @@ -49,6 +49,11 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task<(GetTrialReadingQuestionPageDto, object)> GetTrialReadingQuestion(GetTrialReadingQuestionInDto inDto) { + if (inDto.VisitTaskId != null) + { + await AddDefaultValueToTask(inDto.VisitTaskId.Value); + } + var result = new GetTrialReadingQuestionPageDto(); var readingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync(); diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs index 5cecca94..9bb4065f 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/ReadingCalculateService.cs @@ -124,7 +124,28 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var service = await this.GetService(inDto.VisitTaskId); if (service != null) { - return await service.AddTaskLesionAnswerFromLastTask(inDto); + var readingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x=>x.ReadingTaskState).FirstNotNullAsync(); + var result= await service.AddTaskLesionAnswerFromLastTask(inDto); + + + if (readingTaskState == ReadingTaskState.WaitReading) + { + + await service.CalculateTask(new CalculateTaskInDto() + { + IsChangeOtherTask = false, + VisitTaskId = inDto.VisitTaskId, + }); + + await _visitTaskRepository.BatchUpdateNoTrackingAsync(x=>x.Id==inDto.VisitTaskId, x => new VisitTask() + { + ReadingTaskState = ReadingTaskState.Reading, + + }); + + } + + return result; } else {