From 2753ad7aee272a5a5a8a0124b1feea5a1e4cc83e Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 20 六月 2025 22:40:52 +0800
Subject: [PATCH] 电源告警参数返回

---
 src/main/java/com/whyc/service/DeviceSpareService.java |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/DeviceSpareService.java b/src/main/java/com/whyc/service/DeviceSpareService.java
index 86e560d..72a0fea 100644
--- a/src/main/java/com/whyc/service/DeviceSpareService.java
+++ b/src/main/java/com/whyc/service/DeviceSpareService.java
@@ -1,6 +1,7 @@
 package com.whyc.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -11,6 +12,7 @@
 import com.whyc.util.CommonUtil;
 import com.whyc.util.ThreadLocalUtil;
 import org.apache.commons.lang.StringUtils;
+import org.apache.poi.ss.usermodel.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -19,6 +21,7 @@
 import javax.annotation.Resource;
 import java.io.File;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -158,4 +161,81 @@
         List<DeviceSpare> deviceSpares = mapper.selectList(query);
         return new Response<List<DeviceSpare>>().set(1,deviceSpares);
     }
+
+    public void addBatch(List<DeviceSpare> spareList) {
+        mapper.insertBatchSomeColumn(spareList);
+    }
+
+    public void addOrUpdate(List<DeviceSpare> spareList) {
+        //鏌ヨ搴撲腑鏄惁瀛樺湪璇ヨ澶�,瀛樺湪鍒欏鍔犳暟閲�.
+        for (DeviceSpare spare : spareList) {
+            QueryWrapper<DeviceSpare> query = Wrappers.query();
+            query.eq("name",spare.getName());
+            query.eq("model",spare.getModel());
+            query.eq("version",spare.getVersion());
+            query.eq("brand",spare.getBrand());
+            query.eq("type",spare.getType());
+            query.eq("supplier",spare.getSupplier());
+            query.last(" limit 1");
+            DeviceSpare spareInDB = mapper.selectOne(query);
+            if(spareInDB != null){
+                spareInDB.setQuantity(spareInDB.getQuantity()+spare.getQuantity());
+                mapper.updateById(spareInDB);
+
+            }else{
+                //涓嶅瓨鍦ㄥ垯鏂板
+                mapper.insert(spare);
+            }
+        }
+
+    }
+
+    public void outBound(List<DeviceSpare> spareList) {
+        mapper.outBound(spareList);
+    }
+
+    public Response addByExcel(MultipartFile file) throws IOException {
+        //灏嗘枃浠舵祦杞寲涓簑orkbook
+        Workbook book = WorkbookFactory.create(file.getInputStream());
+        Sheet sheet = book.getSheetAt(0);
+        //鑾峰彇鏈�鍚庝竴琛�
+        int lastRowIndex = sheet.getLastRowNum();
+        List<DeviceSpare> spareList = new ArrayList<>();
+        for (int i = 1; i <= lastRowIndex; i++) {
+            DeviceSpare spare = new DeviceSpare();
+            Row row = sheet.getRow(i);
+            //瀵规瘡琛岀殑鍓�7鍒楄繘琛岄潪绌烘牎楠�
+            for (int j = 0; j < 7; j++) {
+                Cell cell = row.getCell(j);
+                //闈炲浘鐗囧垪杩涜闈炵┖鏍¢獙.涓嶅悎瑙勬棤娉曚笂浼�
+                if (cell == null || cell.getCellType() == CellType.BLANK) {
+                    return new Response().set(1, false, "绗�" + (i + 1) + "琛岀" + (j + 1) + "鍒楁暟鎹负绌�");
+                }
+            }
+            //鑾峰彇鍒楃殑鍊�
+            String name = row.getCell(0).getStringCellValue();
+            String model = row.getCell(1).getStringCellValue();
+            String version = row.getCell(2).getStringCellValue();
+            int quantity = (int) row.getCell(3).getNumericCellValue();
+            String brand = row.getCell(4).getStringCellValue();
+            String type = row.getCell(5).getStringCellValue();
+            String supplier = row.getCell(6).getStringCellValue();
+            spare.setName(name);
+            spare.setModel(model);
+            spare.setVersion(version);
+            spare.setQuantity(quantity);
+            spare.setBrand(brand);
+            spare.setType(type);
+            spare.setSupplier(supplier);
+
+            spareList.add(spare);
+            //绗竷鍒椾负鍥剧墖 TODO 寰呭鐞�
+            /*Cell cell = row.getCell(7);
+            CellType cellType = cell.getCellType();
+            System.out.println("-");*/
+        }
+        addBatch(spareList);
+
+        return null;
+    }
 }

--
Gitblit v1.9.1