From a497406167f500741ac6cc1d24e086589972eb49 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 19 三月 2026 18:03:54 +0800
Subject: [PATCH] fix: 工艺路线工序参数表取消绑定基础参数表

---
 src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemInstanceServiceImpl.java |   24 --------
 doc/宁夏-中盛建材.sql                                                                        |   12 ++++
 src/main/java/com/ruoyi/production/pojo/ProcessRouteItemParam.java                     |   22 ++++++
 src/main/resources/mapper/production/ProcessRouteItemParamMapper.xml                   |   62 +++++++++++++-------
 src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java  |   19 +-----
 src/main/java/com/ruoyi/appendix/service/impl/AppendixServiceImpl.java                 |   19 ------
 6 files changed, 76 insertions(+), 82 deletions(-)

diff --git "a/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql" "b/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql"
index 1abe397..3c9a4af 100644
--- "a/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql"
+++ "b/doc/\345\256\201\345\244\217-\344\270\255\347\233\233\345\273\272\346\235\220.sql"
@@ -411,4 +411,16 @@
     ADD COLUMN `param_format` varchar(255) DEFAULT NULL COMMENT '鍙傛暟鏍煎紡',
     ADD COLUMN `value_mode`   tinyint      DEFAULT '1' COMMENT '鍊兼ā寮�(1鍗曞�� 2鍖洪棿)',
     ADD COLUMN `unit`         varchar(50)  DEFAULT NULL COMMENT '鍗曚綅',
+    ADD COLUMN `remark`       varchar(255) DEFAULT NULL COMMENT '澶囨敞';
+
+ALTER TABLE process_route_item_param
+    DROP COLUMN param_id;
+
+ALTER TABLE process_route_item_param
+    ADD COLUMN `param_key`    varchar(100) DEFAULT NULL COMMENT '鍙傛暟鍞竴鏍囪瘑',
+    ADD COLUMN `param_name`   varchar(100) NOT NULL COMMENT '鍙傛暟鍚嶇О',
+    ADD COLUMN `param_type`   tinyint      NOT NULL COMMENT '鍙傛暟绫诲瀷(1鏁板瓧 2鏂囨湰 3涓嬫媺閫夋嫨 4鏃堕棿)',
+    ADD COLUMN `param_format` varchar(255) DEFAULT NULL COMMENT '鍙傛暟鏍煎紡',
+    ADD COLUMN `value_mode`   tinyint      DEFAULT '1' COMMENT '鍊兼ā寮�(1鍗曞�� 2鍖洪棿)',
+    ADD COLUMN `unit`         varchar(50)  DEFAULT NULL COMMENT '鍗曚綅',
     ADD COLUMN `remark`       varchar(255) DEFAULT NULL COMMENT '澶囨敞';
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/appendix/service/impl/AppendixServiceImpl.java b/src/main/java/com/ruoyi/appendix/service/impl/AppendixServiceImpl.java
index e056059..890785d 100644
--- a/src/main/java/com/ruoyi/appendix/service/impl/AppendixServiceImpl.java
+++ b/src/main/java/com/ruoyi/appendix/service/impl/AppendixServiceImpl.java
@@ -5,7 +5,6 @@
 import com.ruoyi.appendix.pojo.ProcessRouteItemParamInstance;
 import com.ruoyi.appendix.pojo.ProductStructureInstance;
 import com.ruoyi.appendix.service.*;
-import com.ruoyi.basic.pojo.BaseParam;
 import com.ruoyi.basic.service.BaseParamService;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.StringUtils;
@@ -184,29 +183,11 @@
         if (list == null || list.isEmpty()) {
             return;
         }
-        // 鎵归噺鏌ヨ base_param
-        List<Long> paramIds = list.stream().map(ProcessRouteItemParam::getParamId)
-                .filter(id -> id != null).distinct().collect(Collectors.toList());
-        Map<Long, BaseParam> baseParamMap = new HashMap<>();
-        if (!paramIds.isEmpty()) {
-            baseParamService.listByIds(paramIds).forEach(bp -> baseParamMap.put(bp.getId(), bp));
-        }
         List<ProcessRouteItemParamInstance> instances = list.stream().map(item -> {
             ProcessRouteItemParamInstance instance = new ProcessRouteItemParamInstance();
             BeanUtils.copyProperties(item, instance, "id");
             instance.setOrderId(orderId);
             instance.setRouteItemId(newRouteItemInstanceId);
-            // 浠� base_param 濉厖鍩虹瀛楁
-            BaseParam bp = baseParamMap.get(item.getParamId());
-            if (bp != null) {
-                instance.setParamKey(bp.getParamKey());
-                instance.setParamName(bp.getParamName());
-                instance.setParamType(bp.getParamType());
-                instance.setParamFormat(bp.getParamFormat());
-                instance.setValueMode(bp.getValueMode());
-                instance.setUnit(bp.getUnit());
-                instance.setRemark(bp.getRemark());
-            }
             return instance;
         }).collect(Collectors.toList());
         processRouteItemParamInstanceService.saveBatch(instances);
diff --git a/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemInstanceServiceImpl.java b/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemInstanceServiceImpl.java
index ef7888b..79e30e5 100644
--- a/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemInstanceServiceImpl.java
+++ b/src/main/java/com/ruoyi/appendix/service/impl/ProcessRouteItemInstanceServiceImpl.java
@@ -8,8 +8,6 @@
 import com.ruoyi.appendix.pojo.ProcessRouteItemParamInstance;
 import com.ruoyi.appendix.service.ProcessRouteItemInstanceService;
 import com.ruoyi.appendix.service.ProcessRouteItemParamInstanceService;
-import com.ruoyi.basic.pojo.BaseParam;
-import com.ruoyi.basic.service.BaseParamService;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.production.pojo.ProcessRouteItemParam;
@@ -22,9 +20,7 @@
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -48,9 +44,6 @@
 
     @Resource
     private ProcessRouteItemParamService processRouteItemParamService;
-
-    @Resource
-    private BaseParamService baseParamService;
 
     @Override
     public List<ProcessRouteItemInstanceDto> getProcessItem(Long orderId) {
@@ -116,27 +109,10 @@
             List<ProcessRouteItemParam> routeItemParams = processRouteItemParamService.list(
                     new LambdaQueryWrapper<ProcessRouteItemParam>().eq(ProcessRouteItemParam::getRouteItemId, old.getId()));
             if (!routeItemParams.isEmpty()) {
-                // 鎵归噺鏌ヨ base_param
-                List<Long> paramIds = routeItemParams.stream().map(ProcessRouteItemParam::getParamId)
-                        .filter(id -> id != null).distinct().collect(Collectors.toList());
-                Map<Long, BaseParam> baseParamMap = new HashMap<>();
-                if (!paramIds.isEmpty()) {
-                    baseParamService.listByIds(paramIds).forEach(bp -> baseParamMap.put(bp.getId(), bp));
-                }
                 List<ProcessRouteItemParamInstance> newInstances = routeItemParams.stream().map(p -> {
                     ProcessRouteItemParamInstance instance = new ProcessRouteItemParamInstance();
                     BeanUtils.copyProperties(p, instance, "id");
                     instance.setOrderId(old.getOrderId());
-                    BaseParam bp = baseParamMap.get(p.getParamId());
-                    if (bp != null) {
-                        instance.setParamKey(bp.getParamKey());
-                        instance.setParamName(bp.getParamName());
-                        instance.setParamType(bp.getParamType());
-                        instance.setParamFormat(bp.getParamFormat());
-                        instance.setValueMode(bp.getValueMode());
-                        instance.setUnit(bp.getUnit());
-                        instance.setRemark(bp.getRemark());
-                    }
                     return instance;
                 }).collect(Collectors.toList());
                 processRouteItemParamInstanceService.saveBatch(newInstances);
diff --git a/src/main/java/com/ruoyi/production/pojo/ProcessRouteItemParam.java b/src/main/java/com/ruoyi/production/pojo/ProcessRouteItemParam.java
index 85a8c3d..6ec4a35 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProcessRouteItemParam.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProcessRouteItemParam.java
@@ -34,8 +34,26 @@
     @ApiModelProperty("鍏宠仈宸ヨ壓璺嚎鏄庣粏ID (process_route_item.id)")
     private Long routeItemId;
 
-    @ApiModelProperty("鍏宠仈鍩虹鍙傛暟瀹氫箟ID (base_param.id)")
-    private Long paramId;
+    @ApiModelProperty("鍙傛暟鍞竴鏍囪瘑")
+    private String paramKey;
+
+    @ApiModelProperty("鍙傛暟鍚嶇О")
+    private String paramName;
+
+    @ApiModelProperty("鍙傛暟绫诲瀷(1鏁板瓧 2鏂囨湰 3涓嬫媺閫夋嫨 4鏃堕棿)")
+    private Integer paramType;
+
+    @ApiModelProperty("鍙傛暟鏍煎紡")
+    private String paramFormat;
+
+    @ApiModelProperty("鍊兼ā寮�(1鍗曞�� 2鍖洪棿)")
+    private Integer valueMode;
+
+    @ApiModelProperty("鍗曚綅")
+    private String unit;
+
+    @ApiModelProperty("澶囨敞")
+    private String remark;
 
     @ApiModelProperty("鏉ユ簮宸ュ簭鍙傛暟ID")
     private Long processParamId;
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java
index 0f63221..1f87c34 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java
@@ -4,8 +4,6 @@
 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.basic.pojo.BaseParam;
-import com.ruoyi.basic.service.BaseParamService;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.production.dto.ProcessRouteItemParamDto;
@@ -13,7 +11,6 @@
 import com.ruoyi.production.pojo.ProcessRouteItemParam;
 import com.ruoyi.production.service.ProcessRouteItemParamService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -31,9 +28,6 @@
 @Slf4j
 @Service
 public class ProcessRouteItemParamServiceImpl extends ServiceImpl<ProcessRouteItemParamMapper, ProcessRouteItemParam> implements ProcessRouteItemParamService {
-
-    @Autowired
-    private BaseParamService baseParamService;
 
     @Override
     public IPage<ProcessRouteItemParamDto> pageList(Page<ProcessRouteItemParam> page, ProcessRouteItemParam param) {
@@ -57,22 +51,17 @@
         if (param == null) {
             throw new ServiceException("鏂板澶辫触,鍙傛暟涓嶈兘涓虹┖");
         }
-        if (param.getRouteItemId() == null || param.getParamId() == null) {
-            throw new ServiceException("鍏宠仈宸ュ簭ID鍜屽弬鏁伴」ID涓嶈兘涓虹┖");
+        if (param.getRouteItemId() == null || param.getParamKey() == null) {
+            throw new ServiceException("鍏宠仈宸ュ簭ID鍜屽弬鏁版爣璇嗕笉鑳戒负绌�");
         }
 
         Long tenantId = SecurityUtils.getLoginUser().getTenantId();
         Long count = baseMapper.selectCount(Wrappers.<ProcessRouteItemParam>lambdaQuery()
                 .eq(ProcessRouteItemParam::getRouteItemId, param.getRouteItemId())
-                .eq(ProcessRouteItemParam::getParamId, param.getParamId())
+                .eq(ProcessRouteItemParam::getParamKey, param.getParamKey())
                 .eq(ProcessRouteItemParam::getTenantId, tenantId));
         if (count > 0) {
-            throw new ServiceException("璇ュ伐搴忓凡瀛樺湪姝ゅ弬鏁伴」锛岃鍕块噸澶嶆坊鍔�");
-        }
-
-        BaseParam baseParam = baseParamService.getById(param.getParamId());
-        if (baseParam == null) {
-            throw new ServiceException("鏂板澶辫触,璇ュ熀纭�鍙傛暟涓嶅瓨鍦�");
+            throw new ServiceException("璇ュ伐搴忓凡瀛樺湪鍙傛暟椤癸紝璇峰嬁閲嶅娣诲姞");
         }
 
         Integer maxSort = baseMapper.selectMaxSortByRouteItemId(param.getRouteItemId());
diff --git a/src/main/resources/mapper/production/ProcessRouteItemParamMapper.xml b/src/main/resources/mapper/production/ProcessRouteItemParamMapper.xml
index 1b662f2..90395b5 100644
--- a/src/main/resources/mapper/production/ProcessRouteItemParamMapper.xml
+++ b/src/main/resources/mapper/production/ProcessRouteItemParamMapper.xml
@@ -7,7 +7,6 @@
     <resultMap id="ProcessRouteItemParamResultMap" type="com.ruoyi.production.pojo.ProcessRouteItemParam">
         <id property="id" column="id"/>
         <result property="routeItemId" column="route_item_id"/>
-        <result property="paramId" column="param_id"/>
         <result property="processParamId" column="process_param_id"/>
         <result property="standardValue" column="standard_value"/>
         <result property="minValue" column="min_value"/>
@@ -17,37 +16,56 @@
         <result property="tenantId" column="tenant_id"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
+        <result property="paramKey" column="param_key"/>
+        <result property="paramName" column="param_name"/>
+        <result property="paramType" column="param_type"/>
+        <result property="paramFormat" column="param_format"/>
+        <result property="valueMode" column="value_mode"/>
+        <result property="unit" column="unit"/>
+        <result property="remark" column="remark"/>
     </resultMap>
 
     <insert id="insertFromProcessTemplate">
-        INSERT INTO process_route_item_param (route_item_id, param_id, process_param_id,
-                                              standard_value, min_value, max_value,
-                                              is_required, sort, tenant_id, create_time)
+        INSERT INTO process_route_item_param (route_item_id,
+                                              process_param_id,
+                                              standard_value,
+                                              min_value,
+                                              max_value,
+                                              is_required,
+                                              sort,
+                                              tenant_id,
+                                              create_time,
+                                              param_key,
+                                              param_name,
+                                              param_type,
+                                              param_format,
+                                              value_mode,
+                                              unit,
+                                              remark)
         SELECT #{routeItemId},
-               param_id,
-               id,
-               standard_value,
-               min_value,
-               max_value,
-               is_required,
-               sort,
+               ppp.id,
+               ppp.standard_value,
+               ppp.min_value,
+               ppp.max_value,
+               ppp.is_required,
+               ppp.sort,
                #{tenantId},
-               NOW()
-        FROM product_process_param
-        WHERE process_id = #{processId}
+               NOW(),
+               ppp.param_key,
+               ppp.param_name,
+               ppp.param_type,
+               ppp.param_format,
+               ppp.value_mode,
+               ppp.unit,
+               ppp.remark
+        FROM product_process_param ppp
+        WHERE ppp.process_id = #{processId}
     </insert>
 
     <select id="selectParamPage" resultType="com.ruoyi.production.dto.ProcessRouteItemParamDto">
         select
-        prip.*,
-        bp.param_name,
-        bp.param_key,
-        bp.unit,
-        bp.param_type,
-        bp.param_format,
-        bp.value_mode
+        prip.*
         from process_route_item_param prip
-        left join base_param bp on prip.param_id = bp.id
         <where>
             <if test="p.routeItemId != null">
                 and prip.route_item_id = #{p.routeItemId}

--
Gitblit v1.9.3