From e1b1c77f5891e64514d1bb62b4706a1eab130fcc Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Tue, 14 Oct 2025 12:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=98=E5=9C=A8=E7=AE=B1=E6=95=B0(box=5Fqty)?= =?UTF-8?q?=E4=B8=BA0=E7=9A=84=E6=95=B0=E6=8D=AE=EF=BC=8C=E8=AF=B7?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E8=A3=85=E7=AE=B1=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecss/service/impl/CoDelServiceImpl.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java index b5ceee3a..9d8c89db 100644 --- a/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelServiceImpl.java @@ -1501,6 +1501,21 @@ public class CoDelServiceImpl implements CoDelService { .reduce(0, Integer::sum); defaultData.setPackageQty(totalPlt); List boxList = coDelMapper.exportCoDelBoxList(notifyHeaderData); + // 检查box_qty是否存在null或0 + for (Map box : boxList) { + Object boxQtyObj = box.get("box_qty"); + if (boxQtyObj == null) { + throw new RuntimeException("存在箱数(box_qty)为null的数据,请检查装箱信息!"); + } + try { + int boxQty = Integer.parseInt(boxQtyObj.toString()); + if (boxQty == 0) { + throw new RuntimeException("存在箱数(box_qty)为0的数据,请检查装箱信息!"); + } + } catch (NumberFormatException e) { + throw new RuntimeException("箱数(box_qty)格式错误,请检查装箱信息!"); + } + } defaultData.setBoxQty(boxList.stream().mapToInt(o->Integer.parseInt(o.get("box_qty").toString())).sum()); map.put("row", defaultData); Map dataMap = rows.stream() @@ -2467,7 +2482,11 @@ public class CoDelServiceImpl implements CoDelService { if (data.getPackaging()!=null && data.getPackaging()) { template.addVar("packaging", "Non-reusable plastic packaging:"); // 根据维护参数计算出KGS=总托数*plastic packaging维护参数 - template.addVar("KGS_qty", data.getKgs()!=null?(data.getKgs().multiply(BigDecimal.valueOf(totalPlt))).setScale(2, RoundingMode.HALF_UP):""); + BigDecimal totalKgs = data.getKgs()!=null?data.getKgs():BigDecimal.ZERO; + if (palletHeaderDataList.isEmpty()) { + totalKgs = BigDecimal.valueOf(0.1); + } + template.addVar("KGS_qty", data.getKgs()!=null?(totalKgs.multiply(BigDecimal.valueOf(totalPlt))).setScale(2, RoundingMode.HALF_UP):""); template.addVar("KGS", "KGS"); } // 新加的 货物明细单选框 勾选显示