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 name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Question">
|
||||
<summary>
|
||||
质疑
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:IRaCIS.Core.Application.ViewModel.AccessToDialogueEnum.Consistency">
|
||||
<summary>
|
||||
一致性核查
|
||||
һ<EFBFBD><EFBFBD><EFBFBD>Ժ˲<EFBFBD>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.CopyFrontAuditConfigItemDto">
|
||||
<summary>
|
||||
复制
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:IRaCIS.Core.Application.ViewModel.SystemNoticeView">
|
||||
|
|
|
|||
|
|
@ -192,6 +192,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
|
||||
public class GetReadingReportEvaluationOutDto
|
||||
{
|
||||
public Guid? VisitTaskId { get; set; }
|
||||
|
||||
public object ReportCalculateResult { get; set; }
|
||||
|
||||
|
|
@ -472,6 +473,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public Guid? StudyId { get; set; }
|
||||
|
||||
public string StudyInstanceUid { get; set; }
|
||||
public string SopInstanceUid { get; set; }
|
||||
}
|
||||
|
||||
public class GetCustomTagInDto
|
||||
|
|
@ -566,6 +568,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
|||
public string Value { get; set; }
|
||||
|
||||
public string DictionaryCode { get; set; }
|
||||
|
||||
public bool IsHighlight { get; set; } = false;
|
||||
}
|
||||
|
||||
public class ChartItem
|
||||
|
|
|
|||
|
|
@ -457,6 +457,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
InstanceId = x.InstanceId,
|
||||
SeriesId = x.SeriesId,
|
||||
StudyId = x.StudyId,
|
||||
SopInstanceUid = x.Instance.SopInstanceUid,
|
||||
StudyInstanceUid = x.Instance.StudyInstanceUid,
|
||||
|
||||
}).ToListAsync();
|
||||
|
|
@ -471,6 +472,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
InstanceId = x.InstanceId,
|
||||
SeriesId = x.SeriesId,
|
||||
StudyId = x.StudyId,
|
||||
SopInstanceUid = x.Instance.SopInstanceUid,
|
||||
StudyInstanceUid = x.Instance.StudyInstanceUid,
|
||||
|
||||
}).ToListAsync();
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
IRepository<ReadingQuestionTrial> _readingQuestionTrialRepository,
|
||||
IRepository<OrganInfo> _organInfoRepository,
|
||||
IRepository<ReadingGlobalTaskInfo> _readingGlobalTaskInfoRepository,
|
||||
IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<TumorAssessment_IRECIST1Point1> _tumorAssessmentRepository,
|
||||
IGeneralCalculateService _generalCalculateService,
|
||||
|
|
@ -508,12 +509,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
TrialId = task.TrialId,
|
||||
VisitTaskId = task.Id,
|
||||
});
|
||||
|
||||
data.VisitTaskId= task.Id;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
EvaluationColumn BuildEvaluationTable(GetReadingReportEvaluationOutDto r1, GetReadingReportEvaluationOutDto r2)
|
||||
async Task<EvaluationColumn> BuildEvaluationTable(GetReadingReportEvaluationOutDto r1, GetReadingReportEvaluationOutDto r2)
|
||||
{
|
||||
EvaluationColumn result = new EvaluationColumn()
|
||||
{
|
||||
|
|
@ -537,6 +540,54 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
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()
|
||||
|
|
@ -570,6 +621,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
r1data = r1data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
|
||||
.Take(length)
|
||||
.ToList();
|
||||
SetHighlight(r1data, Arm.DoubleReadingArm1);
|
||||
result.Evaluation.Add(r1data);
|
||||
|
||||
|
||||
|
|
@ -601,6 +653,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
|
|||
r2data = r2data.Concat(Enumerable.Repeat(new EvaluationValue() { Value = "" }, length))
|
||||
.Take(length)
|
||||
.ToList();
|
||||
SetHighlight(r2data, Arm.DoubleReadingArm2);
|
||||
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)
|
||||
{
|
||||
var r1Target = await BuildTargetChart(r1Data, Arm.DoubleReadingArm1);
|
||||
|
|
|
|||
Loading…
Reference in New Issue