Compare commits
No commits in common. "52f3a88e361be63bebaa37f161a35128dd514532" and "ed014073821fbb86fde103e6f997ba0bd4d3caaa" have entirely different histories.
52f3a88e36
...
ed01407382
|
@ -40,8 +40,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
||||||
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
private readonly IRepository<ReadingTableAnswerRowInfo> _readingTableAnswerRowInfoRepository;
|
||||||
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
|
private readonly IRepository<ReadingTableQuestionAnswer> _readingTableQuestionAnswerRepository;
|
||||||
private readonly IRepository<ReadingOncologyTaskInfo> _readingOncologyTaskInfoRepository;
|
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
|
||||||
private readonly IRepository<ReadingTableQuestionTrial> _readingTableQuestionTrialRepository;
|
|
||||||
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
|
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
|
||||||
private readonly IMapper _mapper;
|
private readonly IMapper _mapper;
|
||||||
private readonly IUserInfo _userInfo;
|
private readonly IUserInfo _userInfo;
|
||||||
|
@ -61,8 +60,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
|
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
|
||||||
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
IRepository<ReadingTableAnswerRowInfo> readingTableAnswerRowInfoRepository,
|
||||||
IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
|
IRepository<ReadingTableQuestionAnswer> readingTableQuestionAnswerRepository,
|
||||||
IRepository<ReadingOncologyTaskInfo> ReadingOncologyTaskInfoRepository,
|
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
|
||||||
IRepository<ReadingTableQuestionTrial> readingTableQuestionTrialRepository,
|
|
||||||
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository,
|
||||||
IRepository<ReadingJudgeInfo> readingJudgeInfoRepository,
|
IRepository<ReadingJudgeInfo> readingJudgeInfoRepository,
|
||||||
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
|
IRepository<TaskAllocationRule> taskAllocationRuleRepository, IMapper mapper, IUserInfo userInfo, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
|
||||||
|
@ -78,8 +76,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||||
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
|
||||||
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
|
this._readingTableQuestionAnswerRepository = readingTableQuestionAnswerRepository;
|
||||||
_readingOncologyTaskInfoRepository = ReadingOncologyTaskInfoRepository;
|
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
|
||||||
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
|
|
||||||
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
|
||||||
_provider = provider;
|
_provider = provider;
|
||||||
_subjectVisitRepository = subjectVisitRepository;
|
_subjectVisitRepository = subjectVisitRepository;
|
||||||
|
@ -1609,12 +1606,11 @@ 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();
|
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();
|
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()
|
||||||
{
|
{
|
||||||
Id= id,
|
TrialId = trialId,
|
||||||
TrialId = trialId,
|
|
||||||
SubjectId = item.SubjectId,
|
SubjectId = item.SubjectId,
|
||||||
IsUrgent = originalTaskInfo.IsUrgent,
|
IsUrgent = originalTaskInfo.IsUrgent,
|
||||||
TaskName = item.ReadingName,
|
TaskName = item.ReadingName,
|
||||||
|
@ -1645,20 +1641,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
currentMaxCodeInt = currentMaxCodeInt + 1;
|
currentMaxCodeInt = currentMaxCodeInt + 1;
|
||||||
|
|
||||||
// 生成肿瘤学需要 肿瘤学阅片结果中基线,统一显示为NA
|
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
|
||||||
// 找到基线任务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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,55 +151,18 @@ namespace IRaCIS.Application.Services
|
||||||
var oncologyReadingQuestions = await _readingOncologyTaskInfoRepository.Where(x => x.OncologyTaskId == inDto.VisitTaskId).ToListAsync();
|
var oncologyReadingQuestions = await _readingOncologyTaskInfoRepository.Where(x => x.OncologyTaskId == inDto.VisitTaskId).ToListAsync();
|
||||||
// 上一次肿瘤学阅片
|
// 上一次肿瘤学阅片
|
||||||
|
|
||||||
var lastOncologyTask = await _visitTaskRepository.Where(x =>
|
|
||||||
x.ReadingCategory == ReadingCategory.Oncology
|
|
||||||
&& x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId
|
|
||||||
&& x.TaskState == TaskState.Effect
|
|
||||||
&& x.ReadingTaskState == ReadingTaskState.HaveSigned
|
|
||||||
&& x.IsAnalysisCreate == taskInfo.IsAnalysisCreate
|
|
||||||
&& x.VisitTaskNum < taskInfo.VisitTaskNum
|
|
||||||
).OrderByDescending(x => x.VisitTaskNum).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
List<ReadingOncologyTaskInfo> lastOncologyAnswerList= new List<ReadingOncologyTaskInfo>();
|
|
||||||
|
|
||||||
if (lastOncologyTask != null)
|
|
||||||
{
|
|
||||||
lastOncologyAnswerList= await _readingOncologyTaskInfoRepository.Where(x => x.OncologyTaskId == lastOncologyTask.Id).ToListAsync();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
oncologyVisits.ForEach(x =>
|
oncologyVisits.ForEach(x =>
|
||||||
{
|
{
|
||||||
var oncologyData = oncologyReadingQuestions.Where(y => y.VisitTaskId == x.VisitTaskId).FirstOrDefault();
|
var oncologyData = oncologyReadingQuestions.Where(y => y.VisitTaskId == x.VisitTaskId).FirstOrDefault();
|
||||||
var lastOncologyData = lastOncologyAnswerList.Where(y => y.VisitTaskId == x.VisitTaskId).FirstOrDefault();
|
|
||||||
|
|
||||||
var evaluationResult = string.Empty;
|
if (oncologyData != null)
|
||||||
var evaluationReason = string.Empty;
|
|
||||||
if (oncologyData != null && !oncologyData.EvaluationResult.IsNullOrEmpty())
|
|
||||||
{
|
{
|
||||||
evaluationResult = oncologyData.EvaluationResult;
|
x.EvaluationResult = oncologyData.EvaluationResult;
|
||||||
|
x.EvaluationReason = oncologyData.EvaluationReason;
|
||||||
}
|
}
|
||||||
else if (lastOncologyData != null && !lastOncologyData.EvaluationResult.IsNullOrEmpty())
|
x.QuestionList = globalTaskReadingInfo.TaskList.Where(y => x.VisitTaskId == y.VisitTaskId).SelectMany(y => y.AfterQuestionList).Where(x => x.GlobalAnswerType == GlobalAnswerType.Question)
|
||||||
{
|
|
||||||
evaluationResult = lastOncologyData.EvaluationResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (oncologyData != null && !oncologyData.EvaluationReason.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
evaluationReason = oncologyData.EvaluationReason;
|
|
||||||
}
|
|
||||||
else if (lastOncologyData != null && !lastOncologyData.EvaluationReason.IsNullOrEmpty())
|
|
||||||
{
|
|
||||||
evaluationReason = lastOncologyData.EvaluationReason;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
x.EvaluationResult = evaluationResult;
|
|
||||||
x.EvaluationReason = evaluationReason;
|
|
||||||
|
|
||||||
x.QuestionList = globalTaskReadingInfo.TaskList.Where(y => x.VisitTaskId == y.VisitTaskId).SelectMany(y => y.AfterQuestionList).Where(x => x.GlobalAnswerType == GlobalAnswerType.Question)
|
|
||||||
.Select(y => new OncologyQuestion
|
.Select(y => new OncologyQuestion
|
||||||
{
|
{
|
||||||
QuestionId = y.QuestionId ?? default(Guid),
|
QuestionId = y.QuestionId ?? default(Guid),
|
||||||
|
@ -332,7 +295,7 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
finishReading = true;
|
finishReading = true;
|
||||||
}
|
}
|
||||||
else if (judgeVisitTaskId != null && (await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId.Value&&x.JudgeResultTaskId!=null && x.ReadingTaskState == ReadingTaskState.HaveSigned)))
|
else if (judgeVisitTaskId != null && (await _visitTaskRepository.AnyAsync(x => x.Id == judgeVisitTaskId.Value && x.ReadingTaskState == ReadingTaskState.HaveSigned)))
|
||||||
{
|
{
|
||||||
finishReading = true;
|
finishReading = true;
|
||||||
}
|
}
|
||||||
|
@ -365,24 +328,9 @@ namespace IRaCIS.Application.Services
|
||||||
ReadingCategory = ReadingCategory.Oncology,
|
ReadingCategory = ReadingCategory.Oncology,
|
||||||
});
|
});
|
||||||
|
|
||||||
var originalVisit = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModuleId && x.TaskState == TaskState.Effect && x.ReadingCategory == ReadingCategory.Global
|
var originalVisitId = await _visitTaskRepository.Where(x => x.SouceReadModuleId == globalreadModuleId && x.TaskState == TaskState.Effect && x.ReadingCategory == ReadingCategory.Global
|
||||||
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate && x.TrialReadingCriterionId == readModuleInfo.TrialReadingCriterionId
|
&& x.ReadingTaskState == ReadingTaskState.HaveSigned && !x.IsAnalysisCreate && x.TrialReadingCriterionId == readModuleInfo.TrialReadingCriterionId
|
||||||
).OrderByDescending(x => x.VisitTaskNum).ThenBy(x => x.ArmEnum).FirstNotNullAsync();
|
).Select(x => x.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
var originalVisitId = default(Guid);
|
|
||||||
|
|
||||||
if (originalVisit.JudgeVisitTaskId != null)
|
|
||||||
{
|
|
||||||
originalVisitId = (await _visitTaskRepository.Where(x => x.Id == originalVisit.JudgeVisitTaskId).Select(x => x.JudgeResultTaskId).FirstOrDefaultAsync()) ?? originalVisit.Id;
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
originalVisitId = originalVisit.Id;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
await _visitTaskHelpeService.AddTaskAsync(new GenerateTaskCommand()
|
await _visitTaskHelpeService.AddTaskAsync(new GenerateTaskCommand()
|
||||||
{
|
{
|
||||||
OriginalVisitId= originalVisitId,
|
OriginalVisitId= originalVisitId,
|
||||||
|
|
Loading…
Reference in New Issue