From 43ec332f612ebf2897016cf119a1201ab2d237da Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 7 Jun 2024 15:04:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9A=8F=E6=9C=BA=E9=98=85?= =?UTF-8?q?=E7=89=87=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Allocation/VisitTaskHelpeService.cs | 57 ++++++++++--------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs index 4bb4af74d..976ebf9d4 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs @@ -40,8 +40,8 @@ namespace IRaCIS.Core.Application.Service private readonly IRepository _readingTaskQuestionAnswerRepository; private readonly IRepository _readingTableAnswerRowInfoRepository; private readonly IRepository _readingTableQuestionAnswerRepository; - private readonly IRepository _readingOncologyTaskInfoRepository; - private readonly IRepository _readingTableQuestionTrialRepository; + private readonly IRepository _readingOncologyTaskInfoRepository; + private readonly IRepository _readingTableQuestionTrialRepository; private readonly IRepository _readingQuestionTrialRepository; private readonly IMapper _mapper; private readonly IUserInfo _userInfo; @@ -61,8 +61,8 @@ namespace IRaCIS.Core.Application.Service IRepository readingTaskQuestionAnswerRepository, IRepository readingTableAnswerRowInfoRepository, IRepository readingTableQuestionAnswerRepository, - IRepository ReadingOncologyTaskInfoRepository, - IRepository readingTableQuestionTrialRepository, + IRepository ReadingOncologyTaskInfoRepository, + IRepository readingTableQuestionTrialRepository, IRepository readingQuestionTrialRepository, IRepository readingJudgeInfoRepository, IRepository taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository visitTaskReReadingRepository, @@ -78,8 +78,8 @@ namespace IRaCIS.Core.Application.Service this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository; this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository; this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository; - _readingOncologyTaskInfoRepository = ReadingOncologyTaskInfoRepository; - this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository; + _readingOncologyTaskInfoRepository = ReadingOncologyTaskInfoRepository; + this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository; this._readingQuestionTrialRepository = readingQuestionTrialRepository; _provider = provider; _subjectVisitRepository = subjectVisitRepository; @@ -464,11 +464,11 @@ namespace IRaCIS.Core.Application.Service .Where(t => t.TrialId == trialId && t.IsSign && t.ReadingClinicalDataState == ReadingClinicalDataStatus.HaveSigned && t.ReadingId == readingId && t.ClinicalDataTrialSet.UploadRole == UploadRole.PM).Count(); - var readModule = _readModuleRepository.Where(t => t.Id == readingId).FirstOrDefault(); + var readModule = _readModuleRepository.Where(t => t.Id == readingId).FirstOrDefault(); //CRC 阅片期自定义结构化录入是否签名 bool crcReadModuleSign = true; - + //访视 if (readingCategory == ReadingCategory.Visit) @@ -509,7 +509,7 @@ namespace IRaCIS.Core.Application.Service // 肿瘤学 else if (readingCategory == ReadingCategory.Oncology) { - needSignCount= trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead && t.UploadRole == UploadRole.PM).Count(); + needSignCount = trialClinicalDataSetList.Where(t => t.TrialClinicalDataSetCriteriaList.Any(c => c.TrialReadingCriterionId == trialReadingCriterionId) && t.ClinicalDataLevel == ClinicalLevel.OncologyRead && t.UploadRole == UploadRole.PM).Count(); if (readModule != null) { // 不存在需要CRC上传的临床数据 或者 PM已确认 @@ -527,7 +527,7 @@ namespace IRaCIS.Core.Application.Service } //可能仅仅CRC 基线 没有PM - if (needSignCount == haveSignedCount && crcReadModuleSign ) + if (needSignCount == haveSignedCount && crcReadModuleSign) { isClinicalDataSign = true; @@ -669,21 +669,22 @@ namespace IRaCIS.Core.Application.Service var isFrontTaskNeedSignButNotSign = await _visitTaskRepository.AnyAsync(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.SubjectId == subjectVisit.SubjectId && t.TaskState == TaskState.Effect && t.VisitTaskNum < subjectVisit.VisitNum && t.IsNeedClinicalDataSign == true && t.IsClinicalDataSign == false); - if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0) + if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder) { - blindTaskName = visitBlindConfig.BlindBaseLineName; - } - else - { - if (trialReadingCriterionConfig.IsReadingTaskViewInOrder == ReadingOrder.InOrder) + if (visitNumList.IndexOf(subjectVisit.VisitNum) == 0) { - blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum); + blindTaskName = visitBlindConfig.BlindBaseLineName; } else { - blindTaskName = visitBlindConfig.BlindFollowUpPrefix; + blindTaskName = visitBlindConfig.BlindFollowUpPrefix + " " + visitNumList.IndexOf(subjectVisit.VisitNum); + } } + else + { + blindTaskName = visitBlindConfig.BlindFollowUpPrefix; + } //每个访视 根据项目配置生成任务 双审生成两个 @@ -1076,7 +1077,7 @@ namespace IRaCIS.Core.Application.Service TrialReadingCriterionId = trialReadingCriterionConfig.TrialReadingCriterionId, IsNeedClinicalDataSign = isNeedClinicalDataSign, IsClinicalDataSign = isClinicalDataSign, - IsFrontTaskNeedSignButNotSign= isFrontTaskNeedSignButNotSign + IsFrontTaskNeedSignButNotSign = isFrontTaskNeedSignButNotSign }); @@ -1610,12 +1611,12 @@ namespace IRaCIS.Core.Application.Service var oncologySubjectUser = await _subjectUserRepository.Where(x => x.SubjectId == item.SubjectId && x.ArmEnum == Arm.TumorArm && x.IsConfirmed && x.TrialReadingCriterionId == originalTaskInfo.TrialReadingCriterionId).FirstOrDefaultAsync(); item.VisitNum = await _readModuleRepository.Where(x => x.Id == item.ReadModuleId).Select(x => x.SubjectVisit.VisitNum).FirstOrDefaultAsync(); - var id= NewId.NextGuid(); + var id = NewId.NextGuid(); - var singleTask = await _visitTaskRepository.AddAsync(new VisitTask() + var singleTask = await _visitTaskRepository.AddAsync(new VisitTask() { - Id= id, - TrialId = trialId, + Id = id, + TrialId = trialId, SubjectId = item.SubjectId, IsUrgent = originalTaskInfo.IsUrgent, TaskName = item.ReadingName, @@ -1649,20 +1650,20 @@ namespace IRaCIS.Core.Application.Service // 生成肿瘤学需要 肿瘤学阅片结果中基线,统一显示为NA // 找到基线任务ID var baseLineTaskId = await _visitTaskRepository.Where(x => x.TaskState == TaskState.Effect - && x.ArmEnum == originalTaskInfo.ArmEnum && x.VisitTaskNum == 0 - && x.SubjectId== originalTaskInfo.SubjectId - && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == originalTaskInfo.TrialReadingCriterionId).Select(x => x.Id).FirstNotNullAsync(); + && x.ArmEnum == originalTaskInfo.ArmEnum && x.VisitTaskNum == 0 + && x.SubjectId == originalTaskInfo.SubjectId + && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == originalTaskInfo.TrialReadingCriterionId).Select(x => x.Id).FirstNotNullAsync(); await _readingOncologyTaskInfoRepository.AddAsync(new ReadingOncologyTaskInfo() { EvaluationResult = "-1", - EvaluationReason=string.Empty, + EvaluationReason = string.Empty, OncologyTaskId = id, VisitTaskId = baseLineTaskId, SubjectId = originalTaskInfo.SubjectId, TrialId = originalTaskInfo.TrialId }); - _provider.Set($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30)); + _provider.Set($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30)); } break; }