From 467615249613c312a984097d3ebb673ebef3e10d Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 20 三月 2026 16:08:58 +0800
Subject: [PATCH] fix: 生产订单内的工艺路线新增工序时基本参数未同步到子表

---
 src/main/java/com/ruoyi/production/service/impl/ProductionOrderRouteItemServiceImpl.java |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRouteItemServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRouteItemServiceImpl.java
index 696a7de..e5fdd97 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRouteItemServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRouteItemServiceImpl.java
@@ -6,14 +6,11 @@
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.production.dto.ProductionOrderRouteItemDto;
 import com.ruoyi.production.mapper.ProductionOrderRouteItemMapper;
-import com.ruoyi.production.pojo.ProcessRouteItemParam;
 import com.ruoyi.production.pojo.ProductProcess;
+import com.ruoyi.production.pojo.ProductProcessParam;
 import com.ruoyi.production.pojo.ProductionOrderRouteItem;
 import com.ruoyi.production.pojo.ProductionOrderRouteItemParam;
-import com.ruoyi.production.service.IProductionOrderRouteItemParamService;
-import com.ruoyi.production.service.IProductionOrderRouteItemService;
-import com.ruoyi.production.service.ProcessRouteItemParamService;
-import com.ruoyi.production.service.ProductProcessService;
+import com.ruoyi.production.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -43,6 +40,9 @@
 
     @Resource
     private ProcessRouteItemParamService processRouteItemParamService;
+
+    @Resource
+    private ProductProcessParamService productProcessParamService;
 
     @Override
     public List<ProductionOrderRouteItemDto> getProcessItem(Long orderId) {
@@ -86,6 +86,21 @@
                 .last("limit 1"));
         entity.setDragSort(maxSortItem != null && maxSortItem.getDragSort() != null ? maxSortItem.getDragSort() + 1 : 1);
         save(entity);
+
+        // 杩佺Щ璇ュ伐搴忕殑鍩虹鍙傛暟
+        List<ProductProcessParam> processParams = productProcessParamService.list(
+                new LambdaQueryWrapper<ProductProcessParam>().eq(ProductProcessParam::getProcessId, dto.getProcessId()));
+        if (!processParams.isEmpty()) {
+            List<ProductionOrderRouteItemParam> orderParams = processParams.stream().map(p -> {
+                ProductionOrderRouteItemParam op = new ProductionOrderRouteItemParam();
+                BeanUtils.copyProperties(p, op, "id");
+                op.setOrderId(dto.getOrderId());
+                op.setRouteItemId(entity.getId());
+                op.setProcessParamId(p.getId());
+                return op;
+            }).collect(Collectors.toList());
+            productionOrderRouteItemParamService.saveBatch(orderParams);
+        }
     }
 
     @Override
@@ -104,14 +119,16 @@
                     .eq(ProductionOrderRouteItemParam::getOrderId, old.getOrderId())
                     .eq(ProductionOrderRouteItemParam::getRouteItemId, old.getId()));
 
-            // 杩佺Щ鏂板伐搴忕殑 process_route_item_param
-            List<ProcessRouteItemParam> routeItemParams = processRouteItemParamService.list(
-                    new LambdaQueryWrapper<ProcessRouteItemParam>().eq(ProcessRouteItemParam::getRouteItemId, old.getId()));
-            if (!routeItemParams.isEmpty()) {
-                List<ProductionOrderRouteItemParam> newInstances = routeItemParams.stream().map(p -> {
+            // 杩佺Щ鏂板伐搴忕殑 product_process_param
+            List<ProductProcessParam> processParams = productProcessParamService.list(
+                    new LambdaQueryWrapper<ProductProcessParam>().eq(ProductProcessParam::getProcessId, dto.getProcessId()));
+            if (!processParams.isEmpty()) {
+                List<ProductionOrderRouteItemParam> newInstances = processParams.stream().map(p -> {
                     ProductionOrderRouteItemParam instance = new ProductionOrderRouteItemParam();
                     BeanUtils.copyProperties(p, instance, "id");
                     instance.setOrderId(old.getOrderId());
+                    instance.setRouteItemId(old.getId());
+                    instance.setProcessParamId(p.getId());
                     return instance;
                 }).collect(Collectors.toList());
                 productionOrderRouteItemParamService.saveBatch(newInstances);

--
Gitblit v1.9.3