From b572e82dcafea0fd893d908c7bb0e048483a1dd3 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 01 四月 2026 13:38:54 +0800
Subject: [PATCH] fix: 生产计划下发时产品类型ID未保存

---
 src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java |   35 +++++++++++++++++++----------------
 1 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
index 094d016..1d19aa4 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -1,13 +1,16 @@
 package com.ruoyi.production.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.procurementrecord.utils.StockUtils;
 import com.ruoyi.production.dto.ProductOrderDto;
+import com.ruoyi.production.dto.ProductOrderSourceDto;
 import com.ruoyi.production.dto.ProductStructureDto;
 import com.ruoyi.production.enums.ProductOrderStatusEnum;
 import com.ruoyi.production.mapper.*;
@@ -224,23 +227,11 @@
             throw new RuntimeException("鍙湁銆愬緟寮�濮嬨�佸凡鍙栨秷銆戠姸鎬佺殑璁㈠崟鎵嶅彲浠ュ垹闄�");
         }
 
-        //  鏄惁宸茬敓浜�
-        List<ProductWorkOrder> productWorkOrders = productWorkOrderMapper.selectList(Wrappers.<ProductWorkOrder>lambdaQuery().eq(ProductWorkOrder::getProductOrderId, id));
-
-        if (!productWorkOrders.isEmpty()) {
-            List<Long> workOrderIds = productWorkOrders.stream()
-                    .map(ProductWorkOrder::getId)
-                    .collect(Collectors.toList());
-
-            List<ProductionProductMain> productionProductMains = productionProductMainMapper.selectList(Wrappers.<ProductionProductMain>lambdaQuery().in(ProductionProductMain::getWorkOrderId, workOrderIds));
-            if (!productionProductMains.isEmpty()) {
-                throw new RuntimeException("鐢熶骇璁㈠崟宸茬粡寮�濮嬬敓浜�,涓嶈兘鍒犻櫎");
-            }
-
-            //  鍒犻櫎宸ュ崟
-            productWorkOrderMapper.delete(Wrappers.<ProductWorkOrder>lambdaQuery().eq(ProductWorkOrder::getProductOrderId, id));
+        //  鏄惁鏈夋姤宸ユ暟鎹�
+        List<ProductionProductMain> productMains = productionProductMainMapper.selectList(new LambdaQueryWrapper<ProductionProductMain>().eq(ProductionProductMain::getProductOrderId, id));
+        if (!productMains.isEmpty()) {
+            throw new RuntimeException("鐢熶骇璁㈠崟宸茬粡寮�濮嬬敓浜�,涓嶈兘鍒犻櫎");
         }
-
         //  鍥為��鐢熶骇璁″垝
         List<ProductOrderPlan> productOrderPlans = productOrderPlanMapper.selectList(Wrappers.<ProductOrderPlan>lambdaQuery().eq(ProductOrderPlan::getProductOrderId, id));
 
@@ -314,5 +305,17 @@
         return "SC" + datePrefix + String.format("%04d", sequence);
     }
 
+    @Override
+    public List<ProductOrderSourceDto> productOrderSource(Long orderId) {
+        if (orderId == null) {
+            throw new ServiceException("鏌ヨ璁㈠崟鏁版嵁涓嶈兘涓虹┖");
+        }
+        ProductOrder productOrder = getById(orderId);
+        if (productOrder == null) {
+            throw new ServiceException("鏌ヨ澶辫触,鐢熶骇璁㈠崟涓嶅瓨鍦�");
+        }
 
+        List<ProductOrderSourceDto> list = baseMapper.productOrderSource(orderId);
+        return list;
+    }
 }

--
Gitblit v1.9.3