From c2d403c9baa1a916aabbc92db523f08be4b6374a Mon Sep 17 00:00:00 2001 From: lihao Date: Tue, 21 Oct 2025 18:36:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=9F=E8=AE=A1=E5=88=92=EF=BC=88=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=85=A5=E5=BA=93=E6=A0=A1=E9=AA=8C=E6=9C=80=E7=BB=88?= =?UTF-8?q?=E9=9C=80=E6=B1=82=E6=95=B0=E9=87=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nc/impl/ic/m45/action/InsertAction.java | 34 ++++++++++++++ .../action/rule/XbPushTo45BeforeProcess.java | 44 +++++++++++++++++++ .../service/InboundPubServiceImpl.java | 6 +-- 3 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 ic/src/private/nc/impl/ic/m45/action/InsertAction.java create mode 100644 ic/src/private/nc/impl/ic/m45/action/rule/XbPushTo45BeforeProcess.java diff --git a/ic/src/private/nc/impl/ic/m45/action/InsertAction.java b/ic/src/private/nc/impl/ic/m45/action/InsertAction.java new file mode 100644 index 00000000..89a672db --- /dev/null +++ b/ic/src/private/nc/impl/ic/m45/action/InsertAction.java @@ -0,0 +1,34 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.impl.ic.m45.action; + +import nc.bs.ic.m45.insert.InsertBP; +import nc.bs.pu.m23.plugin.ArriveActionPlugInPoint; +import nc.impl.ic.general.InsertActionTemplate; +import nc.impl.ic.m45.action.rule.XbPushTo45BeforeProcess; +import nc.impl.ic.m45.base.ActionPlugInPoint; +import nc.impl.pu.m23.maintain.rule.CheckBillDateRule; +import nc.impl.pubapp.pattern.rule.processer.AroundProcesser; +import nc.vo.ic.m45.entity.PurchaseInVO; +import nc.vo.pu.m23.entity.ArriveVO; + +public class InsertAction { + public InsertAction() { + } + + public PurchaseInVO[] insert(PurchaseInVO[] bills) { + + AroundProcesser processer = new AroundProcesser(ActionPlugInPoint.InsertAction); + addBeforeRule(processer); + InsertActionTemplate insertAction = new InsertActionTemplate(ActionPlugInPoint.InsertAction, new InsertBP()); + + return (PurchaseInVO[])insertAction.insert(bills); + } + private void addBeforeRule(AroundProcesser processer) { + processer.addBeforeRule(new XbPushTo45BeforeProcess()); + + } +} diff --git a/ic/src/private/nc/impl/ic/m45/action/rule/XbPushTo45BeforeProcess.java b/ic/src/private/nc/impl/ic/m45/action/rule/XbPushTo45BeforeProcess.java new file mode 100644 index 00000000..5ff9f796 --- /dev/null +++ b/ic/src/private/nc/impl/ic/m45/action/rule/XbPushTo45BeforeProcess.java @@ -0,0 +1,44 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.impl.ic.m45.action.rule; + +import nc.impl.pubapp.pattern.rule.IFilterRule; +import nc.vo.ic.m45.entity.PurchaseInBodyVO; +import nc.vo.ic.m45.entity.PurchaseInVO; +import nc.vo.pub.BusinessException; +import nc.vo.pub.lang.UFDouble; + +public class XbPushTo45BeforeProcess implements IFilterRule { + + + public XbPushTo45BeforeProcess() { + + } + + public PurchaseInVO[] process(PurchaseInVO[] vos) { + PurchaseInVO[] retvos = vos; + if(retvos == null || retvos.length == 0){ + return retvos; + } + for (PurchaseInVO vo : vos) { + if(vo.getHead().getPrimaryKey() == null){ + for (PurchaseInBodyVO body:vo.getBodys()){ + if(null!=body.getAttributeValue("vbdef33") && body.getNshouldnum().compareTo(new UFDouble(String.valueOf(body.getAttributeValue("vbdef33"))))>0){ + try { + throw new BusinessException("入库数量大于最终需求数量不能生成采购入库!"); + } catch (BusinessException e) { + throw new RuntimeException(e); + } + } + } + } + } + + return retvos; + } + + +} diff --git a/ic/src/private/nccloud/pubimpl/ic/inbound/service/InboundPubServiceImpl.java b/ic/src/private/nccloud/pubimpl/ic/inbound/service/InboundPubServiceImpl.java index 187a863b..dd0b1334 100644 --- a/ic/src/private/nccloud/pubimpl/ic/inbound/service/InboundPubServiceImpl.java +++ b/ic/src/private/nccloud/pubimpl/ic/inbound/service/InboundPubServiceImpl.java @@ -190,9 +190,9 @@ public class InboundPubServiceImpl implements IInboundPubService { for(ArriveItemVO body : bodys) { body.setTs((UFDateTime)Bid_ts1.get(body.getPk_arriveorder_b())); - if(null!=body.getAttributeValue("vbdef33") && body.getNastnum().compareTo(body.getAttributeValue("vbdef33"))<0){ - throw new BusinessException("入库数量大于最终需求数量不能生成采购入库!"); - } + // if(null!=body.getAttributeValue("vbdef33") && body.getNastnum().compareTo(new UFDouble(String.valueOf(body.getAttributeValue("vbdef33"))))>0){ + // throw new BusinessException("入库数量大于最终需求数量不能生成采购入库!"); + // } } }