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