修改一版

Uat_Study
he 2022-06-22 14:30:19 +08:00
parent 62c30ceef3
commit 89cd7a9008
5 changed files with 54 additions and 12 deletions

View File

@ -141,6 +141,20 @@ namespace IRaCIS.Core.Application.ViewModel
}
public class ReadingGenerataTaskDTO
{
public Guid Id { get; set; }
public Guid SubjectId { get; set; }
public bool IsUrgent { get; set; }
public string ReadingName { get; set; }
public ReadingCategory ReadingCategory { get; set; }
}
public class VisitGenerataTaskDTO
{
public Guid Id { get; set; }

View File

@ -56,7 +56,7 @@ namespace IRaCIS.Core.Application.Service
var subjectVisitList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).ProjectTo<VisitGenerataTaskDTO>(_mapper.ConfigurationProvider).Distinct().ToList();
await AddTaskAsync(new GenerateTaskCommand() { TrialId = trialId, IsAssignSubjectToDoctor = isAssignSubjectToDoctor, VisitGenerataTaskList = subjectVisitList });
await AddTaskAsync(new GenerateTaskCommand() { TrialId = trialId, IsAssignSubjectToDoctor = isAssignSubjectToDoctor, VisitGenerataTaskList = subjectVisitList, ReadingCategory= ReadingCategory.Visit });
}
@ -311,7 +311,7 @@ namespace IRaCIS.Core.Application.Service
JudgeVisitTaskId = visitTask.Id
});
await _visitTaskRepository.AddAsync(visitTask);
}
else if(generateTaskCommand.ReadingCategory == ReadingCategory.ReadingPeriod)
{
@ -350,8 +350,7 @@ namespace IRaCIS.Core.Application.Service
_provider.Set<int>($"{trialId }_{ StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt + 2, TimeSpan.FromMinutes(30));
await _visitTaskRepository.AddAsync(task1);
await _visitTaskRepository.AddAsync(task2);
}
else
{
@ -375,7 +374,7 @@ namespace IRaCIS.Core.Application.Service
_provider.Set<int>($"{trialId }_{ StaticData.CacheKey.TaskMaxCode}", currentMaxCodeInt + 1, TimeSpan.FromMinutes(30));
await _visitTaskRepository.AddAsync(singleTask);
}
}

View File

@ -150,7 +150,7 @@ namespace IRaCIS.Core.Application.Service
var pageList = await visitTaskQueryable.ToPagedListAsync(queryVisitTask.PageIndex, queryVisitTask.PageSize, queryVisitTask.SortField, queryVisitTask.Asc, string.IsNullOrWhiteSpace(queryVisitTask.SortField), defalutSortArray);
var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo<TrialTaskConfig>(_mapper.ConfigurationProvider).FirstOrDefault();
var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo<TrialTaskConfigView>(_mapper.ConfigurationProvider).FirstOrDefault();
return (pageList, trialTaskConfig);
}

View File

@ -31,6 +31,7 @@ namespace IRaCIS.Application.Services
private readonly IRepository<VisitTask> _visitTaskRepository;
private readonly IVisitTaskHelpeService _visitTaskHelpeService;
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ReadModule> _readModuleRepository;
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _readingQuestionCriterionTrialRepository;
private readonly IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository;
@ -42,6 +43,7 @@ namespace IRaCIS.Application.Services
IRepository<VisitTask> visitTaskRepository,
IVisitTaskHelpeService visitTaskHelpeService,
IRepository<SubjectVisit> subjectVisitRepository,
IRepository<ReadModule> readModuleRepository,
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository,
IRepository<ReadingQuestionCriterionTrial> readingQuestionCriterionTrialRepository,
IRepository<ReadingQuestionTrial> readingQuestionTrialRepository
@ -52,6 +54,7 @@ namespace IRaCIS.Application.Services
this._visitTaskRepository = visitTaskRepository;
this._visitTaskHelpeService = visitTaskHelpeService;
this._subjectVisitRepository = subjectVisitRepository;
this._readModuleRepository = readModuleRepository;
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
@ -144,7 +147,8 @@ namespace IRaCIS.Application.Services
List<NoneDicomStudyView> result=await _noneDicomStudyRepository.Where(t => visitIds.Contains(t.SubjectVisitId))
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync();
return (result, new {
VisitTaskId= task.VisistTaskId
VisitTaskId= task.VisistTaskId,
SubjectId=task.SubjectId,
});
}
@ -180,7 +184,6 @@ namespace IRaCIS.Application.Services
QuestionName = x.QuestionName,
TypeValue =x.TypeValue,
ReadingQuestionTrialId = x.Id
}).ToListAsync();
return result;
}
@ -312,13 +315,32 @@ namespace IRaCIS.Application.Services
return ResponseOutput.Ok(result);
}
public async Task FinishReadUpdateState()
{
}
/// <summary>
/// 添加阅片期任务
/// </summary>
/// <returns></returns>
private async Task AddReadingTask(Guid VisitTaskId)
{
// ****** 先生成阅片期 阅片期任务阅片完成之后生成肿瘤学的 如果没有阅片期 直接生成肿瘤学 *********////
var taskInfo = await _visitTaskRepository.Where(x => x.Id == VisitTaskId).FirstOrDefaultAsync();
if (taskInfo.ReadingCategory == ReadingCategory.Visit)
{
if (!await _visitTaskRepository.AnyAsync(x => x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && x.ReadingTaskState != ReadingTaskState.HaveSigned))
{
var needReadList = await _readModuleRepository.Where(x => x.SubjectVisitId == taskInfo.SourceSubjectVisitId).ToListAsync();
}
}
}
/// <summary>
@ -329,7 +351,7 @@ namespace IRaCIS.Application.Services
private async Task TriggerJudgeQuestionNew(Guid VisitTaskId)
{
var visitTask = await _visitTaskRepository.Where(x => x.Id == VisitTaskId).FirstOrDefaultAsync();
var visitTaskids = await _visitTaskRepository.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.SourceSubjectVisitId == visitTask.SourceSubjectVisitId && x.SouceReadModuleId == visitTask.SouceReadModuleId).Select(x => x.Id).ToListAsync();
var visitTaskids = await _visitTaskRepository.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned &&x.ReadingCategory!= ReadingCategory.Judge && x.SourceSubjectVisitId == visitTask.SourceSubjectVisitId && x.SouceReadModuleId == visitTask.SouceReadModuleId).Select(x => x.Id).ToListAsync();
if (visitTaskids.Count == 2)
{
var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x => visitTaskids.Contains(x.VisitTaskId))
@ -395,7 +417,7 @@ namespace IRaCIS.Application.Services
private async Task TriggerJudgeQuestionOld(Guid VisitTaskId)
{
var visitTask = await _visitTaskRepository.Where(x => x.Id == VisitTaskId).FirstOrDefaultAsync();
var visitTaskids = await _visitTaskRepository.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.SourceSubjectVisitId == visitTask.SourceSubjectVisitId && x.SouceReadModuleId == visitTask.SouceReadModuleId).Select(x => x.Id).ToListAsync();
var visitTaskids = await _visitTaskRepository.Where(x => x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReadingCategory != ReadingCategory.Judge && x.SourceSubjectVisitId == visitTask.SourceSubjectVisitId && x.SouceReadModuleId == visitTask.SouceReadModuleId).Select(x => x.Id).ToListAsync();
if (visitTaskids.Count == 2)
{
var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x=> visitTaskids.Contains(x.VisitTaskId))

View File

@ -14,7 +14,14 @@ namespace IRaCIS.Core.Domain.Share
Global=3,
//裁判
Judge=4
Judge=4,
/// <summary>
/// 肿瘤学
/// </summary>
Oncology=5,
}
public enum TaskState