Merge branch 'Test_IRC_Net10' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net10
commit
39eade67f0
|
|
@ -17510,17 +17510,17 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Question">
|
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Question">
|
||||||
<summary>
|
<summary>
|
||||||
质疑
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Consistency">
|
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Consistency">
|
||||||
<summary>
|
<summary>
|
||||||
一致性核查
|
һ<EFBFBD><EFBFBD><EFBFBD>Ժ˲<EFBFBD>
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:IRaCIS.Core.Application.ViewModel.CopyFrontAuditConfigItemDto">
|
<member name="T:IRaCIS.Core.Application.ViewModel.CopyFrontAuditConfigItemDto">
|
||||||
<summary>
|
<summary>
|
||||||
复制
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeView">
|
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeView">
|
||||||
|
|
|
||||||
|
|
@ -192,6 +192,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
public class GetReadingReportEvaluationOutDto
|
public class GetReadingReportEvaluationOutDto
|
||||||
{
|
{
|
||||||
|
public Guid? VisitTaskId { get; set; }
|
||||||
|
|
||||||
public object ReportCalculateResult { get; set; }
|
public object ReportCalculateResult { get; set; }
|
||||||
|
|
||||||
|
|
@ -472,6 +473,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public Guid? StudyId { get; set; }
|
public Guid? StudyId { get; set; }
|
||||||
|
|
||||||
public string StudyInstanceUid { get; set; }
|
public string StudyInstanceUid { get; set; }
|
||||||
|
public string SopInstanceUid { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetCustomTagInDto
|
public class GetCustomTagInDto
|
||||||
|
|
@ -566,6 +568,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public string Value { get; set; }
|
public string Value { get; set; }
|
||||||
|
|
||||||
public string DictionaryCode { get; set; }
|
public string DictionaryCode { get; set; }
|
||||||
|
|
||||||
|
public bool IsHighlight { get; set; } = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ChartItem
|
public class ChartItem
|
||||||
|
|
|
||||||
|
|
@ -457,6 +457,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
InstanceId = x.InstanceId,
|
InstanceId = x.InstanceId,
|
||||||
SeriesId = x.SeriesId,
|
SeriesId = x.SeriesId,
|
||||||
StudyId = x.StudyId,
|
StudyId = x.StudyId,
|
||||||
|
SopInstanceUid = x.Instance.SopInstanceUid,
|
||||||
StudyInstanceUid = x.Instance.StudyInstanceUid,
|
StudyInstanceUid = x.Instance.StudyInstanceUid,
|
||||||
|
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
@ -471,6 +472,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
InstanceId = x.InstanceId,
|
InstanceId = x.InstanceId,
|
||||||
SeriesId = x.SeriesId,
|
SeriesId = x.SeriesId,
|
||||||
StudyId = x.StudyId,
|
StudyId = x.StudyId,
|
||||||
|
SopInstanceUid = x.Instance.SopInstanceUid,
|
||||||
StudyInstanceUid = x.Instance.StudyInstanceUid,
|
StudyInstanceUid = x.Instance.StudyInstanceUid,
|
||||||
|
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository,
|
IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository,
|
||||||
IRepository<OrganInfo> _organInfoRepository,
|
IRepository<OrganInfo> _organInfoRepository,
|
||||||
IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository,
|
IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository,
|
||||||
|
IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository,
|
||||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||||
IRepository<TumorAssessment_IRECIST1Point1> _tumorAssessmentRepository,
|
IRepository<TumorAssessment_IRECIST1Point1> _tumorAssessmentRepository,
|
||||||
IGeneralCalculateService _generalCalculateService,
|
IGeneralCalculateService _generalCalculateService,
|
||||||
|
|
@ -508,12 +509,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
TrialId = task.TrialId,
|
TrialId = task.TrialId,
|
||||||
VisitTaskId = task.Id,
|
VisitTaskId = task.Id,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
data.VisitTaskId= task.Id;
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
EvaluationColumn BuildEvaluationTable(GetReadingReportEvaluationOutDto r1, GetReadingReportEvaluationOutDto r2)
|
async Task<EvaluationColumn> BuildEvaluationTable(GetReadingReportEvaluationOutDto r1, GetReadingReportEvaluationOutDto r2)
|
||||||
{
|
{
|
||||||
EvaluationColumn result = new EvaluationColumn()
|
EvaluationColumn result = new EvaluationColumn()
|
||||||
{
|
{
|
||||||
|
|
@ -537,6 +540,54 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Arm? highlightArm = null;
|
||||||
|
ArbitrationRule? highlightRule = null;
|
||||||
|
decimal? highlightVisitTaskNum = null;
|
||||||
|
|
||||||
|
if (r1.VisitTaskId != null && r2.VisitTaskList != null)
|
||||||
|
{
|
||||||
|
var judgeInfo =await _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.TrialReadingCriterionId == inDto.TrialCriterionId
|
||||||
|
&& x.TaskState == TaskState.Effect && x.ReadingTaskState == ReadingTaskState.HaveSigned
|
||||||
|
&& x.ReadingCategory== ReadingCategory.Judge
|
||||||
|
|
||||||
|
).OrderByDescending(x => x.VisitTaskNum).Include(x=>x.JudgeResultTask).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
if (judgeInfo != null && judgeInfo.JudgeResultTask != null)
|
||||||
|
{
|
||||||
|
if (judgeInfo.JudgeResultTask.ArmEnum == Arm.DoubleReadingArm1
|
||||||
|
|| judgeInfo.JudgeResultTask.ArmEnum == Arm.DoubleReadingArm2)
|
||||||
|
{
|
||||||
|
highlightArm = judgeInfo.JudgeResultTask.ArmEnum;
|
||||||
|
highlightRule = criterion.ArbitrationRule;
|
||||||
|
highlightVisitTaskNum = judgeInfo.VisitTaskNum;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetHighlight(List<EvaluationValue> data, Arm arm)
|
||||||
|
{
|
||||||
|
if (highlightArm != arm || highlightVisitTaskNum == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (highlightRule == ArbitrationRule.Reading)
|
||||||
|
{
|
||||||
|
for (var index = 0; index < data.Count && index < highlightVisitTaskNum.Value; index++)
|
||||||
|
{
|
||||||
|
data[index].IsHighlight = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (highlightRule == ArbitrationRule.Visit)
|
||||||
|
{
|
||||||
|
var index = decimal.ToInt32(decimal.Floor(highlightVisitTaskNum.Value));
|
||||||
|
if (index >= 0 && index < data.Count)
|
||||||
|
{
|
||||||
|
data[index].IsHighlight = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
result.Evaluation.Add(visitTaskName.Select(x => new EvaluationValue()
|
result.Evaluation.Add(visitTaskName.Select(x => new EvaluationValue()
|
||||||
|
|
@ -570,6 +621,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
r1data = r1data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
|
r1data = r1data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
|
||||||
.Take(length)
|
.Take(length)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
SetHighlight(r1data, Arm.DoubleReadingArm1);
|
||||||
result.Evaluation.Add(r1data);
|
result.Evaluation.Add(r1data);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -601,6 +653,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
r2data = r2data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
|
r2data = r2data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
|
||||||
.Take(length)
|
.Take(length)
|
||||||
.ToList();
|
.ToList();
|
||||||
|
SetHighlight(r2data, Arm.DoubleReadingArm2);
|
||||||
result.Evaluation.Add(r2data);
|
result.Evaluation.Add(r2data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -679,7 +732,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
result.Evaluation = BuildEvaluationTable(r1Data, r2Data);
|
result.Evaluation =await BuildEvaluationTable(r1Data, r2Data);
|
||||||
if (r1Data != null)
|
if (r1Data != null)
|
||||||
{
|
{
|
||||||
var r1Target = await BuildTargetChart(r1Data, Arm.DoubleReadingArm1);
|
var r1Target = await BuildTargetChart(r1Data, Arm.DoubleReadingArm1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue