From d9aac64d061758c77af5ecccce740df43167024e Mon Sep 17 00:00:00 2001 From: liyong <18434998025@163.com> Date: 星期六, 12 七月 2025 13:30:43 +0800 Subject: [PATCH] 基础数据--- 删除做限制,已经引用的无法删除 --- src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 39 insertions(+), 0 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 6953d6e..dc6d3e9 100644 --- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java +++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java @@ -1,20 +1,29 @@ package com.ruoyi.basic.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.ProductDto; import com.ruoyi.basic.dto.ProductModelDto; +import com.ruoyi.basic.mapper.ProductMapper; import com.ruoyi.basic.mapper.ProductModelMapper; +import com.ruoyi.basic.pojo.Product; import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.basic.service.IProductModelService; import com.ruoyi.common.utils.bean.BeanUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.sales.mapper.SalesLedgerProductMapper; +import com.ruoyi.sales.pojo.SalesLedgerProduct; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice涓氬姟灞傚鐞� @@ -26,6 +35,8 @@ @AllArgsConstructor public class ProductModelServiceImpl extends ServiceImpl<ProductModelMapper, ProductModel> implements IProductModelService { + private final ProductMapper productMapper; + private final SalesLedgerProductMapper salesLedgerProductMapper; private ProductModelMapper productModelMapper; @Override @@ -42,6 +53,12 @@ @Override public int delProductModel(Long[] ids) { + List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(new QueryWrapper<SalesLedgerProduct>() + .lambda().in(SalesLedgerProduct::getProductModelId, ids)); + if (salesLedgerProducts != null && salesLedgerProducts.size() > 0) { + + throw new RuntimeException("宸茬粡瀛樺湪璇ヤ骇鍝佺殑閿�鍞彴璐﹀拰閲囪喘鍙拌处"); + } return productModelMapper.deleteBatchIds(Arrays.asList(ids)); } @@ -64,4 +81,26 @@ queryWrapper.eq(ProductModel::getProductId, productDto.getId()); return productModelMapper.selectPage(page, queryWrapper); } + + @Override + public Boolean importProduct(MultipartFile file) { + try { + ExcelUtil<ProductModel> productModelExcelUtil = new ExcelUtil<>(ProductModel.class); + List<ProductModel> productModelList = productModelExcelUtil.importExcel(file.getInputStream()); + Map<String, List<ProductModel>> collect = productModelList.stream().collect(Collectors.groupingBy(ProductModel::getProductName)); + collect.forEach((k,v)->{ + Product product = productMapper.selectOne(new LambdaQueryWrapper<Product>().eq(Product::getProductName, k).last("LIMIT 1")); + if (product != null) { + v.forEach(productModel -> { + productModel.setProductId(product.getId()); + }); + this.saveOrUpdateBatch(v); + } + }); + return true; + }catch (Exception e) { + e.printStackTrace(); + } + return false; + } } -- Gitblit v1.9.3