From 5ba8934c35a1ad0378b09f397ea2f285ceac300a Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 28 五月 2026 13:16:00 +0800
Subject: [PATCH] 修改厂家导入

---
 src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java
index db79c2d..55c8a6b 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/ManufacturerServiceImpl.java
@@ -10,6 +10,10 @@
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
 import com.ruoyi.stock.dto.ManufacturerDto;
 import com.ruoyi.stock.execl.ManufacturerExcelDto;
 import com.ruoyi.stock.mapper.ManufacturerMapper;
@@ -43,6 +47,7 @@
 
     private final StockInventoryMapper stockInventoryMapper;
     private final ManufacturerMapper manufacturerMapper;
+    private final SysUserMapper sysUserMapper;
 
     /**
      * 鍘傚晢鏂板
@@ -53,7 +58,7 @@
         LambdaQueryWrapper<Manufacturer> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(Manufacturer::getName,manufacturer.getName());
         if (baseMapper.selectCount(queryWrapper) > 0) {
-            throw new RuntimeException("渚涘簲鍟嗗凡瀛樺湪");
+            throw new RuntimeException("鍘傚宸插瓨鍦�");
         }
 
         baseMapper.insert(manufacturer);
@@ -109,7 +114,7 @@
     public void manufacturerExport(HttpServletResponse response, ManufacturerDto manufacturerDto) {
         List<ManufacturerExcelDto> list = manufacturerMapper.manufacturerExportList(manufacturerDto);
         ExcelUtil<ManufacturerExcelDto> util = new ExcelUtil<>(ManufacturerExcelDto.class);
-        util.exportExcel(response, list, "鍘傚晢鏁版嵁");
+        util.exportExcel(response, list, "鍘傚鏁版嵁");
     }
 
     /**
@@ -117,23 +122,39 @@
      */
     @Override
     @Transactional
-    public Boolean importData(MultipartFile file) {
+    public R importData(MultipartFile file) {
         try {
             ExcelUtil<ManufacturerExcelDto> util = new ExcelUtil<>(ManufacturerExcelDto.class);
             List<ManufacturerExcelDto> list = util.importExcel(file.getInputStream());
             ArrayList<Manufacturer> manufacturers = new ArrayList<>();
             list.stream().forEach(dto -> {
                 Manufacturer manufacturer = new Manufacturer();
-                BeanUtils.copyProperties(dto,manufacturer);
+                BeanUtils.copyProperties(dto, manufacturer);
                 manufacturer.setMaintainTime(LocalDate.now());
-                manufacturer.setMaintainUserId(SecurityUtils.getLoginUser().getUser().getUserId());
+
+                // 妫�鏌ュ巶瀹跺悕绉版槸鍚﹂噸澶�
+                LambdaQueryWrapper<Manufacturer> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(Manufacturer::getName, manufacturer.getName());
+                if (baseMapper.selectCount(queryWrapper) > 0) {
+                    throw new RuntimeException("鍘傚鍚嶇О宸插瓨鍦�: " + manufacturer.getName());
+                }
+
+                if (StringUtils.isEmpty(dto.getMaintainUserName())) {
+                    manufacturer.setMaintainUserId(SecurityUtils.getLoginUser().getUser().getUserId());
+                } else {
+                    SysUser sysUser = sysUserMapper.selectOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getNickName, dto.getMaintainUserName()));
+                    if (sysUser == null) {
+                        throw new RuntimeException("缁存姢浜轰笉瀛樺湪: " + dto.getMaintainUserName());
+                    }
+                    manufacturer.setMaintainUserId(sysUser.getUserId());
+                }
                 manufacturers.add(manufacturer);
             });
             this.saveOrUpdateBatch(manufacturers);
-            return true;
+            return R.ok("瀵煎叆鎴愬姛");
         } catch (Exception e) {
             log.error("瀵煎叆澶辫触", e);
-            return false;
+            return R.fail("瀵煎叆澶辫触: " + e.getMessage());
         }
     }
 }

--
Gitblit v1.9.3