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();