From 5a8aa3a808c73bcdc9b51366fa30724d5765b791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=98=8E?= <125556714+Topfunplus@users.noreply.github.com> Date: Fri, 20 Jun 2025 15:16:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=9B=98=E7=82=B9=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E4=BC=A0=20MES=20=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 完善盘点数量和账面数量的处理逻辑 - 增加对 null 值的处理,避免数据传输错误 - 优化盘盈盘亏数量的计算方法,确保数据准确性 --- .../AfterApprovingSynchronizeRuleMES.java | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/ic/src/private/nc/bs/ic/m4r/approve/rule/AfterApprovingSynchronizeRuleMES.java b/ic/src/private/nc/bs/ic/m4r/approve/rule/AfterApprovingSynchronizeRuleMES.java index b1b6441..e3a70c2 100644 --- a/ic/src/private/nc/bs/ic/m4r/approve/rule/AfterApprovingSynchronizeRuleMES.java +++ b/ic/src/private/nc/bs/ic/m4r/approve/rule/AfterApprovingSynchronizeRuleMES.java @@ -24,11 +24,11 @@ import nc.vo.pubapp.pattern.exception.ExceptionUtils; import nc.vo.pubapp.pattern.pub.SqlBuilder; import nc.vo.vorg.DeptVersionVO; import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys; + import java.util.ArrayList; import java.util.List; - /** * ̵㣨MES */ @@ -135,27 +135,37 @@ public class AfterApprovingSynchronizeRuleMES implements IRule { detail.put("KW", transferCodeByPk(RackVO.getDefaultTableName(), RackVO.CODE, RackVO.PK_RACK, bvo.getClocationid())); // detail.put("WLPH", getStringValue(bvo.getVbatchcode())); - // ̴ -> ʵ UFDouble pcNum = bvo.getNcountnum(); // UFDouble zmNum = bvo.getNonhandnum(); - if (pcNum != null) { - // ̴ -> ʵ + // ̴ΪnullֵΪ0 + if (pcNum == null) { + detail.put("PCSL", 0); + pcNum = new UFDouble(0); + } + // ΪnullֵΪ0 + if (zmNum == null) { + zmNum = new UFDouble(0); + } + // Ϊ0 0 + if (pcNum.getDouble() == zmNum.getDouble()) { detail.put("PCSL", pcNum.getDouble()); - if (zmNum != null) { - // ӯ -> - ʵ - detail.put("PYSL", zmNum.getDouble() - pcNum.getDouble()); - // ̿ -> ʵ - - detail.put("PKSL", pcNum.getDouble() - zmNum.getDouble()); - } else { - detail.put("PYSL", null); - detail.put("PKSL", null); - } - } else { - detail.put("PCSL", null); - detail.put("PYSL", null); - detail.put("PKSL", null); + detail.put("PYSL", 0); + detail.put("PKSL", 0); + } + // ӯ̿ + // ݱʵݴʱΪ̿ʱӯûֵ̿Ϊȥʵ̣ + // ݱʵСʱΪӯʱ̿ûֵӯΪʵ̼ȥ + if (zmNum.getDouble() > pcNum.getDouble()) { + detail.put("PCSL", pcNum.getDouble()); + detail.put("PYSL", 0); + detail.put("PKSL", Math.abs(zmNum.getDouble() - pcNum.getDouble())); + } + if (zmNum.getDouble() < pcNum.getDouble()) { + detail.put("PCSL", pcNum.getDouble()); + detail.put("PYSL", Math.abs(pcNum.getDouble() - zmNum.getDouble())); + detail.put("PKSL", 0); } // ӯ detail.put("YCDJ", null);