From 7bc06ae34606c05ad28aae94850d07c0bcb666e6 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 27 Aug 2025 17:12:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E4=BA=BA=E9=83=A8=E9=97=A8=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/MaterialInbPurchaseApplyPlugin.java | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java index 59d90bb..95c6590 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaterialInbPurchaseApplyPlugin.java @@ -28,6 +28,7 @@ import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; +import kd.bos.servicehelper.user.UserServiceHelper; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; @@ -39,6 +40,7 @@ import java.util.stream.Collectors; * 说明:1:入库单点击选择采购申请按钮后弹出对应采购申请分录内容,后通过选择弹出的采购申请分录行赋值给入库单中 * 2:采购申请字段内容修改后清空分录 * 3:采购申请字段过滤逻辑加仓库修改后清空采购申请字段 + * 4:申请人部门根据物资申请人过滤部门 */ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener { @Override @@ -46,6 +48,8 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement super.registerListener(e); RefBillEdit purchaseApply = getView().getControl("zcgj_purchaseapply");//采购申请 purchaseApply.addBeforeF7SelectListener(this); + BasedataEdit zcgj_applidepart = getView().getControl("zcgj_applidepart");//申请人部门 + zcgj_applidepart.addBeforeF7SelectListener(this); } @Override @@ -107,17 +111,34 @@ public class MaterialInbPurchaseApplyPlugin extends AbstractBillPlugIn implement @Override public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { - String propertyName = beforeF7SelectEvent.getProperty().getName(); - Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 - if (fiaccountorg == null) { - this.getView().showErrorNotification("请先填写财务记账组织!!"); - beforeF7SelectEvent.setCancel(true); - } - DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;//财务记账组织 ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); List qFilters = new ArrayList<>(); - if (fiaccountorg1 != null) { - qFilters.add(new QFilter("fiaccountorg.id", QCP.in, fiaccountorg1.get("id")));//财务记账组织 + String propertyName = beforeF7SelectEvent.getProperty().getName(); + if ("zcgj_purchaseapply".equals(propertyName)) { + //采购申请 + Object fiaccountorg = this.getModel().getValue("fiaccountorg");//财务记账组织 + if (fiaccountorg == null) { + this.getView().showErrorNotification("请先填写财务记账组织!!"); + beforeF7SelectEvent.setCancel(true); + } + DynamicObject fiaccountorg1 = (DynamicObject) fiaccountorg;//财务记账组织 + if (fiaccountorg1 != null) { + qFilters.add(new QFilter("fiaccountorg.id", QCP.in, fiaccountorg1.get("id")));//财务记账组织 + } + } else if ("zcgj_applidepart".equals(propertyName)) { + //申请人部门 + Object zcgj_reqperson = this.getModel().getValue("zcgj_reqperson");//申请人 + if (zcgj_reqperson == null) { + this.getView().showErrorNotification("请先填写物资申请人!!"); + beforeF7SelectEvent.setCancel(true); + } + DynamicObject zcgj_reqperson1 = (DynamicObject) zcgj_reqperson;//申请人 + List ids = new ArrayList<>(); + if (zcgj_reqperson1 != null) { + ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_reqperson1.getPkValue()); + } + qFilters.add(new QFilter("id", QCP.in, ids)); + formShowParameter.setCustomParam("isIncludeAllSub", "true");//包含下级 } formShowParameter.getListFilterParameter().setQFilters(qFilters); }