From 06e7bd7acb71f52794c2b0061a89216e10b31db8 Mon Sep 17 00:00:00 2001 From: lihao Date: Wed, 3 Sep 2025 15:56:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=B5=AE=E7=82=B9=E6=95=B0bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java index 1abf4d4..0e184f1 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/saveBeforeCheckRule.java @@ -12,6 +12,7 @@ import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOHeadVO; import nc.vo.mmpac.pmo.pac0002.entity.PMOItemVO; import nc.vo.pub.BusinessException; +import nc.vo.pub.lang.UFDouble; import nc.vo.so.m30.entity.SaleOrderBVO; import nccloud.baseapp.core.log.NCCForUAPLogger; @@ -84,9 +85,9 @@ public class saveBeforeCheckRule implements IRule { String ntotaloutnums = (ntotaloutnumsObj != null) ? ntotaloutnumsObj.toString() : ""; double ntotaloutnum = (ntotaloutnums.isEmpty()) ? 0 : Double.parseDouble(ntotaloutnums);// 累计生产数量 double bdnum = itemvo.getNastnum().getDouble(); - if (sQty < (ntotaloutnum + bdnum)) { - throw new BusinessException("生产订单明细" + (i + 1) + ",累计生产数量'" + (ntotaloutnum + bdnum) - + "'大于销售订单累计排产申请数量'" + sQty + "',无法保存!"); + if (new UFDouble(sQty).compareTo((new UFDouble(ntotaloutnum).add(new UFDouble(bdnum)))) <0) { + throw new BusinessException("生产订单明细" + (i + 1) + ",累计生产数量'" + (new UFDouble(ntotaloutnum).add(new UFDouble(bdnum)).toString()) + + "'大于销售订单累计排产申请数量'" + (new UFDouble(sQty)).toString() + "',无法保存!"); } } catch (NumberFormatException e) { throw new BusinessException("累计排产申请数量转化数值失败" + e);