From 10570a9fa5e87231210a449eddc732c7d0599349 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 24 八月 2026 16:02:55 +0800
Subject: [PATCH] fix: 报工计算修改
---
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
index 6750f03..3e2fb0c 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
@@ -177,6 +177,10 @@
if (bomStructure == null) {
return routingProductModelId;
}
+ if (hasChildren(bomStructure, structureById)) {
+ return bomStructure.getProductModelId() != null
+ ? bomStructure.getProductModelId() : routingProductModelId;
+ }
Long parentId = bomStructure.getParentId();
if (parentId == null) {
return routingProductModelId != null ? routingProductModelId : bomStructure.getProductModelId();
@@ -188,6 +192,15 @@
return routingProductModelId != null ? routingProductModelId : bomStructure.getProductModelId();
}
+ private boolean hasChildren(TechnologyBomStructure bomStructure,
+ Map<Long, TechnologyBomStructure> structureById) {
+ if (bomStructure == null || bomStructure.getId() == null || structureById == null) {
+ return false;
+ }
+ return structureById.values().stream()
+ .anyMatch(child -> child != null && java.util.Objects.equals(child.getParentId(), bomStructure.getId()));
+ }
+
private void syncRoutingOperationParams(Long technologyRoutingOperationId, Long technologyOperationId) {
List<TechnologyOperationParam> operationParamList = technologyOperationParamMapper.selectList(
Wrappers.<TechnologyOperationParam>lambdaQuery()
--
Gitblit v1.9.3