+34
-9
@@ -52,14 +52,28 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
// 先找到是R1还是R2的阅片 先找到全局阅片
|
||||
|
||||
var globalTaskInfo = await _visitTaskRepository
|
||||
.Where(x => x.SubjectId == taskInfo.SubjectId &&
|
||||
x.TaskState == TaskState.Effect &&
|
||||
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
|
||||
x.ReadingCategory == ReadingCategory.Global &&
|
||||
x.VisitTaskNum < taskInfo.VisitTaskNum
|
||||
).OrderByDescending(x => x.VisitTaskNum)
|
||||
.FirstNotNullAsync();
|
||||
VisitTask? globalTaskInfo = null;
|
||||
var relatedVisitTaskIdList = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.RelatedVisitTaskIdList).FirstNotNullAsync();
|
||||
if (taskInfo.ReadingTaskState == ReadingTaskState.HaveSigned && relatedVisitTaskIdList.Count() > 0)
|
||||
{
|
||||
if (relatedVisitTaskIdList.Count() > 0)
|
||||
{
|
||||
globalTaskInfo = await _visitTaskRepository.Where(x => x.Id == relatedVisitTaskIdList[0]).FirstNotNullAsync();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
globalTaskInfo = await _visitTaskRepository
|
||||
.Where(x => x.SubjectId == taskInfo.SubjectId &&
|
||||
x.TaskState == TaskState.Effect &&
|
||||
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
|
||||
x.ReadingCategory == ReadingCategory.Global &&
|
||||
x.VisitTaskNum < taskInfo.VisitTaskNum
|
||||
).OrderByDescending(x => x.VisitTaskNum)
|
||||
.FirstNotNullAsync();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 最后取哪组的数据
|
||||
@@ -72,6 +86,7 @@ namespace IRaCIS.Application.Services
|
||||
if (globalTaskInfo.JudgeVisitTaskId == null)
|
||||
{
|
||||
visitTask = globalTaskInfo;
|
||||
visitTaskIdList = await _visitTaskRepository.Where(x => x.Id == visitTask.Id).Select(x => x.RelatedVisitTaskIdList).FirstNotNullAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -184,7 +199,17 @@ namespace IRaCIS.Application.Services
|
||||
|
||||
await _readingOncologyTaskInfoRepository.AddRangeAsync(readingOncologies);
|
||||
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == inDto.OncologyTaskId, u => new VisitTask() { ReadingTaskState = ReadingTaskState.Reading });
|
||||
var relatedVisitTaskIdList=new List<Guid>();
|
||||
relatedVisitTaskIdList.Add(inDto.GlobalTaskId);
|
||||
|
||||
var relatedVisitTaskIds = JsonConvert.SerializeObject(relatedVisitTaskIdList);
|
||||
|
||||
// 这里先保存 签名的时候 会统一创建关系
|
||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == inDto.OncologyTaskId, u => new VisitTask()
|
||||
{
|
||||
ReadingTaskState = ReadingTaskState.Reading,
|
||||
RelatedVisitTaskIds = relatedVisitTaskIds
|
||||
}) ;
|
||||
|
||||
var result = await _readingOncologyTaskInfoRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user