diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index df6badcbf..f7b3bc8aa 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -17510,17 +17510,17 @@
- 质疑
+ ����
- 一致性核查
+ һ���Ժ˲�
- 复制
+ ����
diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
index 428ea3d82..cc20f70a7 100644
--- a/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
+++ b/IRaCIS.Core.Application/Service/ReadingCalculate/General/ReadingCalculateService.cs
@@ -540,16 +540,53 @@ 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 = _visitTaskRepository.Where(x => x.SubjectId == inDto.SubjectId && x.TrialReadingCriterionId == inDto.TrialCriterionId
+ 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 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;
+ }
+ }
}
@@ -584,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);
@@ -615,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);
}