From 28cf22aaff7f092256db2ad6df699e17426f62ea Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 30 四月 2026 16:34:27 +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/ProductionOrderRoutingOperationServiceImpl.java |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationServiceImpl.java
index 489fc30..886da11 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationServiceImpl.java
@@ -1,17 +1,24 @@
 package com.ruoyi.production.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.framework.web.domain.R;
 import com.ruoyi.production.mapper.ProductionOperationTaskMapper;
 import com.ruoyi.production.mapper.ProductionOrderRoutingOperationMapper;
+import com.ruoyi.production.mapper.ProductionOrderRoutingOperationParamMapper;
 import com.ruoyi.production.mapper.ProductionProductMainMapper;
 import com.ruoyi.production.pojo.ProductionOperationTask;
 import com.ruoyi.production.pojo.ProductionOrderRoutingOperation;
+import com.ruoyi.production.pojo.ProductionOrderRoutingOperationParam;
 import com.ruoyi.production.pojo.ProductionProductMain;
 import com.ruoyi.production.service.ProductionOrderRoutingOperationService;
 import com.ruoyi.production.service.ProductionProductMainService;
+import com.ruoyi.technology.mapper.TechnologyOperationParamMapper;
+import com.ruoyi.technology.mapper.TechnologyParamMapper;
+import com.ruoyi.technology.pojo.TechnologyOperationParam;
+import com.ruoyi.technology.pojo.TechnologyParam;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -19,6 +26,7 @@
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -31,10 +39,36 @@
     private final ProductionOperationTaskMapper productionOperationTaskMapper;
     private final ProductionProductMainMapper productionProductMainMapper;
     private final ProductionProductMainService productionProductMainService;
+    private final TechnologyOperationParamMapper technologyOperationParamMapper;
+    private final TechnologyParamMapper technologyParamMapper;
+    private final ProductionOrderRoutingOperationParamMapper productionOrderRoutingOperationParamMapper;
 
     @Override
     public R addRouteItem(ProductionOrderRoutingOperation productionOrderRoutingOperation) {
         int insert = productionOrderRoutingOperationMapper.insert(productionOrderRoutingOperation);
+        //宸ュ簭鍏宠仈鐨勫弬鏁伴渶瑕佸悓姝ユ柊澧�
+        List<TechnologyOperationParam> technologyOperationParams = technologyOperationParamMapper.selectList(Wrappers.<TechnologyOperationParam>lambdaQuery()
+                .eq(TechnologyOperationParam::getTechnologyOperationId, productionOrderRoutingOperation.getTechnologyOperationId()));
+        if (CollectionUtils.isNotEmpty(technologyOperationParams)){
+            ArrayList<ProductionOrderRoutingOperationParam> productionOrderRoutingOperationParams = new ArrayList<>();
+            for (TechnologyOperationParam technologyOperationParam : technologyOperationParams) {
+                TechnologyParam technologyParam = technologyParamMapper.selectById(technologyOperationParam.getTechnologyParamId());
+                ProductionOrderRoutingOperationParam productionOrderRoutingOperationParam = new ProductionOrderRoutingOperationParam();
+                productionOrderRoutingOperationParam.setProductionOrderId(productionOrderRoutingOperation.getProductionOrderId());
+                productionOrderRoutingOperationParam.setProductionOrderRoutingOperationId(productionOrderRoutingOperation.getId());
+                productionOrderRoutingOperationParam.setParamCode(technologyParam.getParamCode());
+                productionOrderRoutingOperationParam.setParamName(technologyParam.getParamName());
+                productionOrderRoutingOperationParam.setParamType(technologyParam.getParamType());
+                productionOrderRoutingOperationParam.setParamFormat(technologyParam.getParamFormat());
+                productionOrderRoutingOperationParam.setUnit(technologyParam.getUnit());
+                productionOrderRoutingOperationParam.setIsRequired(technologyParam.getIsRequired());
+                productionOrderRoutingOperationParam.setRemark(technologyParam.getRemark());
+                productionOrderRoutingOperationParam.setParamId(technologyParam.getId());
+                productionOrderRoutingOperationParam.setTechnologyOperationId(productionOrderRoutingOperation.getTechnologyOperationId());
+                productionOrderRoutingOperationParams.add(productionOrderRoutingOperationParam);
+            }
+            productionOrderRoutingOperationParamMapper.insert(productionOrderRoutingOperationParams);
+        }
         String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
         if (insert > 0) {
             ProductionOperationTask lastTask = productionOperationTaskMapper.selectOne(
@@ -56,7 +90,7 @@
             }
             String workOrderNoStr = "GD" + String.format("%s%03d", datePrefix, sequenceNumber);
             ProductionOperationTask productionOperationTask = new ProductionOperationTask();
-            productionOperationTask.setTechnologyRoutingOperationId(productionOrderRoutingOperation.getId());
+            productionOperationTask.setProductionOrderRoutingOperationId(productionOrderRoutingOperation.getId());
             productionOperationTask.setProductionOrderId(productionOrderRoutingOperation.getProductionOrderId());
             productionOperationTask.setPlanQuantity(BigDecimal.ZERO);
             productionOperationTask.setCompleteQuantity(BigDecimal.ZERO);
@@ -72,7 +106,7 @@
         try {
             ProductionOperationTask productionOperationTask = productionOperationTaskMapper.selectOne(
                     new LambdaQueryWrapper<ProductionOperationTask>()
-                            .eq(ProductionOperationTask::getTechnologyRoutingOperationId, id)
+                            .eq(ProductionOperationTask::getProductionOrderRoutingOperationId, id)
                             .last("limit 1"));
             if (productionOperationTask == null) {
                 throw new RuntimeException("鍒犻櫎澶辫触锛氭湭鎵惧埌鍏宠仈鐨勭敓浜у伐鍗�");
@@ -94,7 +128,7 @@
                 routingId = deleteItem.getOrderRoutingId();
             }
             productionOperationTaskMapper.delete(new LambdaQueryWrapper<ProductionOperationTask>()
-                    .eq(ProductionOperationTask::getTechnologyRoutingOperationId, id));
+                    .eq(ProductionOperationTask::getProductionOrderRoutingOperationId, id));
             productionOrderRoutingOperationMapper.deleteById(id);
             if (routingId != null) {
                 List<ProductionOrderRoutingOperation> operationList = productionOrderRoutingOperationMapper.selectList(

--
Gitblit v1.9.3