From 2435980c977b8babfbf7ba457cfb9ef71a0b241a Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 12 Aug 2025 15:29:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(so):=20=E7=A7=BB=E9=99=A4=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E5=8F=98=E6=9B=B4=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E4=BA=A7=E6=95=B0=E9=87=8F=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/so/m30/APISaleOrderMaitainImpl.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/so/src/private/nccloud/api/impl/so/m30/APISaleOrderMaitainImpl.java b/so/src/private/nccloud/api/impl/so/m30/APISaleOrderMaitainImpl.java index c74264a..20fb65f 100644 --- a/so/src/private/nccloud/api/impl/so/m30/APISaleOrderMaitainImpl.java +++ b/so/src/private/nccloud/api/impl/so/m30/APISaleOrderMaitainImpl.java @@ -1621,7 +1621,7 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain { * 行数量、金额减少时,销售订单行金额不得小于行累计确认应收金额,销售订单数量不得小于销售订单行累计开票主数量;不允许删除已开票的物料行(判断累计开票主数量是否大于0); * 3.实际收款和累计开票主数量、累计确认应收金额 >0 * 变更行金额和行数量时,销售订单行金额不得小于行累计确认应收金额,销售订单行数量不得小于销售订单行累计开票主数量; - * 4.累计出库主数量 or 累计安排生产订单主数量 or 累计发货主数量 or 累计排产主数量 >0 + * 4.累计出库主数量 or 累计安排生产订单主数量 or 累计发货主数量 >0 * 不可替换物料,不可删除订单明细行(删除就是把子表VO的dr赋值1,0表示未删除); * 行数量减少后的值不可小于 累计出库主数量,累计安排生产订单主数量,累计发货主数量,累计排产主数量 * 行金额不得小于行累计确认应收金额与收款金额的最小值 @@ -1703,11 +1703,10 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain { } } - // 1.2 累计出库/安排生产/发货/排产 + // 1.2 累计出库/安排生产/发货 boolean hasOutOrArrange = (ntotaloutnum != null && ntotaloutnum.doubleValue() > 0) || (narrangemonum != null && narrangemonum.doubleValue() > 0) || - (ntotalsendnum != null && ntotalsendnum.doubleValue() > 0) || - (vbdef12 != null && vbdef12.doubleValue() > 0); + (ntotalsendnum != null && ntotalsendnum.doubleValue() > 0); if (hasOutOrArrange) { if (newNnum != null && oldNnum != null && newNnum.doubleValue() < oldNnum.doubleValue()) { if (ntotaloutnum != null && ntotaloutnum.doubleValue() > 0 && newNnum.doubleValue() < ntotaloutnum.doubleValue()) { @@ -1719,9 +1718,9 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain { if (ntotalsendnum != null && ntotalsendnum.doubleValue() > 0 && newNnum.doubleValue() < ntotalsendnum.doubleValue()) { throw new BusinessException("行号:" + crowno + ", 行数量(" + newNnum + ")不可小于累计发货主数量(" + ntotalsendnum + ")"); } - if (vbdef12 != null && vbdef12.doubleValue() > 0 && newNnum.doubleValue() < vbdef12.doubleValue()) { + /*if (vbdef12 != null && vbdef12.doubleValue() > 0 && newNnum.doubleValue() < vbdef12.doubleValue()) { throw new BusinessException("行号:" + crowno + ", 行数量(" + newNnum + ")不可小于累计排产主数量(" + vbdef12 + ")"); - } + }*/ } // 金额校验 if (ntotalarmny != null && ntotalarmny.doubleValue() > 0) { @@ -1735,7 +1734,7 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain { } // 1.4 物料替换校验 if (StringUtils.isNotEmpty(oldCmaterialvid) && !newCmaterialvid.equals(oldCmaterialvid)) { - throw new BusinessException("行号:" + crowno + ",存在累计出库/安排生产订单/发货/排产主数量,请勿修改物料"); + throw new BusinessException("行号:" + crowno + ",存在累计出库/安排生产订单/发货主数量,请勿修改物料"); } } // 1.3 累计安排生产订单主数量 & 累计排产主数量 >0 @@ -1757,9 +1756,9 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain { } if ((ntotaloutnum != null && ntotaloutnum.doubleValue() > 0) || (narrangemonum != null && narrangemonum.doubleValue() > 0) || - (ntotalsendnum != null && ntotalsendnum.doubleValue() > 0) || - (vbdef12 != null && vbdef12.doubleValue() > 0)) { - throw new BusinessException("行号:" + crowno + ", 不可删除已有累计出库、安排生产、发货或排产的订单明细行"); + (ntotalsendnum != null && ntotalsendnum.doubleValue() > 0) + ) { + throw new BusinessException("行号:" + crowno + ", 不可删除已有累计出库、安排生产、发货的订单明细行"); } } // 3. 新增行校验