修改BM退回

This commit is contained in:
2023-03-27 16:38:59 +08:00
parent 3e3fc13602
commit 1dae1834a4
9 changed files with 152 additions and 53 deletions
@@ -25,15 +25,20 @@ namespace IRaCIS.Core.Application.Triggers
private readonly IRepository<SubjectCriteriaEvaluationVisitFilter> _SubjectCriteriaEvaluationVisitFilterRepository;
private readonly ISubjectCriteriaEvaluationService _subjectCriteriaEvaluationService;
private readonly IRepository<SubjectCriteriaEvaluation> _subjectCriteriaEvaluationRepository;
public SubjectVisitCheckPassedTrigger(IRepository<Subject> subjectRepository,
IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
IRepository<ReadingClinicalData> readingClinicalDataRepository,
IVisitTaskHelpeService visitTaskHelpeService, IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository,
IRepository<SubjectCriteriaEvaluationVisitFilter> subjectCriteriaEvaluationVisitFilterRepository, ISubjectCriteriaEvaluationService subjectCriteriaEvaluationService)
IRepository<SubjectCriteriaEvaluationVisitFilter> subjectCriteriaEvaluationVisitFilterRepository, ISubjectCriteriaEvaluationService subjectCriteriaEvaluationService
, IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository)
{
_subjectCriteriaEvaluationRepository= subjectCriteriaEvaluationRepository;
_subjectRepository = subjectRepository;
_clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
_readingClinicalDataRepository = readingClinicalDataRepository;
@@ -66,7 +71,7 @@ namespace IRaCIS.Core.Application.Triggers
context.Entity.IsPMBackOrReReading = false;
//找到手动生成任务的标准
var criterionList = await _trialReadingCriterionRepository.Where(t => t.IsAutoCreate == false && t.IsSigned == true).Select(t => new { t.Id, t.TrialId }).ToListAsync();
var criterionList = await _trialReadingCriterionRepository.Where(t => t.IsAutoCreate == false && t.IsSigned == true).Select(t => new { t.Id, t.TrialId,t.IsReadingTaskViewInOrder }).ToListAsync();
foreach (var criterion in criterionList)
{
@@ -75,7 +80,16 @@ namespace IRaCIS.Core.Application.Triggers
// await _SubjectCriteriaEvaluationVisitFilterRepository.AddAsync(new SubjectCriteriaEvaluationVisitFilter() { SubjectId = subjectVisit.SubjectId, SubjectVisitId = subjectVisit.Id, TrialReadingCriterionId = criterion.Id });
//}
await _subjectCriteriaEvaluationService.AutoSubjectCriteriaEvaluationVisitFilter(subjectVisit.SubjectId, subjectVisit.Id, criterion.Id);
//如果参与评估,那么久对当前访视进行自动筛选
if( await _subjectCriteriaEvaluationRepository.AnyAsync(t=>t.SubjectId==subjectVisit.SubjectId && t.TrialReadingCriterionId==criterion.Id && t.IsJoinEvaluation))
{
await _subjectCriteriaEvaluationService.AutoSubjectCriteriaEvaluationVisitFilter(subjectVisit.SubjectId, subjectVisit.Id, criterion.Id);
}
}
await _visitTaskHelpeService.GenerateVisitTaskAsync(subjectVisit.TrialId, new List<Guid>() { subjectVisit.Id }, true);