From a96948456e0a21ab33deeb2edfdd7ef343aec5bf Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期六, 25 四月 2026 16:20:34 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_pro
---
src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++
1 files changed, 37 insertions(+), 0 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 5340433..00ab057 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionBomStructureServiceImpl.java
@@ -1,10 +1,17 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.production.bean.vo.ProductionBomStructureVo;
import com.ruoyi.production.mapper.ProductionBomStructureMapper;
import com.ruoyi.production.pojo.ProductionBomStructure;
import com.ruoyi.production.service.ProductionBomStructureService;
+import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -15,6 +22,36 @@
* @since 2026-04-21 03:55:52
*/
@Service
+@RequiredArgsConstructor()
public class ProductionBomStructureServiceImpl extends ServiceImpl<ProductionBomStructureMapper, ProductionBomStructure> implements ProductionBomStructureService {
+ private final ProductionBomStructureMapper productionBomStructureMapper;
+
+ /**
+ * 鏍规嵁BOM鏌ヨ骞剁粍瑁呯粨鏋勬爲銆�
+ */
+ @Override
+ public List<ProductionBomStructureVo> listByBomId(Long bomId) {
+ List<ProductionBomStructureVo> list = productionBomStructureMapper.listByBomId(bomId);
+ Map<Long, ProductionBomStructureVo> map = new HashMap<>();
+ for (ProductionBomStructureVo node : list) {
+ node.setChildren(new ArrayList<>());
+ map.put(node.getId(), node);
+ }
+
+ List<ProductionBomStructureVo> tree = new ArrayList<>();
+ for (ProductionBomStructureVo node : list) {
+ Long parentId = node.getParentId();
+ if (parentId == null || parentId == 0L) {
+ tree.add(node);
+ continue;
+ }
+ ProductionBomStructureVo parent = map.get(parentId);
+ if (parent != null) {
+ parent.getChildren().add(node);
+ }
+ }
+ return tree;
+ }
+
}
--
Gitblit v1.9.3