diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs
index 8ae02ae17..ee35ab942 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingCriterion/ReadingCriterionService.cs
@@ -24,12 +24,15 @@ namespace IRaCIS.Core.Application.Service.RC
         private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
         private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
 
+        private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
+
         public ReadingQuestionService(
             IRepository<ReadingQuestionCriterionSystem> readingQuestionCriterionSystemRepository,
             IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
             IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
                IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
               IRepository<VisitTask> visitTaskRepository,
+                IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
                IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
                  IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
             IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswer,
@@ -38,7 +41,7 @@ namespace IRaCIS.Core.Application.Service.RC
             this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
             this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
             this._readingQuestionTrialRepository = readingQuestionTrialRepository;
-
+            this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
             this._readingCriterionPageRepository = readingCriterionPageRepository;
             this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
             this._visitTaskRepository = visitTaskRepository;
@@ -63,10 +66,6 @@ namespace IRaCIS.Core.Application.Service.RC
 
             });
 
-            var taskquery = _visitTaskRepository.Where(x => x.TrialReadingCriterionId == trialReadingCriterionId).AsQueryable();
-            await _readingTaskQuestionAnswer.BatchDeleteNoTrackingAsync(x => taskquery.Any(y=>y.Id==x.VisitTaskId));
-            await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => taskquery.Any(y => y.Id == x.VisitTaskId));
-            await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => taskquery.Any(y => y.Id == x.VisitTaskId));
 
             return ResponseOutput.Ok();
         }
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index 890281c18..d19f2d901 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -35,6 +35,15 @@ namespace IRaCIS.Core.Application
         private readonly IRepository<ReadingCriterionDictionary> _readingCriterionDictionaryRepository;
         private readonly IReadingQuestionService iReadingQuestionService;
 
+
+        private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswer;
+
+        private readonly IRepository<VisitTask> _visitTaskRepository;
+        private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
+        private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
+
+        private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
+
         public TrialConfigService(IRepository<Trial> trialRepository,
             IRepository<TrialQCQuestion> trialQCQuestionRepository,
             IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
@@ -46,7 +55,14 @@ namespace IRaCIS.Core.Application
             IRepository<ReadingCriterionDictionary> readingCriterionDictionaryRepository,
             IReadingQuestionService iReadingQuestionService,
             IEasyCachingProvider provider,
-            IOrganInfoService iOrganInfoService
+            IOrganInfoService iOrganInfoService,
+
+              IRepository<VisitTask> visitTaskRepository,
+                IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
+               IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
+                 IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
+            IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswer
+
             )
         {
             _trialRepository = trialRepository;
@@ -58,9 +74,15 @@ namespace IRaCIS.Core.Application
             this._readingQuestionTrialRepository = readingQuestionTrialRepository;
             this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
             this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
-            this._readingCriterionPageRepository = readingCriterionPageRepository;
             this._provider = provider;
             this._iOrganInfoService = iOrganInfoService;
+            this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
+            this._readingCriterionPageRepository = readingCriterionPageRepository;
+
+            this._visitTaskRepository = visitTaskRepository;
+            this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
+            this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
+            this._readingTaskQuestionAnswer = readingTaskQuestionAnswer;
         }
 
 
@@ -193,6 +215,14 @@ namespace IRaCIS.Core.Application
                         TrialReadingCriterionId = inDto.TrialReadingCriterionId,
                     });
 
+                    // 清除多余答案
+
+                    var questionQuery = _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == inDto.TrialReadingCriterionId).AsQueryable();
+                    var tableQuestionQuery = _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == inDto.TrialReadingCriterionId).AsQueryable();
+                    await _readingTaskQuestionAnswer.BatchDeleteNoTrackingAsync(x => questionQuery.Count(y => y.Id == x.ReadingQuestionTrialId) == 0) ;
+                    await _readingTableAnswerRowInfoRepository.BatchDeleteNoTrackingAsync(x => questionQuery.Count(y => y.Id == x.QuestionId)==0);
+                    await _readingTableQuestionAnswerRepository.BatchDeleteNoTrackingAsync(x => tableQuestionQuery.Count(y => y.Id == x.TableQuestionId)==0);
+
                     var systemCriterion = await _readingQuestionCriterionSystemRepository.Where(x => x.Id == trialCriterion.ReadingQuestionCriterionSystemId).FirstNotNullAsync();
 
                     await _readingQuestionCriterionTrialRepository.BatchUpdateNoTrackingAsync(x => x.Id == inDto.TrialReadingCriterionId, x => new ReadingQuestionCriterionTrial()