From 5eccdfed599f297149de030c473ac2b374ab4d4b Mon Sep 17 00:00:00 2001 From: ptt <2403326863@qq.com> Date: Mon, 21 Apr 2025 13:47:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=B9=E7=94=A8=E7=99=BB=E8=AE=B0|=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E7=94=B3=E8=AF=B7=EF=BC=8C=E9=80=89=E4=B8=AD=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E5=8D=95=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listplguin/RecDocFilterOrgListPlugin.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 main/java/shkd/repc/repe/listplguin/RecDocFilterOrgListPlugin.java diff --git a/main/java/shkd/repc/repe/listplguin/RecDocFilterOrgListPlugin.java b/main/java/shkd/repc/repe/listplguin/RecDocFilterOrgListPlugin.java new file mode 100644 index 0000000..7790e97 --- /dev/null +++ b/main/java/shkd/repc/repe/listplguin/RecDocFilterOrgListPlugin.java @@ -0,0 +1,73 @@ +package shkd.repc.repe.listplguin; + +import com.alibaba.nacos.shaded.com.google.common.collect.Lists; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.metadata.IDataEntityType; +import kd.bos.entity.MainEntityType; +import kd.bos.entity.datamodel.IDataModel; +import kd.bos.form.IFormView; +import kd.bos.form.events.SetFilterEvent; +import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.sdk.plugin.Plugin; + +import java.util.*; + +/** + * 标准单据列表插件 + */ +public class RecDocFilterOrgListPlugin extends AbstractListPlugin implements Plugin { + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + IFormView parentView = this.getView().getParentView(); + MainEntityType dataEntityType = parentView.getModel().getDataEntityType(); + } + + @Override + public void setFilter(SetFilterEvent e) { + super.setFilter(e); + Set filterKeywords = new HashSet<>(Arrays.asList( + "deliverydate_c", "orderform_f7.billno", "orderform_f7.supplier.name", "receivedate","deliveryform_f7.deliverydate","orderform_f7.purchaseorg.id", + "receivedate", "acceptor.name", "description", "orderform_f7.formdate", "orderform_f7.formdate", "org.name", "billno", "orderform_f7.purchaseorg.name" + )); + IFormView parentView = this.getView().getParentView(); + IDataModel model = parentView.getModel(); + DynamicObject dataEntity = model.getDataEntity(); + IDataEntityType dataEntityType = dataEntity.getDataEntityType(); + String name = dataEntityType.getName(); + //费用登记||付款申请 + if ("recon_connotextbill".equals(name) ||"recon_payreqbill".equals(name)) { + System.out.println(1); + List qFiletrs = e.getQFilters(); + List qFilterList = new ArrayList<>(); + int size = qFiletrs.size(); + if (qFiletrs!=null && size > 0) { + for (int i = 0; i < qFiletrs.size(); i++) { + QFilter qFilter = qFiletrs.get(i); + if (null != qFilter) { + String string = qFilter.toString(); + for (String keyword : filterKeywords) { + if (string.contains(keyword)) { + qFilterList.add(qFilter); + break; + } + } + } + } + } + qFiletrs.removeAll(qFiletrs); + DynamicObject org = dataEntity.getDynamicObject("org"); + if (null != org) { + List qFilters = e.getQFilters(); + QFilter q1 = new QFilter("org.name", QCP.equals, org.getString("name")); + QFilter q2 = new QFilter("billstatus", QCP.equals, "B"); + qFilterList.add(q1.and(q2)); + qFilters.addAll(qFilterList); + } + } + + } +} \ No newline at end of file