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); + } + } } }