From 0891b6708cc09c2672a19661a8555aae0e742df1 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期四, 24 九月 2026 16:54:27 +0800
Subject: [PATCH] feat: 新增多模块导入导出功能
---
src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java
index c1e665c..acad3ef 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java
@@ -822,14 +822,22 @@
if (bomStructure == null) {
return null;
}
- // The root node is the first output node; other rows use their direct parent as the current operation output.
- if (bomStructure.getParentId() == null) {
+ if (bomStructure.getParentId() == null || hasChildren(bomStructure, structureById)) {
return bomStructure;
}
ProductionBomStructure parent = structureById.get(bomStructure.getParentId());
return parent != null ? parent : bomStructure;
}
+ private boolean hasChildren(ProductionBomStructure bomStructure,
+ Map<Long, ProductionBomStructure> structureById) {
+ if (bomStructure == null || bomStructure.getId() == null || structureById == null) {
+ return false;
+ }
+ return structureById.values().stream()
+ .anyMatch(child -> child != null && Objects.equals(child.getParentId(), bomStructure.getId()));
+ }
+
private Long resolveOutputProductModelId(ProductionBomStructure outputNode,
Long rootProductModelId) {
if (outputNode == null) {
--
Gitblit v1.9.3