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