From d95b59cfb4d2160db8ab237f9a8bc4c325387858 Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Thu, 12 Jun 2025 16:51:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A4=E9=A2=86=E5=8D=95=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E6=93=8D=E4=BD=9C,=E6=9F=A5=E8=AF=A2=E6=BA=90=E5=8D=95?= =?UTF-8?q?=E4=B8=BA=E8=AF=A5=E8=AE=A4=E9=A2=86=E5=8D=95=E7=9A=84=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E5=8D=95,=E8=8B=A5=E6=9C=AA=E6=8E=A8=E9=80=81SAP(?= =?UTF-8?q?=E5=87=AD=E8=AF=81=E5=8F=B7=E4=B8=BA=E7=A9=BA),=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E4=B8=8D=E8=AE=B8=E5=8F=98=E6=9B=B4=20--s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fi/plugin/form/ClaimChangeListPlugin.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 main/java/shjh/jhzj7/fi/fi/plugin/form/ClaimChangeListPlugin.java diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/form/ClaimChangeListPlugin.java b/main/java/shjh/jhzj7/fi/fi/plugin/form/ClaimChangeListPlugin.java new file mode 100644 index 0000000..52b6236 --- /dev/null +++ b/main/java/shjh/jhzj7/fi/fi/plugin/form/ClaimChangeListPlugin.java @@ -0,0 +1,44 @@ +package shjh.jhzj7.fi.fi.plugin.form; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.EntityMetadataCache; +import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.form.control.events.BeforeItemClickEvent; +import kd.bos.list.BillList; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.util.StringUtils; +import kd.sdk.plugin.Plugin; + +/** + * 认领处理单监听变更操作列表插件 + */ +public class ClaimChangeListPlugin extends AbstractListPlugin implements Plugin { + + @Override + public void beforeItemClick(BeforeItemClickEvent evt) { + super.beforeItemClick(evt); + + String key = evt.getItemKey().toLowerCase(); + if ("baritemap1".equals(key)) { + BillList list = (BillList) this.getView().getControl("billlistap"); + ListSelectedRowCollection selectedRows = list.getSelectedRows(); + //认领单变更操作,查询源单为该认领单的收款单,若未推送SAP(凭证号为空),校验不许变更 + DynamicObject claimbill= BusinessDataServiceHelper.loadSingle(selectedRows.get(0).getPrimaryKeyValue(), + EntityMetadataCache.getDataEntityType("cas_claimbill")); + if (null != claimbill) { + QFilter qFilter = new QFilter("sourcebillnumber", QCP.equals, claimbill.getString("claimno")); + DynamicObject casRecbill = BusinessDataServiceHelper.loadSingle("cas_recbill", qFilter.toArray()); + if (null != casRecbill) { + String shjhVouchernum = casRecbill.getString("shjh_vouchernum"); + if (StringUtils.isEmpty(shjhVouchernum)) { + this.getView().showTipNotification(claimbill.getString("billno") + "对应的收款单未推送至SAP,不允许变更"); + evt.setCancel(true); + } + } + } + } + } +}