From 2ad2948d0e1c4e0d9d5000c3eb02605c3aceed94 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 09 四月 2026 18:04:00 +0800
Subject: [PATCH] fix: 产品被绑定不允许删除
---
src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
index d8ad015..3ce997f 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductMaterialServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.framework.util.AliDingUtils;
import com.ruoyi.production.dto.ProductMaterialDto;
import com.ruoyi.production.dto.ProductMaterialGroupDto;
+import com.ruoyi.production.dto.ProductMaterialSkuDto;
import com.ruoyi.production.enums.MaterialConfigTypeEnum;
import com.ruoyi.production.mapper.ProductMaterialMapper;
import com.ruoyi.production.pojo.ProductMaterial;
@@ -270,8 +271,7 @@
@Override
public List<ProductMaterialGroupDto> ProductMaterialList(Integer type) {
List<ProductMaterialConfig> configList = productMaterialConfigService.list(new LambdaQueryWrapper<ProductMaterialConfig>()
- .eq(ProductMaterialConfig::getConfigType, MaterialConfigTypeEnum.MATERIAL_TYPE.name())
- );
+ .eq(ProductMaterialConfig::getConfigType, MaterialConfigTypeEnum.MATERIAL_TYPE.name()));
if (CollectionUtils.isEmpty(configList)) {
return new ArrayList<>();
}
@@ -283,7 +283,9 @@
ProductMaterial::getId,
ProductMaterial::getMaterialTypeId,
ProductMaterial::getInventoryCategoryId,
- ProductMaterial::getProductName
+ ProductMaterial::getProductName,
+ ProductMaterial::getUnit,
+ ProductMaterial::getRemark
)
);
materialMap = materialList.stream()
@@ -358,6 +360,8 @@
dto.setProductName(m.getProductName());
dto.setMaterialTypeId(m.getMaterialTypeId());
dto.setInventoryCategoryId(m.getInventoryCategoryId());
+ dto.setUnit(m.getUnit());
+ dto.setRemark(m.getRemark());
return dto;
}
@@ -403,6 +407,13 @@
if (ids == null || ids.isEmpty()) {
throw new ServiceException("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
}
+
+ // 瀛樺湪瑙勬牸灏变笉鑳藉垹闄�
+ long skuCount = productMaterialSkuService.count(new LambdaQueryWrapper<ProductMaterialSku>().in(ProductMaterialSku::getProductId, ids));
+ if (skuCount > 0) {
+ throw new ServiceException("璇ョ墿鏂欎笅瀛樺湪瑙勬牸鏁版嵁锛屾棤娉曞垹闄�");
+ }
+
if (!this.removeByIds(ids)) {
throw new ServiceException("鍒犻櫎鐗╂枡澶辫触");
}
@@ -410,8 +421,13 @@
}
@Override
- public String selectProductModelIdByName(Long productId) {
- return baseMapper.selectProductModelIdByName(productId);
+ public ProductMaterialSkuDto selectProductByModelId(Long productModelId) {
+ return baseMapper.selectProductByModelId(productModelId);
+ }
+
+ @Override
+ public ProductMaterialSkuDto selectProductByProductMainId(Long productOrderId) {
+ return baseMapper.selectProductByProductMainId(productOrderId);
}
private void validateProductMaterial(ProductMaterial productMaterial, boolean requireId) {
--
Gitblit v1.9.3