From 0b700c7797524b8c82ca59f5976c488bfdac40ac Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 4 Jun 2025 14:03:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=98=E6=AC=BE=E7=94=B3=E8=AF=B7=E5=8D=95?= =?UTF-8?q?=EF=BC=88=E9=A1=B9=E7=9B=AE=E8=B5=84=E9=87=91=EF=BC=89=E6=95=B4?= =?UTF-8?q?=E5=8D=95=E5=A4=8D=E5=88=B6=E6=97=B6=E5=B0=86=E6=BA=90=E5=8D=95?= =?UTF-8?q?=E2=80=9C=E6=94=B6=E6=AC=BE=E8=B4=A6=E5=8F=B7=E2=80=9D=E6=94=BE?= =?UTF-8?q?=E5=85=A5=E7=BC=93=E5=AD=98=E5=B9=B6=E8=B0=83=E7=94=A8=E8=B5=8B?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/PaymentApplyCopyListPlugin.java | 24 +++++++++++++++++ .../plugin/form/PaymentapplyCopyPlugin.java | 26 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplyCopyListPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplyCopyListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplyCopyListPlugin.java new file mode 100644 index 0000000..5bfd5ee --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentApplyCopyListPlugin.java @@ -0,0 +1,24 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.form.events.BeforeDoOperationEventArgs; +import kd.bos.form.operate.FormOperate; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.sdk.plugin.Plugin; + +/** + * 1:将源单“收款账号”存入缓存中,方便页面调用 + */ +public class PaymentApplyCopyListPlugin extends AbstractListPlugin implements Plugin { + @Override + public void beforeDoOperation(BeforeDoOperationEventArgs args) { + super.beforeDoOperation(args); + FormOperate operate = (FormOperate) args.getSource(); + String operateNo = operate.getOperateKey(); + if (operateNo.equalsIgnoreCase("copy")) { + ListSelectedRowCollection listSelectedData = args.getListSelectedData(); + String srcBillNo = listSelectedData.get(0).getBillNo(); + this.getView().getPageCache().put("srcBillNo", srcBillNo); + } + } +} 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 index cd467f2..d2b3529 100644 --- 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 @@ -5,6 +5,8 @@ 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.bos.form.events.BeforeDoOperationEventArgs; +import kd.bos.form.operate.FormOperate; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; @@ -19,6 +21,7 @@ import java.util.List; /** * 1:付款申请单合同付款信息分录复制功能锁定金额插件 * 2:整单复制时“期间”和“业务日期”取点击复制操作时的日期 + * 3:将缓存中的源单“收款账号”复制至目标单 */ public class PaymentapplyCopyPlugin extends AbstractBillPlugIn implements Plugin { @@ -76,6 +79,17 @@ public class PaymentapplyCopyPlugin extends AbstractBillPlugIn implements Plugin return totalAmount; } + @Override + public void beforeDoOperation(BeforeDoOperationEventArgs args) { + super.beforeDoOperation(args); + FormOperate operate = (FormOperate) args.getSource(); + String operateNo = operate.getOperateKey(); + if (operateNo.equalsIgnoreCase("copy")) { + DynamicObject bill = this.getModel().getDataEntity(); + this.getView().getFormShowParameter().setCustomParam("srcBillNo", bill.getString("billno")); + } + } + @Override public void afterCopyData(EventObject e) { super.afterCopyData(e); @@ -89,5 +103,17 @@ public class PaymentapplyCopyPlugin extends AbstractBillPlugIn implements Plugin if (bd_period != null) { this.getModel().setValue("period", bd_period);//期间 } + //整单复制时将“收款账号”从源单复制至目标单 + String srcBillNo = this.getView().getFormShowParameter().getCustomParam("srcBillNo"); + QFilter f2 = new QFilter("billno", QCP.equals, srcBillNo); + DynamicObject ec_paymentapply = BusinessDataServiceHelper.loadSingle("ec_paymentapply", "id,entryentity,entryentity.bankaccount", new QFilter[]{f2}); + if (ec_paymentapply != null) { + DynamicObjectCollection entryEntityCollection = ec_paymentapply.getDynamicObjectCollection("entryentity");//合同付款信息分录 + for (int i = 0; i < entryEntityCollection.size(); i++) { + DynamicObject entryEntity = entryEntityCollection.get(i); + String bankAccount = entryEntity.getString("bankaccount");//收款账号 + this.getModel().setValue("bankaccount", bankAccount, i); + } + } } }