From e04ce40a547fb63dc9c9f101902fad9952396f37 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期五, 12 七月 2024 16:53:34 +0800
Subject: [PATCH] 检验项目的导入添加支持多个sheet与三级检测项目添加

---
 cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
index 7be141e..878ddeb 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java
@@ -2,12 +2,15 @@
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.poi.excel.ExcelUtil;
+import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.util.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.annotation.ValueAuth;
 import com.yuanchu.mom.annotation.ValueClassify;
 import com.yuanchu.mom.dto.PageTestObjectDto;
+import com.yuanchu.mom.excel.StructureTestObjectData;
+import com.yuanchu.mom.excel.StructureTestObjectListener;
 import com.yuanchu.mom.exception.ErrorException;
 import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.*;
@@ -22,8 +25,8 @@
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.IOException;
 import java.io.InputStream;
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -172,11 +175,11 @@
         InputStream inputStream = file.getInputStream();
         List<StructureItemParameter> lists = new ArrayList<>();
         AtomicReference<String> sample = new AtomicReference<>();
-        ExcelUtil.readBySax(inputStream, 0, (i, l, list1) -> {
-            if (i == 0 && l == 1) {
+        ExcelUtil.readBySax(inputStream, -1, (i, l, list1) -> {
+            if (l == 1) {
                 sample.set(list1.get(1) + "");
             }
-            if (i == 0 && l >= 1) {
+            if (l >= 1) {
                 StructureItemParameter str = new StructureItemParameter();
                 if (list1.get(1) == null) {
                     str.setSample(null);
@@ -360,11 +363,23 @@
         structureItemParameterService.removeNoSample(sample.get());
         // 濡傛灉鏁版嵁搴撻噷闈㈢殑鏁版嵁瀛樺湪閭d箞灏辨墽琛屾洿鏂版嫹璐濇搷浣�
         try {
-            structureItemParameterService.saveBatch(lists);
+            structureItemParameterService.saveOrUpdateBatch(lists);
         } catch (Exception e) {
             e.printStackTrace();
             throw new RuntimeException("鏈嶅姟绔姤閿欏暒!!!");
         }
         return Result.success();
     }
+
+    @ValueClassify(value = "鑳藉姏鑼冨洿")
+    @ApiOperation(value = "瀵煎叆妫�楠屽璞�")
+    @PostMapping("/importExcel")
+    public Result importExcel(@RequestParam("file") MultipartFile file) {
+        try {
+            EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return Result.success();
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3