diff --git a/src/main/java/com/gaotao/modules/wms/service/impl/WmsPrintServiceImpl.java b/src/main/java/com/gaotao/modules/wms/service/impl/WmsPrintServiceImpl.java index 36f2543..381a1c9 100644 --- a/src/main/java/com/gaotao/modules/wms/service/impl/WmsPrintServiceImpl.java +++ b/src/main/java/com/gaotao/modules/wms/service/impl/WmsPrintServiceImpl.java @@ -214,19 +214,23 @@ public class WmsPrintServiceImpl implements WmsPrintService { // 标签数量(roll_qty)- 第2列(索引1) if (row.getCell(1) != null) { try { + BigDecimal rollQty = null; // 尝试按不同类型读取 if (row.getCell(1).getCellType() == org.apache.poi.ss.usermodel.CellType.NUMERIC) { - saveData.setRollQty(new BigDecimal(row.getCell(1).getNumericCellValue())); + rollQty = new BigDecimal(row.getCell(1).getNumericCellValue()); } else if (row.getCell(1).getCellType() == org.apache.poi.ss.usermodel.CellType.STRING) { // 如果是字符串类型,尝试转换为数字 String strValue = row.getCell(1).getStringCellValue().trim(); if (strValue.isEmpty()) { throw new RuntimeException("第" + (j + 1) + "行:标签数量不能为空"); } - saveData.setRollQty(new BigDecimal(strValue)); + rollQty = new BigDecimal(strValue); } else { throw new RuntimeException("第" + (j + 1) + "行:标签数量格式不正确"); } + // 保留6位小数,四舍五入 + rollQty = rollQty.setScale(6, BigDecimal.ROUND_HALF_UP); + saveData.setRollQty(rollQty); } catch (NumberFormatException e) { throw new RuntimeException("第" + (j + 1) + "行:标签数量必须是有效的数字"); }