From 280261219bafff383fe37dfc24f148baca4672e1 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 28 八月 2026 20:40:17 +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