From 506b7d5577e797cb65b89e953daed75da0d6512b Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 28 四月 2026 14:22:39 +0800
Subject: [PATCH] 修改上传文件相关
---
src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java | 118 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 71 insertions(+), 47 deletions(-)
diff --git a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java
index 44b59ed..9f270fa 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -38,7 +39,7 @@
@Override
public IPage<TechnologyRoutingOperationParamVo> pageTechnologyRoutingOperationParam(Page<TechnologyRoutingOperationParamDto> page,
- TechnologyRoutingOperationParamDto dto) {
+ TechnologyRoutingOperationParamDto dto) {
Page<TechnologyRoutingOperationParam> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
return this.page(entityPage, buildQueryWrapper(dto))
.convert(item -> BeanUtil.copyProperties(item, TechnologyRoutingOperationParamVo.class));
@@ -62,7 +63,6 @@
public boolean saveTechnologyRoutingOperationParam(TechnologyRoutingOperationParam item) {
TechnologyRoutingOperation routingOperation = getRoutingOperation(item.getTechnologyRoutingOperationId());
fillFromOperationParam(item, routingOperation);
- validateManualFields(item);
checkDuplicate(item);
return this.saveOrUpdate(item);
}
@@ -75,7 +75,7 @@
@Override
public int syncTechnologyRoutingOperationParam(TechnologyRoutingOperationParamSyncDto syncDto) {
if (syncDto == null || syncDto.getTechnologyRoutingOperationId() == null) {
- throw new ServiceException("technologyRoutingOperationId is required");
+ throw new ServiceException("宸ヨ壓璺嚎宸ュ簭ID涓嶈兘涓虹┖");
}
TechnologyRoutingOperation routingOperation = getRoutingOperation(syncDto.getTechnologyRoutingOperationId());
List<TechnologyOperationParam> operationParamList = technologyOperationParamMapper.selectList(
@@ -91,23 +91,25 @@
);
}
int successCount = 0;
- for (TechnologyOperationParam operationParam : operationParamList) {
- boolean exists = technologyRoutingOperationParamMapper.selectCount(
- Wrappers.<TechnologyRoutingOperationParam>lambdaQuery()
- .eq(TechnologyRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getId())
- .eq(TechnologyRoutingOperationParam::getTechnologyOperationParamId, operationParam.getId())
- ) > 0;
- if (!replaceExisting && exists) {
- continue;
+ if (CollectionUtils.isNotEmpty(operationParamList)) {
+ for (TechnologyOperationParam operationParam : operationParamList) {
+ boolean exists = technologyRoutingOperationParamMapper.selectCount(
+ Wrappers.<TechnologyRoutingOperationParam>lambdaQuery()
+ .eq(TechnologyRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getId())
+ .eq(TechnologyRoutingOperationParam::getTechnologyOperationParamId, operationParam.getId())
+ ) > 0;
+ if (!replaceExisting && exists) {
+ continue;
+ }
+ TechnologyRoutingOperationParam snapshot = new TechnologyRoutingOperationParam();
+ snapshot.setTechnologyRoutingOperationId(routingOperation.getId());
+ snapshot.setTechnologyOperationParamId(operationParam.getId());
+ snapshot.setTechnologyOperationId(operationParam.getTechnologyOperationId());
+ snapshot.setStandardValue(operationParam.getStandardValue());
+ fillFromOperationParam(snapshot, routingOperation);
+ technologyRoutingOperationParamMapper.insert(snapshot);
+ successCount++;
}
- TechnologyRoutingOperationParam snapshot = new TechnologyRoutingOperationParam();
- snapshot.setTechnologyRoutingOperationId(routingOperation.getId());
- snapshot.setTechnologyOperationParamId(operationParam.getId());
- snapshot.setTechnologyOperationId(operationParam.getTechnologyOperationId());
- snapshot.setStandardValue(operationParam.getStandardValue());
- fillFromOperationParam(snapshot, routingOperation);
- technologyRoutingOperationParamMapper.insert(snapshot);
- successCount++;
}
return successCount;
}
@@ -134,11 +136,11 @@
private TechnologyRoutingOperation getRoutingOperation(Long technologyRoutingOperationId) {
if (technologyRoutingOperationId == null) {
- throw new ServiceException("technologyRoutingOperationId is required");
+ throw new ServiceException("宸ヨ壓璺嚎宸ュ簭ID涓嶈兘涓虹┖");
}
TechnologyRoutingOperation routingOperation = technologyRoutingOperationMapper.selectById(technologyRoutingOperationId);
if (routingOperation == null) {
- throw new ServiceException("Technology routing operation not found");
+ throw new ServiceException("宸ヨ壓璺嚎宸ュ簭涓嶅瓨鍦�");
}
return routingOperation;
}
@@ -147,22 +149,54 @@
if (item.getTechnologyOperationId() == null) {
item.setTechnologyOperationId(routingOperation.getTechnologyOperationId());
} else if (!item.getTechnologyOperationId().equals(routingOperation.getTechnologyOperationId())) {
- throw new ServiceException("technologyOperationId does not match routing operation");
+ throw new ServiceException("宸ュ簭ID涓庡伐鑹鸿矾绾垮伐搴忎笉鍖归厤");
}
- if (item.getTechnologyOperationParamId() == null) {
+
+ if (item.getTechnologyOperationParamId() != null) {
+ TechnologyOperationParam operationParam = technologyOperationParamMapper.selectById(item.getTechnologyOperationParamId());
+ if (operationParam == null) {
+ throw new ServiceException("宸ュ簭鍙傛暟涓嶅瓨鍦�");
+ }
+ if (!routingOperation.getTechnologyOperationId().equals(operationParam.getTechnologyOperationId())) {
+ throw new ServiceException("宸ュ簭鍙傛暟涓嶅睘浜庡綋鍓嶅伐鑹鸿矾绾垮伐搴�");
+ }
+ TechnologyParam technologyParam = technologyParamMapper.selectById(operationParam.getTechnologyParamId());
+ if (technologyParam == null) {
+ throw new ServiceException("鍩虹鍙傛暟涓嶅瓨鍦�");
+ }
+ fillFromTechnologyParam(item, technologyParam);
+ if (item.getStandardValue() == null) {
+ item.setStandardValue(operationParam.getStandardValue());
+ }
return;
}
- TechnologyOperationParam operationParam = technologyOperationParamMapper.selectById(item.getTechnologyOperationParamId());
- if (operationParam == null) {
- throw new ServiceException("Technology operation param not found");
+
+ if (item.getParamId() != null) {
+ TechnologyParam technologyParam = technologyParamMapper.selectById(item.getParamId());
+ if (technologyParam == null) {
+ throw new ServiceException("鍩虹鍙傛暟涓嶅瓨鍦�");
+ }
+ fillFromTechnologyParam(item, technologyParam);
+ TechnologyOperationParam operationParam = technologyOperationParamMapper.selectOne(
+ Wrappers.<TechnologyOperationParam>lambdaQuery()
+ .eq(TechnologyOperationParam::getTechnologyOperationId, routingOperation.getTechnologyOperationId())
+ .eq(TechnologyOperationParam::getTechnologyParamId, item.getParamId())
+ .orderByAsc(TechnologyOperationParam::getId)
+ .last("limit 1")
+ );
+ if (operationParam != null) {
+ item.setTechnologyOperationParamId(operationParam.getId());
+ if (item.getStandardValue() == null) {
+ item.setStandardValue(operationParam.getStandardValue());
+ }
+ }
+ return;
}
- if (!routingOperation.getTechnologyOperationId().equals(operationParam.getTechnologyOperationId())) {
- throw new ServiceException("Operation param does not belong to routing operation");
- }
- TechnologyParam technologyParam = technologyParamMapper.selectById(operationParam.getTechnologyParamId());
- if (technologyParam == null) {
- throw new ServiceException("Technology param not found");
- }
+
+ throw new ServiceException("paramId鎴杢echnologyOperationParamId涓嶈兘涓虹┖");
+ }
+
+ private void fillFromTechnologyParam(TechnologyRoutingOperationParam item, TechnologyParam technologyParam) {
item.setParamId(technologyParam.getId());
item.setParamCode(technologyParam.getParamCode());
item.setParamName(technologyParam.getParamName());
@@ -173,18 +207,6 @@
if (item.getRemark() == null || item.getRemark().trim().isEmpty()) {
item.setRemark(technologyParam.getRemark());
}
- if (item.getStandardValue() == null) {
- item.setStandardValue(operationParam.getStandardValue());
- }
- }
-
- private void validateManualFields(TechnologyRoutingOperationParam item) {
- if (item.getParamCode() == null || item.getParamCode().trim().isEmpty()) {
- throw new ServiceException("paramCode is required");
- }
- if (item.getParamName() == null || item.getParamName().trim().isEmpty()) {
- throw new ServiceException("paramName is required");
- }
}
private void checkDuplicate(TechnologyRoutingOperationParam item) {
@@ -193,12 +215,14 @@
.eq(TechnologyRoutingOperationParam::getTechnologyRoutingOperationId, item.getTechnologyRoutingOperationId())
.eq(item.getTechnologyOperationParamId() != null,
TechnologyRoutingOperationParam::getTechnologyOperationParamId, item.getTechnologyOperationParamId())
- .eq(item.getTechnologyOperationParamId() == null && item.getParamCode() != null,
+ .eq(item.getTechnologyOperationParamId() == null && item.getParamId() != null,
+ TechnologyRoutingOperationParam::getParamId, item.getParamId())
+ .eq(item.getTechnologyOperationParamId() == null && item.getParamId() == null && item.getParamCode() != null,
TechnologyRoutingOperationParam::getParamCode, item.getParamCode())
.ne(item.getId() != null, TechnologyRoutingOperationParam::getId, item.getId())
) > 0;
if (duplicate) {
- throw new ServiceException("Duplicate routing operation param");
+ throw new ServiceException("宸ヨ壓璺嚎宸ュ簭鍙傛暟閲嶅");
}
}
}
--
Gitblit v1.9.3