package com.chinaztt.mes.technology.excel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.chinaztt.mes.technology.service.BomService; import com.chinaztt.mes.technology.service.OperationService; import com.chinaztt.mes.technology.service.RoutingService; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @Author: liuth * @Date: 2020-11-30 9:46 */ @Slf4j public class BomUploadListener extends AnalysisEventListener { private static final int BATCH_COUNT = 1000; List list = new ArrayList<>(); private BomService bomService; public BomUploadListener(BomService bomService) { this.bomService = bomService; } @Override public void invoke(BomData data, AnalysisContext analysisContext) { list.add(data); if (list.size() >= BATCH_COUNT) { save(); list.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { save(); } private void save() { bomService.importExcel(list); } }