From 481849d1aa298c12b2a6e9716b4a5bfbc11dca63 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 22 五月 2026 14:45:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 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 4079f84..6750f03 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingServiceImpl.java
@@ -9,6 +9,8 @@
 import com.ruoyi.common.utils.OrderUtils;
 import com.ruoyi.technology.bean.dto.TechnologyRoutingDto;
 import com.ruoyi.technology.bean.vo.TechnologyRoutingVo;
+import com.ruoyi.production.mapper.ProductionOrderRoutingMapper;
+import com.ruoyi.production.pojo.ProductionOrderRouting;
 import com.ruoyi.technology.mapper.*;
 import com.ruoyi.technology.pojo.*;
 import com.ruoyi.technology.service.TechnologyRoutingService;
@@ -39,6 +41,8 @@
     private final TechnologyOperationParamMapper technologyOperationParamMapper;
     private final TechnologyParamMapper technologyParamMapper;
     private final TechnologyRoutingOperationParamMapper technologyRoutingOperationParamMapper;
+
+    private final ProductionOrderRoutingMapper productionOrderRoutingMapper;
 
     @Override
     public IPage<TechnologyRoutingVo> pageTechnologyRouting(Page<TechnologyRoutingDto> page, TechnologyRoutingDto technologyRoutingDto) {
@@ -78,6 +82,13 @@
     public boolean removeTechnologyRouting(List<Long> ids) {
         if (ids == null || ids.isEmpty()) {
             return false;
+        }
+        // 鍒ゆ柇鏄惁鏈夌敓浜ц鍗曠粦瀹氳宸ヨ壓璺嚎
+        Long count = productionOrderRoutingMapper.selectCount(
+                Wrappers.<ProductionOrderRouting>lambdaQuery()
+                        .in(ProductionOrderRouting::getTechnologyRoutingId, ids));
+        if (count > 0) {
+            throw new ServiceException("璇ュ伐鑹鸿矾绾垮凡缁戝畾鐢熶骇璁㈠崟锛屾棤娉曞垹闄わ紒");
         }
         List<TechnologyRoutingOperation> routingOperationList = technologyRoutingOperationMapper.selectList(
                 Wrappers.<TechnologyRoutingOperation>lambdaQuery()
@@ -143,7 +154,10 @@
             routingOperation.setProductModelId(resolveOutputProductModelId(bomStructure, structureById, technologyRouting.getProductModelId()));
             routingOperation.setTechnologyOperationId(bomStructure.getOperationId());
             routingOperation.setDragSort(dragSort++);
-            routingOperation.setIsQuality(getOperationQuality(bomStructure.getOperationId()));
+            TechnologyOperation technologyOperation = getOperation(bomStructure.getOperationId());
+            routingOperation.setIsQuality(technologyOperation != null ? technologyOperation.getIsQuality() : null);
+            routingOperation.setIsProduction(technologyOperation != null ? technologyOperation.getIsProduction() : null);
+            routingOperation.setType(technologyOperation != null ? technologyOperation.getType() : null);
             technologyRoutingOperationMapper.insert(routingOperation);
             syncRoutingOperationParams(routingOperation.getId(), bomStructure.getOperationId());
         }
@@ -204,12 +218,11 @@
         }
     }
 
-    /**
-     * 璐ㄦ鏍囪瘑浠ュ伐搴忓熀纭�琛ㄥ畾涔変负鍑嗐��
-     */
-    private Boolean getOperationQuality(Long operationId) {
-        TechnologyOperation technologyOperation = technologyOperationMapper.selectById(operationId);
-        return technologyOperation != null ? technologyOperation.getIsQuality() : null;
+    private TechnologyOperation getOperation(Long operationId) {
+        if (operationId == null) {
+            return null;
+        }
+        return technologyOperationMapper.selectById(operationId);
     }
 
     private String buildProcessRouteCode(Long id) {

--
Gitblit v1.9.3