Uat_Study
he 2022-12-12 16:35:58 +08:00
parent d98d211bb2
commit bc9e30287d
3 changed files with 34 additions and 27 deletions

View File

@ -1001,38 +1001,43 @@ namespace IRaCIS.Core.Application.Service
case GenerateTaskCategory.Global: case GenerateTaskCategory.Global:
var originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).FirstNotNullAsync(); var originalTaskInfo = await _visitTaskRepository.Where(x => x.Id == generateTaskCommand.OriginalVisitId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync();
// 需要添加全局任务再添加
foreach (var item in generateTaskCommand.ReadingGenerataTaskList) if (originalTaskInfo.TrialReadingCriterion.IsGlobalTask)
{ {
item.VisitNum = originalTaskInfo.VisitTaskNum; foreach (var item in generateTaskCommand.ReadingGenerataTaskList)
var task1 = await _visitTaskRepository.AddAsync(new VisitTask()
{ {
TrialId = trialId, item.VisitNum = originalTaskInfo.VisitTaskNum;
SubjectId = item.SubjectId, var task1 = await _visitTaskRepository.AddAsync(new VisitTask()
IsUrgent = item.IsUrgent, {
VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global], TrialId = trialId,
TaskName = item.ReadingName, SubjectId = item.SubjectId,
ArmEnum = originalTaskInfo.ArmEnum,//特殊 IsUrgent = item.IsUrgent,
VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global],
TaskName = item.ReadingName,
ArmEnum = originalTaskInfo.ArmEnum,//特殊
DoctorUserId = originalTaskInfo.DoctorUserId, DoctorUserId = originalTaskInfo.DoctorUserId,
AllocateTime = DateTime.Now, AllocateTime = DateTime.Now,
TaskAllocationState = TaskAllocationState.Allocated, TaskAllocationState = TaskAllocationState.Allocated,
SuggesteFinishedTime = DateTime.Now.AddDays(7), SuggesteFinishedTime = DateTime.Now.AddDays(7),
Code = currentMaxCodeInt + 1, Code = currentMaxCodeInt + 1,
TaskBlindName = item.ReadingName, TaskBlindName = item.ReadingName,
SouceReadModuleId = item.ReadModuleId, SouceReadModuleId = item.ReadModuleId,
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)), TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
ReadingCategory = item.ReadingCategory, ReadingCategory = item.ReadingCategory,
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId, TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
}); });
currentMaxCodeInt = currentMaxCodeInt + 1; currentMaxCodeInt = currentMaxCodeInt + 1;
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30)); _provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
}
} }
break; break;
case GenerateTaskCategory.Oncology: case GenerateTaskCategory.Oncology:

View File

@ -366,6 +366,8 @@ namespace IRaCIS.Application.Services
{ {
// 访视 // 访视
case ReadingCategory.Visit: case ReadingCategory.Visit:
// 判断是单访视裁判还是全局访视裁判
// 查找两个 访视的阅片答案 // 查找两个 访视的阅片答案
var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x => visitTaskids.Contains(x.VisitTaskId)) var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x => visitTaskids.Contains(x.VisitTaskId))
join question in _readingQuestionTrialRepository.Where(x => x.IsJudgeQuestion) on new { ReadingQuestionTrialId = questionAnswet.ReadingQuestionTrialId } equals new { ReadingQuestionTrialId = question.Id } join question in _readingQuestionTrialRepository.Where(x => x.IsJudgeQuestion) on new { ReadingQuestionTrialId = questionAnswet.ReadingQuestionTrialId } equals new { ReadingQuestionTrialId = question.Id }

View File

@ -233,7 +233,7 @@ namespace IRaCIS.Core.Application.Services
//series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList(); //series.InstancePathList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Path).ToList();
//处理多帧 //处理多帧
series.InstancePathList = instanceList.Where(s => s.SeriesId == series.Id) series.InstancePathList = instanceList.OrderBy(t => t.InstanceNumber).Where(s => s.SeriesId == series.Id)
.SelectMany(u => .SelectMany(u =>
{ {
@ -319,10 +319,10 @@ namespace IRaCIS.Core.Application.Services
item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => y.InstanceId.Value).ToList(); item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => y.InstanceId.Value).ToList();
var tempInstanceList = await _repository.Where<DicomInstance>(t => item.InstanceList.Contains(t.Id)).OrderBy(t => t.InstanceNumber) var tempInstanceList = await _repository.Where<DicomInstance>(t => item.InstanceList.Contains(t.Id)).OrderBy(t => t.InstanceNumber)
.Select(t => new { t.Path, t.NumberOfFrames }).ToListAsync(); .Select(t => new { t.Path, t.NumberOfFrames,t.InstanceNumber }).ToListAsync();
item.InstancePathList = tempInstanceList.SelectMany(u => item.InstancePathList = tempInstanceList.OrderBy(t => t.InstanceNumber).SelectMany(u =>
{ {
if (u.NumberOfFrames > 1) if (u.NumberOfFrames > 1)