package com.chinaztt.mes.technology.excel; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.chinaztt.mes.technology.service.DocumentService; import java.util.ArrayList; import java.util.List; /** * @Description: * @Author: shz * @Date: 2023/4/19 14:31 */ public class DocumentTestStandardUploadListener extends AnalysisEventListener { private static final int BATCH_COUNT = 1000; List list = new ArrayList<>(); private DocumentService documentService; public DocumentTestStandardUploadListener(DocumentService documentService) { this.documentService = documentService; } @Override public void invoke(DocumentTestStandardData standardData, AnalysisContext analysisContext) { if (StrUtil.isBlank(standardData.getDocumentNo()) || StrUtil.isBlank(standardData.getRoutingNo()) || StrUtil.isBlank(standardData.getPartNo()) || StrUtil.isBlank(standardData.getOperationNo()) || StrUtil.isBlank(standardData.getStandardNo())) { throw new RuntimeException("数据缺失"); } list.add(standardData); if (list.size() >= BATCH_COUNT) { save(); list.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { save(); } private void save() { this.documentService.importExcel(list); } }