From 16c64e2e4985c4780ca2cd107086b9b2d0be84b7 Mon Sep 17 00:00:00 2001 From: XiangLingFeng <1518871916@qq.com> Date: Tue, 16 Dec 2025 13:14:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6=EF=BC=9A?= =?UTF-8?q?=E8=AE=A1=E6=81=AF=E5=8D=95=E7=94=9F=E6=88=90=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E5=8D=95=E4=BC=A0=E9=80=92=E9=80=89=E4=B8=AD=E8=A1=8C=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=87=B3=E6=93=8D=E4=BD=9C=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InterestAccrualGenPaymentBillPlugin.java | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 code/tmc/kdsz-zyf25-tmc-cfm/src/main/java/kdsz/zyf25/tmc/cfm/plugin/form/cdm/InterestAccrualGenPaymentBillPlugin.java diff --git a/code/tmc/kdsz-zyf25-tmc-cfm/src/main/java/kdsz/zyf25/tmc/cfm/plugin/form/cdm/InterestAccrualGenPaymentBillPlugin.java b/code/tmc/kdsz-zyf25-tmc-cfm/src/main/java/kdsz/zyf25/tmc/cfm/plugin/form/cdm/InterestAccrualGenPaymentBillPlugin.java new file mode 100644 index 0000000..878f5b7 --- /dev/null +++ b/code/tmc/kdsz-zyf25-tmc-cfm/src/main/java/kdsz/zyf25/tmc/cfm/plugin/form/cdm/InterestAccrualGenPaymentBillPlugin.java @@ -0,0 +1,112 @@ +package kdsz.zyf25.tmc.cfm.plugin.form.cdm; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.form.control.EntryGrid; +import kd.bos.form.control.events.BeforeItemClickEvent; +import kd.bos.form.control.events.ItemClickEvent; +import kd.bos.form.events.BeforeDoOperationEventArgs; +import kd.bos.form.operate.FormOperate; +import kd.sdk.plugin.Plugin; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Arrays; +import java.util.EventObject; + +/** + * 计息单生成付款单表单插件:向操作插件传入选中分录的参数 + */ +public class InterestAccrualGenPaymentBillPlugin extends AbstractBillPlugIn implements Plugin { + private static final Logger logger = LoggerFactory.getLogger(InterestAccrualGenPaymentBillPlugin.class); + + @Override + public void registerListener(EventObject e) { + super.registerListener(e); + this.addItemClickListeners("kdsz_pushpayment"); + } + + @Override + public void beforeItemClick(BeforeItemClickEvent evt) { + super.beforeItemClick(evt); + String itemKey = evt.getItemKey(); +// if ("kdsz_pushpayment".equals(itemKey)) { +// //校验 +// String billStatus = (String) this.getModel().getValue("billstatus"); +// if (!"C".equals(billStatus)) { +// this.getView().showMessage("只有已审核的单据才能生成付款单"); +// evt.setCancel(true); +// return; +// } +// EntryGrid entryGrid = this.getControl("entryentity"); +// int[] selectRows = entryGrid.getSelectRows(); +// if (selectRows == null || selectRows.length == 0){ +// this.getView().showMessage("请选择要生成付款单的行"); +// evt.setCancel(true); +// }else { +// StringBuilder str = new StringBuilder(); +// for (int selectRow : selectRows) { +// DynamicObject paymentBill = (DynamicObject) this.getModel().getValue("kdsz_e_paybill", selectRow); +// if (paymentBill != null){ +// str.append("第").append(selectRow+1).append("行已生成付款单,请勿重复生成。\n"); +// } +// } +// if (str.length() > 0){ +// this.getView().showMessage(str.toString()); +// evt.setCancel(true); +// } +// } +// } + } + + @Override + public void beforeDoOperation(BeforeDoOperationEventArgs args) { + super.beforeDoOperation(args); + FormOperate formOperate = (FormOperate)args.getSource(); + //下推付款单 + if ( StringUtils.equals("pushpayment", formOperate.getOperateKey())){ + EntryGrid entryGrid = this.getControl("entryentity"); + int[] selectRows = entryGrid.getSelectRows(); + if (selectRows == null || selectRows.length == 0){ + this.getView().showMessage("请选择要生成付款单的行"); + args.setCancel(true); + return; + } + DynamicObject bill = this.getModel().getDataEntity(); +// formOperate.getOption().setVariableValue(bill.getString("id"), Arrays.toString(selectRows)); + formOperate.getOption().setVariableValue(bill.getString("id"), Arrays.toString(selectRows)); + } + } + + @Override + public void itemClick(ItemClickEvent evt) { + super.itemClick(evt); + String itemKey = evt.getItemKey(); +// if ("kdsz_pushpayment".equals(itemKey)){ +// String billNo = (String)this.getModel().getValue("billno"); +// EntryGrid entryGrid = this.getControl("entryentity"); +// int[] selectRows = entryGrid.getSelectRows(); +// //生成付款单 +// OperationResult result = generatePaymentBill(selectRows); +// if (result.isSuccess()){ +// this.getView().showSuccessNotification("生成付款单成功"); +// logger.info("------计息单:"+billNo+"生成付款单成功"); +// writeLkInfo(selectRows,result.getSuccessPkIds().get(0)); +// }else { +// StringBuilder str = new StringBuilder(); +// str.append("生成付款单失败。"); +// List allErrorOrValidateInfo = result.getAllErrorOrValidateInfo(); +// if (allErrorOrValidateInfo != null){ +// str.append("message:\n"); +// for (IOperateInfo iOperateInfo : allErrorOrValidateInfo) { +// str.append(iOperateInfo.getMessage()).append("\n"); +// } +// } +// this.getView().showErrorNotification(str.toString()); +// logger.info("------计息单:"+billNo+"生成付款单失败"); +// } +// } + } + +} \ No newline at end of file