From 5ad54547dc97b76dc3d689b9499dec7364968235 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 07 五月 2026 17:16:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java
index 59094be..d66ebc7 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOrderRoutingOperationParamServiceImpl.java
@@ -48,17 +48,20 @@
 
     @Override
     public List<ProductionOrderRoutingOperationParamVo> listProductionOrderRoutingOperationParam(ProductionOrderRoutingOperationParamDto dto) {
+        // 鏌ヨ鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟
         return BeanUtil.copyToList(this.list(buildQueryWrapper(dto)), ProductionOrderRoutingOperationParamVo.class);
     }
 
     @Override
     public ProductionOrderRoutingOperationParamVo getProductionOrderRoutingOperationParamInfo(Long id) {
+        // 鑾峰彇鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟璇︽儏
         ProductionOrderRoutingOperationParam item = this.getById(id);
         return item == null ? null : BeanUtil.copyProperties(item, ProductionOrderRoutingOperationParamVo.class);
     }
 
     @Override
     public boolean saveProductionOrderRoutingOperationParam(ProductionOrderRoutingOperationParam item) {
+        // 淇濆瓨鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟
         ProductionOrderRoutingOperation routingOperation = getRoutingOperation(item.getProductionOrderRoutingOperationId());
         fillFromSourceParam(item, routingOperation);
         validateManualFields(item);
@@ -68,13 +71,19 @@
 
     @Override
     public boolean removeProductionOrderRoutingOperationParam(Long id) {
+        // 鍒犻櫎鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟
         return this.removeById(id);
     }
 
     private LambdaQueryWrapper<ProductionOrderRoutingOperationParam> buildQueryWrapper(ProductionOrderRoutingOperationParamDto dto) {
+        // 鎸夋潯浠跺姩鎬佹瀯寤烘暟鎹簱鏌ヨ鏉′欢
         ProductionOrderRoutingOperationParam query = dto == null ? new ProductionOrderRoutingOperationParam() : dto;
         return Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
                 .eq(query.getId() != null, ProductionOrderRoutingOperationParam::getId, query.getId())
+                .eq(query.getProductionProductMainId() != null,
+                        ProductionOrderRoutingOperationParam::getProductionProductMainId, query.getProductionProductMainId())
+                .isNull(query.getProductionProductMainId() == null,
+                        ProductionOrderRoutingOperationParam::getProductionProductMainId)
                 .eq(query.getProductionOrderId() != null, ProductionOrderRoutingOperationParam::getProductionOrderId, query.getProductionOrderId())
                 .eq(query.getProductionOrderRoutingOperationId() != null, ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId, query.getProductionOrderRoutingOperationId())
                 .eq(query.getTechnologyOperationId() != null,
@@ -92,29 +101,31 @@
     }
 
     private ProductionOrderRoutingOperation getRoutingOperation(Long productionOrderRoutingOperationId) {
+        // 鑾峰彇宸ヨ壓璺嚎宸ュ簭
         if (productionOrderRoutingOperationId == null) {
-            throw new ServiceException("productionOrderRoutingOperationId is required");
+            throw new ServiceException("鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭ID涓嶈兘涓虹┖");
         }
         ProductionOrderRoutingOperation routingOperation = productionOrderRoutingOperationMapper.selectById(productionOrderRoutingOperationId);
         if (routingOperation == null) {
-            throw new ServiceException("Production order routing operation not found");
+            throw new ServiceException("鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭涓嶅瓨鍦�");
         }
         return routingOperation;
     }
 
     private void fillFromSourceParam(ProductionOrderRoutingOperationParam item, ProductionOrderRoutingOperation routingOperation) {
+        // 浠庢潵婧愬弬鏁板洖濉綋鍓嶅弬鏁伴粯璁ゅ��
         item.setProductionOrderId(routingOperation.getProductionOrderId());
         item.setProductionOrderRoutingOperationId(routingOperation.getId());
         ProductionOrder productionOrder = productionOrderMapper.selectById(routingOperation.getProductionOrderId());
         if (productionOrder == null) {
-            throw new ServiceException("Production order not found");
+            throw new ServiceException("鐢熶骇璁㈠崟涓嶅瓨鍦�");
         }
         if (item.getParamId() == null) {
             return;
         }
         TechnologyParam sourceParam = technologyParamMapper.selectById(item.getParamId());
         if (sourceParam == null) {
-            throw new ServiceException("Technology  param not found");
+            throw new ServiceException("宸ヨ壓鍙傛暟涓嶅瓨鍦�");
         }
         if (item.getTechnologyOperationParamId() != null) {
             TechnologyRoutingOperationParam sourceRoutingOperationParam = technologyRoutingOperationParamMapper.selectById(item.getTechnologyOperationParamId());
@@ -137,17 +148,20 @@
     }
 
     private void validateManualFields(ProductionOrderRoutingOperationParam item) {
+        // 鏍¢獙鎵嬪伐褰曞叆瀛楁鐨勫繀濉笌鏍煎紡
         if (item.getParamCode() == null || item.getParamCode().trim().isEmpty()) {
-            throw new ServiceException("paramCode is required");
+            throw new ServiceException("鍙傛暟缂栫爜涓嶈兘涓虹┖");
         }
         if (item.getParamName() == null || item.getParamName().trim().isEmpty()) {
-            throw new ServiceException("paramName is required");
+            throw new ServiceException("鍙傛暟鍚嶇О涓嶈兘涓虹┖");
         }
     }
 
     private void checkDuplicate(ProductionOrderRoutingOperationParam item) {
+        // 妫�鏌ユ暟鎹槸鍚﹂噸澶嶏紝閬垮厤閲嶅淇濆瓨
         boolean duplicate = productionOrderRoutingOperationParamMapper.selectCount(
                 Wrappers.<ProductionOrderRoutingOperationParam>lambdaQuery()
+                        .isNull(ProductionOrderRoutingOperationParam::getProductionProductMainId)
                         .eq(ProductionOrderRoutingOperationParam::getProductionOrderRoutingOperationId, item.getProductionOrderRoutingOperationId())
                         .eq(item.getTechnologyRoutingOperationParamId() != null,
                                 ProductionOrderRoutingOperationParam::getTechnologyRoutingOperationParamId, item.getTechnologyRoutingOperationParamId())
@@ -156,7 +170,7 @@
                         .ne(item.getId() != null, ProductionOrderRoutingOperationParam::getId, item.getId())
         ) > 0;
         if (duplicate) {
-            throw new ServiceException("Duplicate production order routing operation param");
+            throw new ServiceException("鐢熶骇璁㈠崟宸ヨ壓璺嚎宸ュ簭鍙傛暟閲嶅");
         }
     }
 }

--
Gitblit v1.9.3