修改一版
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user