From 9a9bbebd38700da8ae8378c0ccc12cdf36eb4f3c Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Fri, 6 Jan 2023 10:48:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=89=8B=E6=8C=81=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=B0=8F=E6=95=B0=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/st/out/service/impl/HandPFOutIvtServiceImpl.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java index efd1c48a..f597b9e1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java @@ -34,6 +34,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -804,8 +805,11 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService { if (ObjectUtil.isEmpty(ivtjo)) { throw new PdaRequestException("物料为【'" + material_id + "'】,批次为【'" + pcsn + "'】,库存等级为【'" + ivt_level + "'】,品质类型为【'" + quality_scode + "'】的物料在仓库未找到!"); } - BigDecimal qty_flag = NumberUtil.sub(storage_qty, ivtjo.getString("canuse_qty")); - if (qty_flag.doubleValue() != 0) { + BigDecimal storage_qty_bigDecimal = new BigDecimal(null == storage_qty ? "0" : storage_qty).setScale(3, RoundingMode.HALF_UP); + BigDecimal canuse_qty_bigDecimal = new BigDecimal(null == ivtjo.getString("canuse_qty") ? "0" : storage_qty).setScale(3, RoundingMode.HALF_UP); +// BigDecimal qty_flag = NumberUtil.sub(storage_qty, ivtjo.getString("canuse_qty")); + if (NumberUtil.sub(storage_qty_bigDecimal,canuse_qty_bigDecimal).doubleValue() != 0) { + log.error("仓库库存对应不上,storage_qty_bigDecimal:{},canuse_qty_bigDecimal:{}",storage_qty_bigDecimal,canuse_qty_bigDecimal); throw new PdaRequestException("物料为【'" + material_id + "'】,批次为【'" + pcsn + "'】,库存等级为【'" + ivt_level + "'】,品质类型为【'" + quality_scode + "'】的物料桶库存,跟仓库库存对应不上!"); } }