diff --git a/YD_Event.Application/Judge/JudgeScoringController.cs b/YD_Event.Application/Judge/JudgeScoringController.cs index dc93f53..1c960e0 100644 --- a/YD_Event.Application/Judge/JudgeScoringController.cs +++ b/YD_Event.Application/Judge/JudgeScoringController.cs @@ -368,8 +368,11 @@ public class JudgeScoringController : IDynamicApiController var legacyInteraction = roleType == "T" && (ctx.Config.RuleType.ToUpperInvariant() is "FREESTYLE_DOUBLE_SYNC" or "FREESTYLE_QUAD_SYNC") ? details.FirstOrDefault(x => x.ItemCode == "REQ_INTERACTION") : null; - // 仅排除已退役的互动配合录入项,历史明细仍保留在原评分单中供复核。 - var inputs = details.Where(x => legacyInteraction == null || x.ItemCode != "REQ_INTERACTION") + // 历史评分单还包含服务端生成的表现失误联动等明细。这些不是裁判输入项, + // 不能在修正预览时重新传给 Calculate 校验;原明细仍保留在旧评分单供复核。 + // 同时排除已退役的互动配合录入项,避免旧规则的输入阻断新评分表。 + var inputs = details.Where(x => !x.IsAutoGenerated + && (legacyInteraction == null || x.ItemCode != "REQ_INTERACTION")) .Select(x => new ScoreItemInputValue { ItemCode = x.ItemCode,