cnas-server/src/main/java/com/yuanchu/mom/controller/CapacityScopeController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectListener.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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; @@ -367,4 +370,16 @@ } 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(); } } cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectData.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.yuanchu.mom.excel; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; @Data public class StructureTestObjectData { @ExcelProperty(value = "åºæ") private String laboratoryId; @ExcelProperty(value = "æ£éªå¯¹è±¡") private String specimenName; @ExcelProperty(value = "æ£éªå¯¹è±¡(EN)") private String specimenNameEn; @ExcelProperty(value = "对象代å·") private String code; @ExcelProperty(value = "产ååç§°") private String name; @ExcelProperty(value = "产ååç§°(EN)") private String nameEn; } cnas-server/src/main/java/com/yuanchu/mom/excel/StructureTestObjectListener.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.yuanchu.mom.excel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.yuanchu.mom.service.ProductService; import java.util.ArrayList; import java.util.List; public class StructureTestObjectListener extends AnalysisEventListener<StructureTestObjectData> { private static final int BATCH_COUNT = 1000; List<StructureTestObjectData> list = new ArrayList<>(); private ProductService productService; public StructureTestObjectListener(ProductService productService) { this.productService = productService; } @Override public void invoke(StructureTestObjectData data, AnalysisContext analysisContext) { list.add(data); if (list.size() >= BATCH_COUNT) { save(); list.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { save(); } private void save() { productService.importPartExcel(list); } } cnas-server/src/main/java/com/yuanchu/mom/service/ProductService.java
@@ -2,8 +2,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.yuanchu.mom.excel.StructureTestObjectData; import com.yuanchu.mom.pojo.Product; import java.util.List; import java.util.Map; /** @@ -21,4 +23,5 @@ int delProduct(Integer id); void importPartExcel(List<StructureTestObjectData> list); } cnas-server/src/main/java/com/yuanchu/mom/service/impl/ProductServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.common.PrintChina; import com.yuanchu.mom.excel.StructureTestObjectData; import com.yuanchu.mom.mapper.ProductMapper; import com.yuanchu.mom.pojo.Product; import com.yuanchu.mom.service.ProductService; @@ -12,6 +13,7 @@ import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; /** @@ -52,6 +54,11 @@ public int delProduct(Integer id) { return productMapper.deleteById(id); } @Override public void importPartExcel(List<StructureTestObjectData> list) { System.out.println(list); } }