From b693c7b6a73ea83a4bfc66f3846e0d9517af2642 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 20 五月 2026 16:27:38 +0800
Subject: [PATCH] 导入供应商增加类型,并校验

---
 src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java    |   21 +++++++++++++++++----
 src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java        |    3 +++
 src/main/java/com/ruoyi/basic/service/ISupplierService.java            |    3 ++-
 src/main/java/com/ruoyi/basic/pojo/SupplierManage.java                 |    9 +++++----
 src/main/java/com/ruoyi/basic/controller/SupplierManageController.java |    9 +++------
 5 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java b/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
index 1a58500..cbd6eb4 100644
--- a/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
+++ b/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
@@ -8,6 +8,7 @@
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.AllArgsConstructor;
 import org.springframework.util.CollectionUtils;
@@ -102,12 +103,8 @@
      */
     @PostMapping("/import")
     @Log(title = "渚涘簲鍟嗗鍏�", businessType = BusinessType.IMPORT)
-    public AjaxResult importData(MultipartFile file) {
-        Boolean b = supplierService.importData(file);
-        if (b) {
-            return AjaxResult.success("瀵煎叆鎴愬姛");
-        }
-        return AjaxResult.error("瀵煎叆澶辫触");
+    public R importData(MultipartFile file) throws Exception {
+       return supplierService.importData(file);
     }
 
 
diff --git a/src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java b/src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java
index 87b197f..d4e63de 100644
--- a/src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java
+++ b/src/main/java/com/ruoyi/basic/excel/SupplierManageExcelDto.java
@@ -15,6 +15,9 @@
     @Excel(name = "渚涘簲鍟嗗悕绉�")
     private String supplierName;
 
+    @Excel(name = "渚涘簲鍟嗙被鍨�")
+    private String supplierType;
+
     @Excel(name = "绾崇◣浜鸿瘑鍒彿")
     private String taxpayerIdentificationNum;
 
diff --git a/src/main/java/com/ruoyi/basic/pojo/SupplierManage.java b/src/main/java/com/ruoyi/basic/pojo/SupplierManage.java
index fa10c92..cb32b58 100644
--- a/src/main/java/com/ruoyi/basic/pojo/SupplierManage.java
+++ b/src/main/java/com/ruoyi/basic/pojo/SupplierManage.java
@@ -20,6 +20,11 @@
     @Excel(name = "渚涘簲鍟嗗悕绉�")
     private String supplierName;
 
+    @Schema(description = "渚涘簲鍟嗙被鍨�")
+    @TableField(value = "supplier_type")
+    @Excel(name = "渚涘簲鍟嗙被鍨�")
+    private String supplierType;
+
     @Schema(description = "绾崇◣浜鸿瘑鍒彿")
     @Excel(name = "绾崇◣浜鸿瘑鍒彿")
     private String taxpayerIdentificationNum;
@@ -79,10 +84,6 @@
     @Schema(description = "绉熸埛ID")
     @TableField(fill = FieldFill.INSERT)
     private Long tenantId;
-
-    @Schema(description = "渚涘簲鍟嗙被鍨�")
-    @TableField(value = "supplier_type")
-    private String supplierType;
 
     @TableField(fill = FieldFill.INSERT)
     private Long deptId;
diff --git a/src/main/java/com/ruoyi/basic/service/ISupplierService.java b/src/main/java/com/ruoyi/basic/service/ISupplierService.java
index b54c2ad..7340bce 100644
--- a/src/main/java/com/ruoyi/basic/service/ISupplierService.java
+++ b/src/main/java/com/ruoyi/basic/service/ISupplierService.java
@@ -6,6 +6,7 @@
 import com.ruoyi.basic.dto.SupplierManageDto;
 import com.ruoyi.basic.pojo.SupplierManage;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
 import org.springframework.web.multipart.MultipartFile;
 
 import jakarta.servlet.http.HttpServletResponse;
@@ -56,5 +57,5 @@
      */
     void supplierExport(HttpServletResponse response, SupplierManageDto supplierManageDto);
 
-    Boolean importData(MultipartFile file);
+    R importData(MultipartFile file);
 }
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 6adaf2a..98b3f23 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/SupplierServiceImpl.java
@@ -3,6 +3,7 @@
 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.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.basic.dto.SupplierManageDto;
@@ -12,6 +13,8 @@
 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.R;
+import com.ruoyi.project.system.mapper.SysDictDataMapper;
 import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
 import com.ruoyi.purchase.pojo.PurchaseLedger;
 import jakarta.servlet.http.HttpServletResponse;
@@ -30,6 +33,7 @@
 
     private final SupplierManageMapper supplierMapper;
     private final PurchaseLedgerMapper purchaseLedgerMapper;
+    private final SysDictDataMapper sysDictDataMapper;
 
     /**
      * 渚涘簲鍟嗘柊澧�
@@ -107,13 +111,22 @@
     }
 
     @Override
-    public Boolean importData(MultipartFile file) {
-
+    public R importData(MultipartFile file) {
         try {
             ExcelUtil<SupplierManageExcelDto> util = new ExcelUtil<SupplierManageExcelDto>(SupplierManageExcelDto.class);
             List<SupplierManageExcelDto> list = util.importExcel(file.getInputStream());
+
+            if (CollectionUtils.isEmpty(list)) {
+                return R.fail("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
+            }
+
             ArrayList<SupplierManage> supplierManages = new ArrayList<>();
             list.stream().forEach(dto -> {
+                // 渚涘簲鍟嗙被鍨嬫槸鍚﹀瓨鍦� 锛堢敳涔欎笝涓侊級
+                String supplierType = dto.getSupplierType();
+                if (!supplierType.equals("鐢�") && !supplierType.equals("涔�") && !supplierType.equals("涓�") && !supplierType.equals("涓�")) {
+                    throw new RuntimeException("渚涘簲鍟嗙被鍨� " + supplierType + " 涓嶅瓨鍦紒");
+                }
                 SupplierManage supplierManage = new SupplierManage();
                 BeanUtils.copyProperties(dto,supplierManage);
                 supplierManage.setMaintainTime(LocalDate.now());
@@ -124,10 +137,10 @@
             });
 
             this.saveOrUpdateBatch(supplierManages);
-            return true;
+            return R.ok("瀵煎叆鎴愬姛");
         }catch (Exception e){
             e.printStackTrace();
+            return R.fail(e.getMessage());
         }
-        return false;
     }
 }

--
Gitblit v1.9.3