From 05ab6e3f69a5e73624b2573db043f5923e8f7d8b Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期四, 05 十一月 2026 14:17:19 +0800
Subject: [PATCH] fix 修复bug
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
index 2f2795d..ea38de0 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
@@ -30,6 +30,7 @@
import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderBomService;
import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderProcessService;
import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
+import cn.iocoder.yudao.module.mes.util.MesOutputItemUtils;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -245,11 +246,17 @@
}
List<MesProWorkOrderBomDO> items = new ArrayList<>();
for (MesProWorkOrderBomDO bom : bomList) {
- if (bom.getProcessId().equals(process.getProcessId())) {
+ // 璺宠繃鏃犲伐搴忕紪鍙风殑鎶曟枡琛岋紙宸ュ崟 BOM 涓粎鎸夊伐搴忕淮鎶ゆ姇鏂欐槑缁嗭紝鏃犲伐搴忕殑琛屼笉鍙備笌灞曞紑锛�
+ // 涓� getProcessId 鍙兘涓� null锛岀洿鎺� equals 浼� NPE锛�
+ if (Objects.equals(bom.getProcessId(), process.getProcessId())) {
items.add(bom);
}
}
- processBomMap.put(Long.valueOf(process.getOutputItemId().split(",")[0].trim()), items);
+ Long outputItemId = MesOutputItemUtils.firstItemId(process.getOutputItemId());
+ if (outputItemId == null) {
+ continue;
+ }
+ processBomMap.put(outputItemId, items);
}
// 2. 鍙栨渶鍚庝竴閬撳伐搴忥紙sort 鏈�澶э級浣滀负灞曞紑璧风偣锛岄�愬眰鍚戝墠閫掓帹
@@ -263,7 +270,7 @@
// 3. 浠ユ渶鍚庝竴閬撳伐搴忕殑鎶曟枡涓鸿捣鐐�
Map<Long, BigDecimal> currentLayer = new LinkedHashMap<>();
for (MesProWorkOrderBomDO bom : bomList) {
- if (bom.getProcessId().equals(lastProcess.getProcessId())) {
+ if (Objects.equals(bom.getProcessId(), lastProcess.getProcessId())) {
currentLayer.merge(bom.getItemId(), bom.getQuantity(), BigDecimal::add);
}
}
--
Gitblit v1.9.3