| | |
| | | || entry.getValue() == null || entry.getValue().length() > 500)) throw new ServiceException("详情字段名称或值无效"); |
| | | } |
| | | } |
| | | for (Item item : items) if (item.stepCurves() != null) item.stepCurves().forEach((cycle, ranges) -> ranges.keySet().forEach(step -> sources.add(sourceKey(item) + "|" + cycle + "|" + step))); |
| | | for (Item item : items) if (item.stepCurves() != null) item.chargeSteps().forEach((cycle, ranges) -> ranges.forEach(step -> sources.add(sourceKey(item) + "|" + cycle + "|" + step.stepNo()))); |
| | | if (settings.hiddenSeriesKeys() != null && !sources.containsAll(settings.hiddenSeriesKeys())) throw new ServiceException("隐藏曲线不属于当前来源工步"); |
| | | if (!sources.containsAll(settings.seriesColors().keySet()) || settings.seriesColors().values().stream() |
| | | .anyMatch(color -> color == null || !color.matches("#[0-9a-fA-F]{6}"))) throw new ServiceException("化成曲线颜色或来源无效"); |
| | |
| | | if (active != null && !cycles.contains(active) && !refresh) throw new ServiceException("曲线循环不属于当前报表"); |
| | | if (active == null || !cycles.contains(active)) active = cycles.isEmpty() ? null : cycles.get(0); |
| | | Set<String> series = new HashSet<>(); |
| | | for (Item item : items) { series.add(sourceKey(item)); item.stepCurves().forEach((cycle, ranges) -> ranges.keySet().forEach(step -> series.add(sourceKey(item) + "|" + cycle + "|" + step))); } |
| | | for (Item item : items) { series.add(sourceKey(item)); item.chargeSteps().forEach((cycle, ranges) -> ranges.forEach(step -> series.add(sourceKey(item) + "|" + cycle + "|" + step.stepNo()))); } |
| | | var colors = new LinkedHashMap<>(settings.seriesColors()); |
| | | var hidden = settings.hiddenSeriesKeys() == null ? List.<String>of() : settings.hiddenSeriesKeys(); |
| | | if (refresh) { colors.keySet().retainAll(series); hidden = hidden.stream().filter(series::contains).toList(); } |