This commit is contained in:
he
2023-03-31 18:09:33 +08:00
parent 032936982d
commit e5c9bf0688
5 changed files with 73 additions and 6 deletions
@@ -2436,6 +2436,9 @@ namespace IRaCIS.Application.Services
// 既往任务Id
List<Guid> pastResultTaskIdList = new List<Guid>();
// 冻结任务Id
List<Guid> reportRelatedTaskIdList = new List<Guid>();
if (isReadingTaskViewInOrder)
{
@@ -2447,13 +2450,29 @@ namespace IRaCIS.Application.Services
x.DoctorUserId == taskInfo.DoctorUserId &&
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
(x.TaskState == TaskState.Effect||x.TaskState== TaskState.Freeze) &&
x.TaskState == TaskState.Effect &&
x.IsSelfAnalysis == taskInfo.IsSelfAnalysis &&
x.IsAnalysisCreate == taskInfo.IsAnalysisCreate &&
x.ReadingCategory == taskInfo.ReadingCategory &&
x.Id != taskInfo.Id
).OrderBy(x=>x.VisitTaskNum).ThenBy(x=>x.TaskState).Select(x => x.Id).ToListAsync();
reportRelatedTaskIdList = await _visitTaskRepository.Where(x =>
x.TrialId == taskInfo.TrialId &&
x.SubjectId == taskInfo.SubjectId &&
x.VisitTaskNum <= taskInfo.VisitTaskNum &&
x.ArmEnum == taskInfo.ArmEnum &&
x.DoctorUserId == taskInfo.DoctorUserId &&
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
x.ReadingTaskState == ReadingTaskState.HaveSigned &&
(x.TaskState == TaskState.Effect||x.TaskState==TaskState.Freeze) &&
x.IsSelfAnalysis == taskInfo.IsSelfAnalysis &&
x.IsAnalysisCreate == taskInfo.IsAnalysisCreate &&
x.ReadingCategory == taskInfo.ReadingCategory &&
x.Id != taskInfo.Id
).OrderBy(x => x.VisitTaskNum).ThenBy(x => x.TaskState).Select(x => x.Id).ToListAsync();
switch (taskInfo.ReadingCategory)
{
case ReadingCategory.Visit:
@@ -2485,7 +2504,7 @@ namespace IRaCIS.Application.Services
{
ReportRelatedTaskIds = JsonConvert.SerializeObject(reportRelatedTaskIdList),
PastResultTaskIds = JsonConvert.SerializeObject(pastResultTaskIdList),
RelatedVisitTaskIds = JsonConvert.SerializeObject(relatedVisitTaskIdList),
});
@@ -2504,6 +2523,13 @@ namespace IRaCIS.Application.Services
RelevanceType = RelevanceType.Related,
}));
await _readingTaskRelationRepository.AddRangeAsync(reportRelatedTaskIdList.Select(x => new ReadingTaskRelation()
{
RelevanceTaskId = x,
TaskId = visitTaskId,
RelevanceType = RelevanceType.ReportResult,
}));
await _visitTaskRepository.SaveChangesAsync();
}
@@ -300,7 +300,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
);
if(visitTaskInfo.ReadingTaskState==ReadingTaskState.HaveSigned)
{
taskquery = _visitTaskRepository.Where(x => visitTaskInfo.RelatedVisitTaskIdList.Contains(x.Id)||x.Id==visitTaskInfo.Id);
taskquery = _visitTaskRepository.Where(x => visitTaskInfo.ReportRelatedTaskIdList.Contains(x.Id)||x.Id==visitTaskInfo.Id);
}