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