@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.invw.tools; | |||
package cn.com.taiji.core.manager.tools.easyExcel; | |||
import com.alibaba.excel.converters.Converter; | |||
import com.alibaba.excel.enums.CellDataTypeEnum; |
@@ -1,4 +1,4 @@ | |||
package cn.com.taiji.managew.tools; | |||
package cn.com.taiji.core.manager.tools.easyExcel; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import com.alibaba.excel.EasyExcel; |
@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.invw.InvwCardDetails; | |||
import cn.com.taiji.core.entity.invw.InvwQryCardBatch; | |||
import cn.com.taiji.core.entity.invw.InvwQryCards; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwQryCardBatchRepo; | |||
@@ -20,7 +21,6 @@ import cn.com.taiji.invw.dto.card.*; | |||
import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.card.InvwCardDetailsExcelModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.SourceTargetMapper; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; |
@@ -14,6 +14,7 @@ import cn.com.taiji.core.entity.invw.InvwCardDetails; | |||
import cn.com.taiji.core.entity.invw.InvwEnterApply; | |||
import cn.com.taiji.core.entity.invw.InvwEnterApplyDetails; | |||
import cn.com.taiji.core.entity.invw.InvwObuDetails; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwCardDetailsRepo; | |||
import cn.com.taiji.core.repo.jpa.invw.InvwEnterApplyDetailsRepo; | |||
@@ -23,7 +24,6 @@ import cn.com.taiji.core.repo.request.invw.InvwEnterApplyPageRequest; | |||
import cn.com.taiji.invw.dto.enter.*; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.enter.EnterApplyDetailModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.GenerateNoUtil; | |||
import cn.com.taiji.invw.tools.SourceTargetMapper; | |||
import org.apache.commons.compress.utils.Lists; |
@@ -8,6 +8,7 @@ import cn.com.taiji.core.entity.dict.basic.ObuType; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.invw.*; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwObuDetailsPageRequest; | |||
@@ -16,7 +17,6 @@ import cn.com.taiji.invw.dto.comm.CommExcelFileResponseDTO; | |||
import cn.com.taiji.invw.dto.obu.*; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.card.InvwObuDetailsExcelModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.SourceTargetMapper; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.stereotype.Service; |
@@ -11,15 +11,14 @@ import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.invw.InvwStocktakingInfo; | |||
import cn.com.taiji.core.entity.invw.InvwStocktakingResult; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwStocktakingInfoPageRequest; | |||
import cn.com.taiji.invw.dto.stocktaking.*; | |||
import cn.com.taiji.invw.manager.AbstractCommManager; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.stocktaking.*; | |||
import cn.com.taiji.invw.tools.ConvertUtils; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.hutool.core.collection.CollectionUtil; | |||
import cn.hutool.core.io.FileUtil; | |||
import cn.hutool.core.util.NumberUtil; | |||
@@ -34,7 +33,6 @@ import org.springframework.stereotype.Service; | |||
import org.springframework.transaction.annotation.Transactional; | |||
import java.io.File; | |||
import java.math.BigDecimal; | |||
import java.time.LocalDateTime; | |||
import java.time.format.DateTimeFormatter; | |||
import java.util.*; |
@@ -10,6 +10,7 @@ import cn.com.taiji.core.entity.dict.log.OperateType; | |||
import cn.com.taiji.core.entity.invw.InvwTransferApply; | |||
import cn.com.taiji.core.entity.invw.InvwTransferApplyDetails; | |||
import cn.com.taiji.core.entity.invw.InvwWarehouse; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.repo.jpa.invw.*; | |||
import cn.com.taiji.core.repo.request.invw.InvwTransferApplyPageRequest; | |||
@@ -17,7 +18,6 @@ import cn.com.taiji.invw.dto.transfer.*; | |||
import cn.com.taiji.invw.manager.AbstractInvwManager; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyCommModel; | |||
import cn.com.taiji.invw.model.transfer.InvwTransferApplyDetailsModel; | |||
import cn.com.taiji.invw.tools.EasyExcelUtil; | |||
import cn.com.taiji.invw.tools.GenerateNoUtil; | |||
import org.springframework.beans.BeanUtils; | |||
import org.springframework.beans.factory.annotation.Autowired; |
@@ -3,7 +3,7 @@ package cn.com.taiji.invw.model.card; | |||
import cn.com.taiji.core.entity.dict.basic.CardType; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.invw.tools.EasyExcelEnumConverter; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelEnumConverter; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; | |||
import com.alibaba.excel.annotation.write.style.*; |
@@ -4,7 +4,7 @@ import cn.com.taiji.core.entity.dict.basic.CardType; | |||
import cn.com.taiji.core.entity.dict.basic.DeviceVersion; | |||
import cn.com.taiji.core.entity.dict.basic.ObuType; | |||
import cn.com.taiji.core.entity.dict.invw.InvDeviceStatus; | |||
import cn.com.taiji.invw.tools.EasyExcelEnumConverter; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelEnumConverter; | |||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | |||
import com.alibaba.excel.annotation.ExcelProperty; | |||
import com.alibaba.excel.annotation.write.style.*; |
@@ -1,85 +0,0 @@ | |||
package cn.com.taiji.invw.tools; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.invw.model.enter.EnterApplyDetailModel; | |||
import com.alibaba.excel.EasyExcel; | |||
import com.alibaba.excel.EasyExcelFactory; | |||
import com.alibaba.excel.ExcelWriter; | |||
import com.alibaba.excel.context.AnalysisContext; | |||
import com.alibaba.excel.event.AnalysisEventListener; | |||
import com.alibaba.excel.write.metadata.WriteSheet; | |||
import org.apache.poi.ss.formula.functions.T; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import java.io.File; | |||
import java.io.FileOutputStream; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
/** | |||
* @Auther: humh | |||
* @Description: | |||
* @Date: 2025/4/21 17:32 | |||
* @email: huminghao@mail.taiji.com.cn | |||
* @version: 1.0 | |||
*/ | |||
public class EasyExcelUtil extends EasyExcelFactory { | |||
protected static Logger logger = LoggerFactory.getLogger(EasyExcelUtil.class); | |||
/** | |||
* 导出Excel返回 File | |||
*/ | |||
public static File exportExcelFile(Class<?> clazz, List<?> list, String fileName) throws ManagerException { | |||
try { | |||
// 临时目录 临时文件名 | |||
File file = new File(fileName + ".xlsx"); | |||
FileOutputStream fileOutputStream = new FileOutputStream(file); | |||
ExcelWriter excelWriter = write(fileOutputStream).build(); | |||
WriteSheet writeSheet = writerSheet(0, fileName).head(clazz).build(); | |||
excelWriter.write(list, writeSheet); | |||
excelWriter.finish(); | |||
return file; | |||
} catch (Exception e) { | |||
logger.debug("导出Excel异常:{}", e.getMessage()); | |||
throw new ManagerException("导出Excel异常"); | |||
} | |||
} | |||
/** | |||
* 从第一行开始读取excel,根据列数读取数据 | |||
* 泛型方法:读取Excel到指定Model的List | |||
* @param file Excel文件 | |||
* @param modelClass 目标Model类(需标注@ExcelProperty) | |||
* @return List<T> 数据集合 | |||
*/ | |||
public static <T> List<T> readExcelColToModelList(File file, Class<T> modelClass, Integer row) { | |||
List<T> dataList = new ArrayList<>(); | |||
EasyExcel.read(file, modelClass, new AnalysisEventListener<T>() { | |||
@Override | |||
public void invoke(T data, AnalysisContext context) { | |||
dataList.add(data); // 逐行映射到Model | |||
} | |||
@Override | |||
public void doAfterAllAnalysed(AnalysisContext context) { | |||
logger.info("Excel解析完成,共读取{}行", dataList.size()); | |||
} | |||
@Override | |||
public void onException(Exception exception, AnalysisContext context) { | |||
throw new RuntimeException("第" + context.readRowHolder().getRowIndex() + "行解析失败", exception); | |||
} | |||
}).sheet() | |||
.headRowNumber(row) // 关键修改:设置从第0行开始读取(Excel行号从0开始计数) | |||
.doRead(); | |||
return dataList; | |||
} | |||
} |
@@ -3,6 +3,7 @@ package cn.com.taiji.managew.manager.bls; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.pub.BeanTools; | |||
import cn.com.taiji.core.entity.dict.basic.CardBlackType; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.model.comm.protocol.bls.*; | |||
import cn.com.taiji.managew.dto.bls.*; | |||
@@ -10,7 +11,6 @@ import cn.com.taiji.managew.manager.AbstractCommManager; | |||
import cn.com.taiji.managew.model.bls.BlackCardImportErrorModel; | |||
import cn.com.taiji.managew.model.bls.BlackCardImportModel; | |||
import cn.com.taiji.managew.model.bls.BlackCardQueryModel; | |||
import cn.com.taiji.managew.tools.EasyExcelUtil; | |||
import cn.com.taiji.managew.tools.SourceTargetMapper; | |||
import org.apache.commons.compress.utils.Lists; | |||
import org.apache.commons.lang3.StringUtils; |
@@ -3,12 +3,12 @@ package cn.com.taiji.managew.manager.bls; | |||
import cn.com.taiji.common.manager.ManagerException; | |||
import cn.com.taiji.common.pub.BeanTools; | |||
import cn.com.taiji.core.entity.dict.basic.ObuBlackType; | |||
import cn.com.taiji.core.manager.tools.easyExcel.EasyExcelUtil; | |||
import cn.com.taiji.core.manager.tools.minio.MinioUtil; | |||
import cn.com.taiji.core.model.comm.protocol.bls.*; | |||
import cn.com.taiji.managew.dto.bls.*; | |||
import cn.com.taiji.managew.manager.AbstractCommManager; | |||
import cn.com.taiji.managew.model.bls.*; | |||
import cn.com.taiji.managew.tools.EasyExcelUtil; | |||
import cn.com.taiji.managew.tools.SourceTargetMapper; | |||
import org.apache.commons.compress.utils.Lists; | |||
import org.apache.commons.lang3.StringUtils; |