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/SupplierServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
index a929dda..020a9cd 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
@@ -1,6 +1,7 @@
 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;
@@ -10,11 +11,19 @@
 import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.basic.pojo.SupplierManage;
 import com.ruoyi.basic.service.ISupplierService;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
+import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -22,6 +31,8 @@
 
     @Autowired
     private SupplierManageMapper supplierMapper;
+    @Autowired
+    private PurchaseLedgerMapper purchaseLedgerMapper;
 
     /**
      * 渚涘簲鍟嗘柊澧�
@@ -30,6 +41,11 @@
      */
     @Override
     public void saveSupplier(SupplierManage supplierManage) {
+        LambdaQueryWrapper<SupplierManage> supplierManageLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        supplierManageLambdaQueryWrapper.eq(SupplierManage::getSupplierName,supplierManage.getSupplierName());
+        if (supplierMapper.selectCount(supplierManageLambdaQueryWrapper) > 0) {
+            throw new RuntimeException("渚涘簲鍟嗗凡瀛樺湪");
+        }
         supplierMapper.insert(supplierManage);
     }
 
@@ -40,8 +56,13 @@
      */
     @Override
     public int delSupplier(List<Integer> ids) {
+        List<PurchaseLedger> purchaseLedgers = purchaseLedgerMapper.selectList(new QueryWrapper<PurchaseLedger>().lambda().in(PurchaseLedger::getSupplierId, ids));
+        if (purchaseLedgers.size() > 0) {
+            throw new RuntimeException("渚涘簲鍟嗗凡瀛樺湪閲囪喘鍚堝悓");
+        }
         LambdaQueryWrapper<SupplierManage> delWrapper = new LambdaQueryWrapper<>();
         delWrapper.in(SupplierManage::getId, ids);
+
         return supplierMapper.delete(delWrapper);
     }
 
@@ -87,4 +108,29 @@
         ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
         util.exportExcel(response, supplierManageList, "渚涘簲鍟嗗鍑�");
     }
+
+    @Override
+    public Boolean importData(MultipartFile file) {
+
+        try {
+            ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
+            List<SupplierManageExcelDto> list = util.importExcel(file.getInputStream());
+            ArrayList<SupplierManage> supplierManages = new ArrayList<>();
+            list.stream().forEach(dto -> {
+                SupplierManage supplierManage = new SupplierManage();
+                BeanUtils.copyProperties(dto,supplierManage);
+                supplierManage.setMaintainTime(LocalDate.now());
+                Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
+
+                supplierManage.setMaintainUserId(Integer.parseInt(userId+""));
+                supplierManages.add(supplierManage);
+            });
+
+            this.saveOrUpdateBatch(supplierManages);
+            return true;
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return false;
+    }
 }

--
Gitblit v1.9.3