付款申请单(项目资金)整单复制时将源单“收款账号”放入缓存并调用赋值

This commit is contained in:
xuhaihui 2025-06-04 14:03:16 +08:00
parent 7e06fc62c6
commit 0b700c7797
2 changed files with 50 additions and 0 deletions

View File

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

View File

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