package com.chinaztt.mes.basic.excel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.chinaztt.mes.basic.service.PartService; import com.chinaztt.mes.basic.service.WarehouseService; import com.chinaztt.ztt.admin.api.entity.SysDictItem; import com.chinaztt.ztt.admin.api.feign.RemoteDictService; import com.chinaztt.ztt.common.core.util.R; import lombok.AllArgsConstructor; import java.util.ArrayList; import java.util.List; /** * @author ZTT */ @AllArgsConstructor public class WarehouseUploadListener extends AnalysisEventListener { private static final int BATCH_COUNT = 1000; List list = new ArrayList<>(); private WarehouseService warehouseService; private RemoteDictService remoteDictService; public WarehouseUploadListener(WarehouseService warehouseService) { this.warehouseService = warehouseService; } @Override public void invoke(WarehouseData data, AnalysisContext analysisContext) { list.add(data); if (list.size() >= BATCH_COUNT) { save(); list.clear(); } } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { save(); } private void save() { warehouseService.importWarehouseExcel(list); } }