From bc631f7a18103ae70ec7cbac3356204c106ca21c Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Fri, 28 Nov 2025 14:29:14 +0800 Subject: [PATCH] =?UTF-8?q?2025-11-27=20=E9=87=87=E8=B4=AD=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E7=94=9F=E6=88=90=E5=AF=BC=E5=85=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/wms/service/impl/WmsPrintServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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) + "行:标签数量必须是有效的数字"); }