yeg
2026-09-08 d4028c0ebf816ec52634e07ff682ec9b764f58d9
battery-business/src/main/java/com/battery/business/report/FormationReportRequest.java
@@ -23,7 +23,8 @@
            List<@NotNull String> metrics, Map<String, @NotNull String> seriesColors,
            Map<String, List<@NotNull Integer>> manualChargeSteps,
            Map<String, @Valid StepSelection> curveStepSelections,
            List<@NotNull String> hiddenSeriesKeys, Integer activeCycle)
            List<@NotNull String> hiddenSeriesKeys, Integer activeCycle,
            Map<String, @Valid DetailOverride> sourceDetailOverrides)
    {
        /** 旧版缺少显隐设置时显示五类指标,不补造测量快照。 */
        public List<String> metrics() { return metrics == null ? List.of("voltage", "current", "positiveVoltage", "negativeVoltage", "temperature") : metrics; }
@@ -35,6 +36,13 @@
        public void rejectUnknown(String field, Object value) { throw new ServiceException("化成设置不允许提交属性:" + field); }
    }
    /** 人工详情覆盖与来源快照分开保存,空字符串是明确填写值。 */
    public record DetailOverride(@Size(max = 500) String experimentName, Map<String, @NotNull @Size(max = 500) String> fieldValues)
    {
        @JsonAnySetter
        public void rejectUnknown(String field, Object value) { throw new ServiceException("详情调整不允许提交属性:" + field); }
    }
    /** 两组选择分别按来源循环归属;每个工步独立成线,不合并测量。 */
    public record StepSelection(@NotNull List<@NotNull Integer> charge, @NotNull List<@NotNull Integer> discharge) { }