diff --git a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs index 7649b71e6..fd387fb5a 100644 --- a/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs +++ b/IRaCIS.Core.Application/Service/Reading/AdditionalEvaluate/SubjectCriteriaEvaluationService.cs @@ -16,6 +16,7 @@ using IRaCIS.Core.Application.Contracts; using DocumentFormat.OpenXml.Spreadsheet; using Panda.DynamicWebApi.Attributes; using IRaCIS.Core.Domain.Share.Reading; +using System.Runtime.InteropServices; namespace IRaCIS.Core.Application.Service { @@ -371,13 +372,13 @@ namespace IRaCIS.Core.Application.Service await _subjectCriteriaEvaluationVisitStudyFilterRepository.AddAsync(new SubjectCriteriaEvaluationVisitStudyFilter { SubjectVisitId = subjectVisitId, SeriesId = item.SeriesId, TrialReadingCriterionId = trialReadingCriterionId, StudyId = item.StudyId, IsConfirmed = true }); } + //自动生成任务 + if (!await _repository.AnyAsync(t => t.SourceSubjectVisitId == subjectVisitId && t.TrialReadingCriterionId == trialReadingCriterionId && t.TaskState == TaskState.Effect)) + { + var trialId = _subjectVisitRepository.Where(t => t.Id == subjectVisitId).Select(t => t.TrialId).FirstOrDefault(); - //if(! await _repository.AnyAsync(t=>t.SourceSubjectVisitId==subjectVisitId && t.TrialReadingCriterionId==trialReadingCriterionId && t.TaskState == TaskState.Effect)) - //{ - // var trialId=_subjectVisitRepository.Where(t=>t.Id==subjectVisitId).Select(t=>t.TrialId).FirstOrDefault(); - - // await _IVisitTaskHelpeService.BaseCritrionGenerateVisitTask(trialId, trialReadingCriterionId, true, new List() { subjectVisitId}); - //} + await _IVisitTaskHelpeService.BaseCritrionGenerateVisitTask(trialId, trialReadingCriterionId, true, new List() { subjectVisitId }); + } @@ -546,6 +547,13 @@ namespace IRaCIS.Core.Application.Service await _subjectCriteriaEvaluationVisitStudyFilterRepository.AddRangeAsync(_mapper.Map>(batchList)); + if (batchList.All(t => t.IsConfirmed == true)) + { + var first= batchList.First(); + await _subjectCriteriaEvaluationVisitFilterRepository.UpdatePartialFromQueryAsync(t => t.SubjectVisitId == first.SubjectVisitId && t.TrialReadingCriterionId == first.TrialReadingCriterionId, + u => new SubjectCriteriaEvaluationVisitFilter() { ImageFilterState = ImageFilterState.Finished }); + } + await _subjectCriteriaEvaluationVisitStudyFilterRepository.SaveChangesAsync(); return ResponseOutput.Ok();