From 2b909980b049b5f5e6a06b563a835bb25c6e556d Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Tue, 2 Sep 2025 09:50:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E5=8D=95=E6=B7=BB=E5=8A=A0=E7=94=B3=E8=AF=B7=E4=BA=BA?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91=E5=92=8C?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E4=BA=BA=E4=BF=AE=E6=94=B9=E5=90=8E=E8=B5=8B?= =?UTF-8?q?=E5=80=BC=E7=94=B3=E8=AF=B7=E4=BA=BA=E9=83=A8=E9=97=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/form/MaintenanceBillPlugin.java | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java index fc4651a..a6ae055 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/MaintenanceBillPlugin.java @@ -16,8 +16,10 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper; import kd.sdk.plugin.Plugin; +import java.util.ArrayList; import java.util.Calendar; import java.util.EventObject; +import java.util.List; /** * 设备维修申请表单插件 @@ -28,6 +30,8 @@ public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin, super.registerListener(e); BasedataEdit zcgj_equipment = this.getView().getControl("zcgj_equipment");//设备名称 zcgj_equipment.addBeforeF7SelectListener(this); + BasedataEdit zcgj_applidepart = getView().getControl("zcgj_applidepart");//申请人部门 + zcgj_applidepart.addBeforeF7SelectListener(this); } @Override @@ -75,20 +79,51 @@ public class MaintenanceBillPlugin extends AbstractBillPlugIn implements Plugin, entryCollection.clear(); this.getView().updateView("entryentity");//刷新分录 } + } else if ("zcgj_person".equals(name)) { + //申请人 + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + Object newValue = changeData.getNewValue();//新值 + if (newValue == null) { + this.getModel().setValue("zcgj_applidepart", null);//清空申请人部门字段 + return; + } + DynamicObject zcgj_reqperson = (DynamicObject) newValue;//物资申请人 + long mainOrgID = UserServiceHelper.getUserMainOrgId((Long) zcgj_reqperson.getPkValue());//获取用户默认部门id + this.getModel().setValue("zcgj_applidepart", mainOrgID);//申请人部门 } } @Override public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); - Object zcgj_accountOrg = this.getModel().getValue("zcgj_accountorg");//财务记账组织 - if (zcgj_accountOrg != null) { - DynamicObject zcgj_accountOrg1 = (DynamicObject) zcgj_accountOrg; - QFilter qFilter = new QFilter("useorg", QCP.equals, zcgj_accountOrg1.getPkValue()); - formShowParameter.getListFilterParameter().getQFilters().add(qFilter); - } else { - this.getView().showErrorNotification("请先填写财务记账组织!!"); - beforeF7SelectEvent.setCancel(true); + String propertyName = beforeF7SelectEvent.getProperty().getName(); + List qFilters = new ArrayList<>(); + if(propertyName.equals("zcgj_equipment")){ + //设备名称 + Object zcgj_accountOrg = this.getModel().getValue("zcgj_accountorg");//财务记账组织 + if (zcgj_accountOrg != null) { + DynamicObject zcgj_accountOrg1 = (DynamicObject) zcgj_accountOrg; + qFilters.add(new QFilter("useorg", QCP.equals, zcgj_accountOrg1.getPkValue())); + } else { + this.getView().showErrorNotification("请先填写财务记账组织!!"); + beforeF7SelectEvent.setCancel(true); + } + }else if(propertyName.equals("zcgj_applidepart")){ + //申请人部门 + Object zcgj_person = this.getModel().getValue("zcgj_person");//申请人 + if (zcgj_person == null) { + this.getView().showErrorNotification("请先填写物资申请人!!"); + beforeF7SelectEvent.setCancel(true); + } + DynamicObject zcgj_person1 = (DynamicObject) zcgj_person;//申请人 + List ids = new ArrayList<>(); + if (zcgj_person1 != null) { + ids = UserServiceHelper.getOrgsUserJoin((Long) zcgj_person1.getPkValue()); + } + qFilters.add(new QFilter("id", QCP.in, ids)); + formShowParameter.setCustomParam("isIncludeAllSub", "true");//包含下级 } + formShowParameter.getListFilterParameter().setQFilters(qFilters); } }