From 944ba17c7ec9424097bc6db9c7f1a5f6696233b6 Mon Sep 17 00:00:00 2001 From: zhangzhiguo Date: Tue, 25 Mar 2025 18:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E7=AE=A1=E7=90=86=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E7=94=B3=E8=AF=B7=E5=A4=8D=E5=88=B6=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BC=BA=E5=A4=B1=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/PaymentapplyCopyPlugin.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyCopyPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyCopyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyCopyPlugin.java new file mode 100644 index 0000000..636f920 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyCopyPlugin.java @@ -0,0 +1,59 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.form.control.EntryGrid; +import kd.bos.form.control.events.ItemClickEvent; +import kd.sdk.plugin.Plugin; + +import java.math.BigDecimal; +import java.util.EventObject; +import java.util.List; + +public class PaymentapplyCopyPlugin extends AbstractBillPlugIn implements Plugin { + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); +//监听工具栏按钮点击事件 + this.addItemClickListeners("entrytoolbar"); + //this.addClickListeners("advcontoolbarap"); + } + @Override + public void itemClick(ItemClickEvent evt) { + super.itemClick(evt); + String ENTITY_KEY = "entryentity"; + if (evt.getItemKey().equals("zcgj_pay_copy")) { + EntryGrid entryGrid = this.getControl("entryentity"); + //获取选中行,数组为行号,从0开始int[] + int[] selectRows = entryGrid.getSelectRows(); + //获取单据体数据集合 + DynamicObjectCollection entity=this.getModel().getEntryEntity("entryentity"); + List dynamicObjects = entity.subList(entity.size() - selectRows.length, entity.size()); + for (int i = 0; i < selectRows.length; i++) { + DynamicObject dynamicObject = entity.get(selectRows[i]); //选择的单据体数据 + DynamicObject dynamicObjectCopy = dynamicObjects.get(i); //复制的单据提数据 + dynamicObjectCopy.set("thisapplyoftax",dynamicObject.get("thisapplyoftax")); + dynamicObjectCopy.set("applyoftaxamount",dynamicObject.get("applyoftaxamount")); + dynamicObjectCopy.set("endpaymentrate",dynamicObject.get("endpaymentrate")); + } + this.getModel().setValue("totalshouldpay", this.getSum("entryentity", "applyoftaxamount")); + this.getView().updateView(ENTITY_KEY); + this.getView().updateView("totalshouldpay"); + } + } + + protected BigDecimal getSum(String entryId, String columnId) { + int rowCount = this.getModel().getEntryRowCount(entryId); + BigDecimal totalAmount = BigDecimal.ZERO; + + for(int i = 0; i < rowCount; ++i) { + BigDecimal amount = (BigDecimal)this.getModel().getValue(columnId, i); + amount = amount == null ? BigDecimal.ZERO : amount; + totalAmount = totalAmount.add(amount); + } + + return totalAmount; + } +}