From fe058347969127ef92e85f89623abde268b29fab Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 15 五月 2026 17:22:57 +0800
Subject: [PATCH] feat(销售报价) 添加productId 和 productModelId
---
src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | 31 +++++++++++++++++++++++++++----
1 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
index c44ee24..51e5441 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -25,7 +25,10 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
/**
@@ -44,6 +47,11 @@
@Override
public int addOrEditProductModel(ProductModelDto productModelDto) {
+ String model = StringUtils.trim(productModelDto.getModel());
+ String productCode = StringUtils.trim(productModelDto.getProductCode());
+ productModelDto.setModel(model);
+ productModelDto.setProductCode(productCode);
+ checkModelAndProductCodeUnique(model, productCode, productModelDto.getId());
if (productModelDto.getId() == null) {
ProductModel productModel = new ProductModel();
@@ -51,6 +59,21 @@
return productModelMapper.insert(productModel);
} else {
return productModelMapper.updateById(productModelDto);
+ }
+ }
+
+ private void checkModelAndProductCodeUnique(String model, String productCode, Long currentId) {
+ if (StringUtils.isEmpty(model) || StringUtils.isEmpty(productCode)) {
+ return;
+ }
+ LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(ProductModel::getModel, model)
+ .eq(ProductModel::getProductCode, productCode)
+ .ne(currentId != null, ProductModel::getId, currentId)
+ .last("limit 1");
+ ProductModel duplicateProductModel = productModelMapper.selectOne(queryWrapper);
+ if (duplicateProductModel != null) {
+ throw new ServiceException("瀵瑰簲鐨勫瀷鍙�" + model + "鐨勪骇鍝佺紪鐮�" + productCode + "宸茬粡瀛樺湪");
}
}
@@ -70,9 +93,6 @@
public List<ProductModel> selectModelList(ProductDto productDto) {
LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ProductModel::getProductId, productDto.getId());
- queryWrapper.eq(productDto.getCreateUser() != null, ProductModel::getCreateUser, productDto.getCreateUser());
- queryWrapper.eq(productDto.getDeptId() != null, ProductModel::getDeptId, productDto.getDeptId());
- queryWrapper.in(productDto.getDeptIds() != null && productDto.getDeptIds().length > 0, ProductModel::getDeptId, Arrays.asList(productDto.getDeptIds()));
return productModelMapper.selectList(queryWrapper);
}
@@ -121,6 +141,9 @@
ProductModel item = productModelList.get(i);
int rowNum = i + 2;
+ if (StringUtils.isEmpty(item.getProductCode())) {
+ return AjaxResult.error("绗� " + rowNum + " 琛屽鍏ュけ璐�: [浜у搧缂栫爜] 涓嶈兘涓虹┖");
+ }
if (StringUtils.isEmpty(item.getModel())) {
return AjaxResult.error("绗� " + rowNum + " 琛屽鍏ュけ璐�: [瑙勬牸鍨嬪彿] 涓嶈兘涓虹┖");
}
--
Gitblit v1.9.3