From db64926ed340724ecbb0e26212c419a487eede7b Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 03 四月 2025 11:23:19 +0800
Subject: [PATCH] 设备导入优化

---
 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java
index 36b2341..533c9c7 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java
@@ -1,11 +1,14 @@
 package com.ruoyi.device.controller;
 
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.LocalDateTimeStringConverters;
 import com.ruoyi.device.dto.DataConfigDto;
 import com.ruoyi.device.dto.DeviceCollectionDto;
 import com.ruoyi.device.dto.DeviceDto;
+import com.ruoyi.device.excel.upload.DeviceListener;
 import com.ruoyi.device.pojo.DataConfig;
 import com.ruoyi.device.pojo.Device;
 import com.ruoyi.device.service.DataConfigService;
@@ -21,12 +24,10 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
+import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -134,12 +135,6 @@
         }
     }
 
-    @ApiOperation(value = "鑾峰彇璁惧璐熻矗浜�")
-    @GetMapping("/selectDevicePrincipal")
-    public Result selectDevicePrincipal() {
-        return Result.success(deviceService.selectDevicePrincipal());
-    }
-
     @ApiOperation(value = "閫氳繃椤圭洰鑾峰彇璁惧鍒楄〃")
     @GetMapping("/selectDeviceByCategory")
     public Result selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass,String laboratory) {
@@ -161,8 +156,8 @@
 
     @ApiOperation(value = "缁存姢鏁伴噰閰嶇疆")
     @PostMapping("/saveDataAcquisitionConfiguration")
-    public Result<?> saveDataAcquisitionConfiguration(@RequestParam(value = "deviceId") Integer deviceId, @RequestBody DataConfigDto dataConfigList) {
-        dataConfigService.saveDataAcquisitionConfiguration(deviceId, dataConfigList);
+    public Result<?> saveDataAcquisitionConfiguration(@RequestBody DataConfigDto dataConfigList) {
+        dataConfigService.saveDataAcquisitionConfiguration(dataConfigList.getDeviceId(), dataConfigList);
         return Result.success();
     }
 
@@ -202,4 +197,22 @@
     public void exportEquipmentDetails(HttpServletResponse response) throws Exception {
         deviceService.exportEquipmentDetails(response);
     }
+
+    /**
+     * 瀵煎叆璁惧
+     * @return
+     */
+    @ApiOperation(value = "瀵煎叆璁惧")
+    @PostMapping("/importDevice")
+    public Result importDevice(@RequestParam("file") MultipartFile file){
+        try {
+            EasyExcel.read(file.getInputStream(), Device.class, new DeviceListener(deviceService))
+                    .registerConverter(new LocalDateTimeStringConverters())
+                    .sheet().doRead();
+        } catch (IOException e) {
+            // 杩欓噷鍙互鏍规嵁瀹為檯鎯呭喌杩涜鏇村畬鍠勭殑閿欒澶勭悊锛屾瘮濡傝褰曟棩蹇楃瓑
+            System.err.println("璇诲彇鏂囦欢鏃跺彂鐢熼敊璇�: " + e.getMessage());
+        }
+        return Result.success();
+    }
 }

--
Gitblit v1.9.3