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:
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;
var task1 = await _visitTaskRepository.AddAsync(new VisitTask()
foreach (var item in generateTaskCommand.ReadingGenerataTaskList)
{
TrialId = trialId,
SubjectId = item.SubjectId,
IsUrgent = item.IsUrgent,
VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global],
TaskName = item.ReadingName,
ArmEnum = originalTaskInfo.ArmEnum,//特殊
item.VisitNum = originalTaskInfo.VisitTaskNum;
var task1 = await _visitTaskRepository.AddAsync(new VisitTask()
{
TrialId = trialId,
SubjectId = item.SubjectId,
IsUrgent = item.IsUrgent,
VisitTaskNum = item.VisitNum + ReadingCommon.TaskNumDic[ReadingCategory.Global],
TaskName = item.ReadingName,
ArmEnum = originalTaskInfo.ArmEnum,//特殊
DoctorUserId = originalTaskInfo.DoctorUserId,
AllocateTime = DateTime.Now,
TaskAllocationState = TaskAllocationState.Allocated,
SuggesteFinishedTime = DateTime.Now.AddDays(7),
DoctorUserId = originalTaskInfo.DoctorUserId,
AllocateTime = DateTime.Now,
TaskAllocationState = TaskAllocationState.Allocated,
SuggesteFinishedTime = DateTime.Now.AddDays(7),
Code = currentMaxCodeInt + 1,
TaskBlindName = item.ReadingName,
SouceReadModuleId = item.ReadModuleId,
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
ReadingCategory = item.ReadingCategory,
Code = currentMaxCodeInt + 1,
TaskBlindName = item.ReadingName,
SouceReadModuleId = item.ReadModuleId,
TaskCode = AppSettings.GetCodeStr(currentMaxCodeInt + 1, nameof(VisitTask)),
ReadingCategory = item.ReadingCategory,
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
});
TrialReadingCriterionId = originalTaskInfo.TrialReadingCriterionId,
});
currentMaxCodeInt = currentMaxCodeInt + 1;
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
currentMaxCodeInt = currentMaxCodeInt + 1;
_provider.Set<int>($"{trialId}_{StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt, TimeSpan.FromMinutes(30));
}
}
break;
case GenerateTaskCategory.Oncology:

View File

@ -366,6 +366,8 @@ namespace IRaCIS.Application.Services
{
// 访视
case ReadingCategory.Visit:
// 判断是单访视裁判还是全局访视裁判
// 查找两个 访视的阅片答案
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 }

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(s => s.SeriesId == series.Id)
series.InstancePathList = instanceList.OrderBy(t => t.InstanceNumber).Where(s => s.SeriesId == series.Id)
.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();
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)