From 27a40258eb823210af2b286a2b43404e6c49f9e3 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 16 三月 2026 16:36:30 +0800
Subject: [PATCH] fix: 工艺路线内的工序产品名称未返回、工序对应的参数个数

---
 src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java
new file mode 100644
index 0000000..70c388b
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/impl/ProcessRouteItemParamServiceImpl.java
@@ -0,0 +1,87 @@
+package com.ruoyi.production.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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;
+import com.ruoyi.production.mapper.ProcessRouteItemParamMapper;
+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;
+
+import java.time.LocalDateTime;
+
+/**
+ * <br>
+ * 宸ヨ壓璺嚎宸ュ簭鍙傛暟瀹炰緥 ServiceImpl
+ * </br>
+ *
+ * @author deslrey
+ * @version 1.0
+ * @since 2026/03/16 11:11
+ */
+@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) {
+        return baseMapper.selectParamPage(page, param);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean initParams(Long routeItemId, Long processId) {
+        Long tenantId = SecurityUtils.getLoginUser().getTenantId();
+        if (tenantId == null) {
+            tenantId = 208L;
+        }
+
+        return baseMapper.insertFromProcessTemplate(routeItemId, processId, tenantId) > 0;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void saveParam(ProcessRouteItemParam param) {
+        if (param == null) {
+            throw new ServiceException("鏂板澶辫触,鍙傛暟涓嶈兘涓虹┖");
+        }
+        if (param.getRouteItemId() == null || param.getParamId() == null) {
+            throw new ServiceException("鍏宠仈宸ュ簭ID鍜屽弬鏁伴」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::getTenantId, tenantId));
+        if (count > 0) {
+            throw new ServiceException("璇ュ伐搴忓凡瀛樺湪姝ゅ弬鏁伴」锛岃鍕块噸澶嶆坊鍔�");
+        }
+
+        BaseParam baseParam = baseParamService.getById(param.getParamId());
+        if (baseParam == null) {
+            throw new ServiceException("鏂板澶辫触,鏀瑰熀纭�鍙傛暟涓嶅瓨鍦�");
+        }
+
+        Integer maxSort = baseMapper.selectMaxSortByRouteItemId(param.getRouteItemId());
+        param.setId(null);
+        param.setProcessParamId(null);
+        param.setSort(maxSort);
+        param.setCreateTime(LocalDateTime.now());
+        param.setTenantId(tenantId);
+
+        this.save(param);
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3