|
|
|
@ -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) + "行:标签数量必须是有效的数字"); |
|
|
|
} |
|
|
|
|