From 4965528d2983ba089e2bce7bf6e35c5a562012ee Mon Sep 17 00:00:00 2001 From: zengweihai Date: Fri, 14 Jun 2024 17:34:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E7=99=BB=E8=AE=B0=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E8=AE=A1=E5=88=92=E5=88=86=E5=BD=95=E8=81=94=E5=8A=A8?= =?UTF-8?q?=E5=90=88=E5=90=8C=E6=80=BB=E4=BB=B7=E5=8C=BA=E5=9F=9F=E7=A8=8E?= =?UTF-8?q?=E7=8E=8701?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../formplugin/ContractbillFromPlugin.java | 44 ++++++++++++++++--- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/ContractbillFromPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/ContractbillFromPlugin.java index 5ac436c..c569575 100644 --- a/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/ContractbillFromPlugin.java +++ b/shkd-cosmic-debug/src/main/java/shkd/fi/er/plugin/formplugin/ContractbillFromPlugin.java @@ -4,6 +4,8 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.metadata.IDataEntityProperty; import kd.bos.entity.datamodel.IDataModel; +import kd.bos.entity.datamodel.events.AfterDeleteRowEventArgs; +import kd.bos.entity.datamodel.events.BeforeDeleteRowEventArgs; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.plugin.AbstractFormPlugin; @@ -46,17 +48,14 @@ public class ContractbillFromPlugin extends AbstractFormPlugin { @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e); - IDataModel model = this.getModel(); String name = e.getProperty().getName(); ChangeData[] changeSet = e.getChangeSet(); ChangeData changeData = changeSet[0]; - - switch (name){ case "contractparty" : DynamicObject newValue = (DynamicObject)changeData.getNewValue(); this.getModel().setValue("costcompany",newValue); - case "orientryamount": + case "orientryamount"://监听税额变化 DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity"); BigDecimal orientryamounttotal = BigDecimal.ZERO; BigDecimal taxamounttotal = BigDecimal.ZERO; @@ -67,9 +66,40 @@ public class ContractbillFromPlugin extends AbstractFormPlugin { orientryamounttotal = orientryamounttotal.add(orientryamount); taxamounttotal = taxamounttotal.add(taxamount); } - BigDecimal divide = orientryamounttotal.divide(taxamounttotal, 2, 4); //计算税率 - this.getModel().setValue("taxrate",divide); - + if (orientryamounttotal.compareTo(BigDecimal.ZERO) != 0){ + BigDecimal divide = taxamounttotal.divide(orientryamounttotal, 4, 4); //计算税率 + divide = divide.multiply(new BigDecimal(100)); + this.getModel().setValue("billtaxrate",divide); + }else { + this.getModel().setValue("billtaxrate",0); + } } } + + + @Override + public void afterDeleteRow(AfterDeleteRowEventArgs e) { + super.afterDeleteRow(e); + String name = e.getEntryProp().getName(); + if (name.equals("expenseentryentity")){ + DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity"); + BigDecimal orientryamounttotal = BigDecimal.ZERO; + BigDecimal taxamounttotal = BigDecimal.ZERO; + for(int i = 0;i