From 03cc4ee2d3db0e1042a5f7491a06331ee572e3fb Mon Sep 17 00:00:00 2001 From: chenshaoxin <1981897232@qq.com> Date: Thu, 17 Jul 2025 14:12:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/7/16=2017?= =?UTF-8?q?=EF=BC=9A00=20=E5=86=85=E5=AE=B9:=E6=8B=89=E5=8D=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/plugin/form/CasRecbillFormPlugin.java | 21 +++++++++++++----- .../plugin/form/PaymentDealBillPlugin.java | 22 ++++++++++++++----- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/CasRecbillFormPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/CasRecbillFormPlugin.java index 76891e2..8afce5c 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/CasRecbillFormPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/CasRecbillFormPlugin.java @@ -47,6 +47,7 @@ import kd.fi.cas.util.EmptyUtil; import java.time.LocalDateTime; import java.util.*; +import java.util.stream.Collectors; /** * 单据界面插件 @@ -122,8 +123,8 @@ public class CasRecbillFormPlugin extends AbstractBillPlugIn implements BeforeF7 logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"取消完成失败"); this.getView().showSuccessNotification("单据编号"+cdm_drafttradebill.getString("billno")+"取消确认完成失败,请检查并手动取消完成"); } - this.getModel().setValue("draftbill",null); - this.getModel().setValue("settletnumber",null); +// this.getModel().setValue("draftbill",null); +// this.getModel().setValue("settletnumber",null); } this.getView().invokeOperation("drawauto"); }else { @@ -143,6 +144,7 @@ public class CasRecbillFormPlugin extends AbstractBillPlugIn implements BeforeF7 } this.getModel().setValue("draftbill",null); this.getModel().setValue("settletnumber",null); + this.getModel().getDataEntity(true).set("cas_draftinfo",null); SaveServiceHelper.save(new DynamicObject[]{this.getView().getModel().getDataEntity(true)}); // this.getView().invokeOperation("save"); } @@ -383,13 +385,20 @@ public class CasRecbillFormPlugin extends AbstractBillPlugIn implements BeforeF7 if (entry.size()>entrysize){ for (int i =entrysize ; i < entry.size(); i++) { this.getView().getModel().deleteEntryRow("entry", i);//删除生成的行 + i--; } } + DynamicObjectCollection dynamicObjectCollection = (BusinessDataServiceHelper.loadSingle(cdm_drafttradebill.getLong("id"), cdm_drafttradebill.getDataEntityType().getName())).getDynamicObjectCollection("entrys"); + List billno = dynamicObjectCollection.stream() + .map(e -> e.getDynamicObject("draftbill").getString("billno")) + .collect(Collectors.toList()); DynamicObjectCollection cas_draftinfo = (DynamicObjectCollection) this.getView().getModel().getValue("cas_draftinfo"); - if (cas_draftinfo.size()>cas_draftinfosize){ - for (int i = 0; i < cas_draftinfosize; i++) { - this.getView().getModel().deleteEntryRow("cas_draftinfo", i);//删除原有的行 - } + for (int i = 0; i < cas_draftinfo.size(); i++) { + DynamicObject draftbillinfo = cas_draftinfo.get(i).getDynamicObject("draftbillinfo");//结算号 + if (!billno.contains(draftbillinfo.getString("billno"))){ + this.getView().getModel().deleteEntryRow("cas_draftinfo", i);//删除生成的行 + i--; + }; } this.getView().updateView(); diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentDealBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentDealBillPlugin.java index 95fed80..1055b47 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentDealBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/PaymentDealBillPlugin.java @@ -41,6 +41,7 @@ import kd.fi.cas.util.EmptyUtil; import kd.sdk.plugin.Plugin; import java.util.*; +import java.util.stream.Collectors; public class PaymentDealBillPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { private static final Log logger = LogFactory.getLog(PaymentProcessingBillPlugin.class); @@ -107,8 +108,8 @@ public class PaymentDealBillPlugin extends AbstractBillPlugIn implements Plugin, logger.info("单据编号"+cdm_drafttradebill.getString("billno")+"取消完成失败"); this.getView().showSuccessNotification("单据编号"+cdm_drafttradebill.getString("billno")+"取消确认完成失败,请检查并手动取消完成"); } - this.getModel().setValue("draftbill",null); - this.getModel().setValue("settletnumber",null); +// this.getModel().setValue("draftbill",null); +// this.getModel().setValue("settletnumber",null); } this.getView().invokeOperation("drawauto"); }else { @@ -128,10 +129,12 @@ public class PaymentDealBillPlugin extends AbstractBillPlugIn implements Plugin, } this.getModel().setValue("draftbill",null); this.getModel().setValue("settletnumber",null); + this.getModel().getDataEntity(true).set("cas_draftinfo",null); SaveServiceHelper.save(new DynamicObject[]{this.getView().getModel().getDataEntity(true)}); } } } + } public void afterBindData(EventObject e) { DynamicObject settleType; @@ -236,13 +239,20 @@ public class PaymentDealBillPlugin extends AbstractBillPlugIn implements Plugin, if (entry.size()>entrysize){ for (int i =entrysize ; i < entry.size(); i++) { this.getView().getModel().deleteEntryRow("entry", i);//删除生成的行 + i--; } } + DynamicObjectCollection dynamicObjectCollection = (BusinessDataServiceHelper.loadSingle(cdm_drafttradebill.getLong("id"), cdm_drafttradebill.getDataEntityType().getName())).getDynamicObjectCollection("entrys"); + List billno = dynamicObjectCollection.stream() + .map(e -> e.getDynamicObject("draftbill").getString("billno")) + .collect(Collectors.toList()); DynamicObjectCollection cas_draftinfo = (DynamicObjectCollection) this.getView().getModel().getValue("cas_draftinfo"); - if (cas_draftinfo.size()>cas_draftinfosize){ - for (int i = 0; i < cas_draftinfosize; i++) { - this.getView().getModel().deleteEntryRow("cas_draftinfo", i);//删除原有的行 - } + for (int i = 0; i < cas_draftinfo.size(); i++) { + DynamicObject draftbillinfo = cas_draftinfo.get(i).getDynamicObject("draftbillinfo");//结算号 + if (!billno.contains(draftbillinfo.getString("billno"))){ + this.getView().getModel().deleteEntryRow("cas_draftinfo", i);//删除生成的行 + i--; + }; } this.getView().updateView();