diff --git a/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchasePlanDeliveryImportVo.java b/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchasePlanDeliveryImportVo.java index ad89b660d..26807181a 100644 --- a/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchasePlanDeliveryImportVo.java +++ b/klp-erp/src/main/java/com/klp/erp/domain/vo/ErpPurchasePlanDeliveryImportVo.java @@ -10,7 +10,9 @@ import java.math.BigDecimal; * 采购计划到货导入模板(对应到货 Excel,一行一卷) * * 列:日期 牌号 规格 卷号 单卷重量 车号 数量 件数 销售 钢厂到站 - * 注:车号/数量/件数 为合并单元格,仅首行有值,导入时向下填充。 + * 注:车号/数量/件数 为合并单元格,仅首行有值; + * 数量/件数 使用 String 类型读取以避开 EasyExcel 对合并空白格的数值转换异常, + * 在 Service 层统一 parse 并校验。 * * @author klp * @date 2026-06-22 @@ -37,11 +39,13 @@ public class ErpPurchasePlanDeliveryImportVo { @ExcelProperty("车号") private String truckNo; + /** 整车总重(合并单元格,仅首行有值;读为 String 以兼容空白/点号等占位符) */ @ExcelProperty("数量") - private BigDecimal truckWeight; + private String truckWeight; + /** 整车件数(合并单元格,仅首行有值;读为 String 以兼容空白/点号等占位符) */ @ExcelProperty("件数") - private Integer pieceCount; + private String pieceCount; @ExcelProperty("销售") private String salesCode; diff --git a/klp-erp/src/main/java/com/klp/erp/listener/ErpDeliveryExcelListener.java b/klp-erp/src/main/java/com/klp/erp/listener/ErpDeliveryExcelListener.java index e210686d8..5b26b33c9 100644 --- a/klp-erp/src/main/java/com/klp/erp/listener/ErpDeliveryExcelListener.java +++ b/klp-erp/src/main/java/com/klp/erp/listener/ErpDeliveryExcelListener.java @@ -5,6 +5,7 @@ import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelDataConvertException; import com.klp.common.exception.ServiceException; import com.klp.erp.domain.vo.ErpPurchasePlanDeliveryImportVo; +import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import java.util.Arrays; @@ -58,8 +59,8 @@ public class ErpDeliveryExcelListener extends AnalysisEventListener cd = e.getCellData(); @@ -83,7 +84,18 @@ public class ErpDeliveryExcelListener extends AnalysisEventListener queryDeliveryList(Long planId) { return deliveryMapper.selectVoList(Wrappers.lambdaQuery(ErpPurchasePlanDelivery.class)