diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 546771fee..f7a52d8c8 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -1522,7 +1522,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, [HttpPost] [UnitOfWork] - public async Task AIRReReading(AIRReReadingCommand command, + public async Task AIRReReading(AIRReReadingCommand command, [FromServices] IVisitTaskHelpeService _visitTaskCommonService, [FromServices] IRepository _readingTableQuestionAnswerRepository) { @@ -1603,9 +1603,11 @@ public class VisitTaskService(IRepository _visitTaskRepository, { var afterTaskIdList = _visitTaskRepository.Where(t => t.SubjectId == taskInfo.SubjectId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId - && t.ReadingCategory == ReadingCategory.Visit && t.VisitTaskNum > taskInfo.VisitTaskNum && t.TaskState==TaskState.Effect).Select(t => t.Id).ToList(); + && t.ReadingCategory == ReadingCategory.Visit && t.VisitTaskNum > taskInfo.VisitTaskNum && t.TaskState == TaskState.Effect).Select(t => t.Id).ToList(); - await _readingCustomTagRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId)); + await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => afterTaskIdList.Contains(t.Id), u => new VisitTask() { FirstReadingTime = null, ReadingTaskState = ReadingTaskState.WaitReading }); + + await _readingCustomTagRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId)); await _readingTaskQuestionMarkRepository.BatchDeleteNoTrackingAsync(t => afterTaskIdList.Contains(t.VisitTaskId));