肿瘤学阅片

This commit is contained in:
he
2024-01-17 10:07:58 +08:00
parent 4bbfacd7de
commit 35687c01ec
2 changed files with 84 additions and 15 deletions
@@ -40,7 +40,8 @@ namespace IRaCIS.Core.Application.Service
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
private readonly IRepository<ReadingOncologyTaskInfo> _readingOncologyTaskInfoRepository;
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
private readonly IMapper _mapper;
private readonly IUserInfo _userInfo;
@@ -60,7 +61,8 @@ namespace IRaCIS.Core.Application.Service
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingOncologyTaskInfo> ReadingOncologyTaskInfoRepository,
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
IRepository<ReadingJudgeInfo> readingJudgeInfoRepository,
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
@@ -76,7 +78,8 @@ namespace IRaCIS.Core.Application.Service
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
_readingOncologyTaskInfoRepository = ReadingOncologyTaskInfoRepository;
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
_provider = provider;
_subjectVisitRepository = subjectVisitRepository;
@@ -1606,11 +1609,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 singleTask = await _visitTaskRepository.AddAsync(new VisitTask()
var singleTask = await _visitTaskRepository.AddAsync(new VisitTask()
{
TrialId = trialId,
Id= id,
TrialId = trialId,
SubjectId = item.SubjectId,
IsUrgent = originalTaskInfo.IsUrgent,
TaskName = item.ReadingName,
@@ -1641,7 +1645,20 @@ namespace IRaCIS.Core.Application.Service
currentMaxCodeInt = currentMaxCodeInt + 1;
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
// 生成肿瘤学需要 肿瘤学阅片结果中基线,统一显示为NA
// 找到基线任务ID
var baseLineTaskId = await _visitTaskRepository.Where(x => x.TaskState == TaskState.Effect
&& x.ArmEnum == originalTaskInfo.ArmEnum && x.VisitTaskNum == 0 && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.TrialReadingCriterionId == originalTaskInfo.TrialReadingCriterionId).Select(x => x.Id).FirstNotNullAsync();
await _readingOncologyTaskInfoRepository.AddAsync(new ReadingOncologyTaskInfo()
{
EvaluationResult = "-1",
OncologyTaskId = id,
VisitTaskId = baseLineTaskId,
SubjectId = originalTaskInfo.SubjectId,
TrialId = originalTaskInfo.TrialId
});
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
}
break;
}