From ba78bf724c0f6dce8157ea0790904e7f339be9e5 Mon Sep 17 00:00:00 2001 From: zhangzhiguo Date: Mon, 23 Jun 2025 17:47:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E5=87=BA=E8=B4=A2=E5=8A=A1=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=8D=95=E5=92=8C=E6=94=B6=E5=85=A5=E8=B4=A2=E5=8A=A1?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=8D=95=E6=89=80=E5=B1=9E=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=9D=83=E9=99=90=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InContractFinaceConfirmeListPlugin.java | 43 +++++++++++++++++++ .../form/InContractFinaceConfirmePlugin.java | 2 +- .../OutContractFinaceConfirmeListPlugin.java | 42 ++++++++++++++++-- 3 files changed, 83 insertions(+), 4 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java index 52ee61d..04ad573 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeListPlugin.java @@ -1,18 +1,29 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.BillShowParameter; +import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.filter.FilterColumn; import kd.bos.form.ShowType; import kd.bos.form.control.events.ItemClickEvent; +import kd.bos.form.events.FilterContainerInitArgs; import kd.bos.form.events.HyperLinkClickArgs; +import kd.bos.form.field.events.BeforeFilterF7SelectEvent; import kd.bos.list.BillList; import kd.bos.list.plugin.AbstractListPlugin; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.permission.api.HasPermOrgResult; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.permission.PermissionServiceHelper; +import kd.bos.servicehelper.user.UserServiceHelper; import kd.sdk.plugin.Plugin; +import java.util.List; + /** * 收入合同结算财务确认单 */ @@ -46,6 +57,38 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple } } + //列表F7 所属组织增加过滤 + @Override + public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) { + super.filterContainerBeforeF7Select(args); + //获取当前人员有权限的组织 + HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); + //有权的组织 + List hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); + String fieldName = args.getFieldName(); + if ("zcgj_org.id".equals(fieldName)) { + args.getQfilters().add(new QFilter("id", QCP.in, hasPermOrgs)); + } + } + + + @Override + public void filterContainerInit(FilterContainerInitArgs args) { + super.filterContainerInit(args); + List commonFilterColumns = args.getCommonFilterColumns(); + for (FilterColumn commonFilterColumn : commonFilterColumns) { + String fieldName = commonFilterColumn.getFieldName(); + Long currentUserId = UserServiceHelper.getCurrentUserId(); + // 当前用户所属组织 + Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId); + //当前切换选择的组织 + Long currentOrgId = RequestContext.get().getOrgId(); + if("zcgj_org.name".equals(fieldName)) { + commonFilterColumn.setDefaultValue(String.valueOf(currentOrgId)); + } + } + } + @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java index e6605a3..02540e9 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmePlugin.java @@ -68,7 +68,7 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement getModel().setValue("zcgj_description",ecincontractsettle.getString("description")); getModel().setValue("zcgj_currency",ecincontractsettle.getDynamicObject("currency")); getModel().setValue("zcgj_invoice_org",ecincontractsettle.getDynamicObject("project").getDynamicObject("projectorg")); - // getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer")); + getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer")); DynamicObjectCollection itementry = ecincontractsettle.getDynamicObjectCollection("itementry"); //DynamicObjectCollection entryEntity = this.getModel().getEntryEntity("zcgj_itementry"); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java index 7c643d3..1574c88 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeListPlugin.java @@ -1,18 +1,19 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.BillShowParameter; +import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.utils.StringUtils; import kd.bos.entity.datamodel.IDataModel; import kd.bos.entity.datamodel.ListSelectedRow; import kd.bos.entity.datamodel.ListSelectedRowCollection; +import kd.bos.filter.FilterColumn; import kd.bos.form.FormShowParameter; import kd.bos.form.ShowType; import kd.bos.form.StyleCss; import kd.bos.form.control.events.ItemClickEvent; -import kd.bos.form.events.HyperLinkClickArgs; -import kd.bos.form.events.HyperLinkClickEvent; -import kd.bos.form.events.HyperLinkClickListener; +import kd.bos.form.events.*; +import kd.bos.form.field.events.BeforeFilterF7SelectEvent; import kd.bos.list.BillList; import kd.bos.list.plugin.AbstractListPlugin; import kd.bos.logging.Log; @@ -22,8 +23,11 @@ import kd.bos.openapi.common.result.OpenApiResult; import kd.bos.openapi.common.util.OpenApiSdkUtil; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; +import kd.bos.permission.api.HasPermOrgResult; import kd.bos.report.ReportList; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.permission.PermissionServiceHelper; +import kd.bos.servicehelper.user.UserServiceHelper; import kd.ec.contract.common.enums.DirectionEnum; import kd.ec.contract.common.enums.PayDirectionEnum; import kd.sdk.plugin.Plugin; @@ -64,6 +68,38 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl } } + //列表F7 所属组织增加过滤 + @Override + public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) { + super.filterContainerBeforeF7Select(args); + //获取当前人员有权限的组织 + HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); + //有权的组织 + List hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); + String fieldName = args.getFieldName(); + if ("zcgj_org.id".equals(fieldName)) { + args.getQfilters().add(new QFilter("id", QCP.in, hasPermOrgs)); + } + } + + + @Override + public void filterContainerInit(FilterContainerInitArgs args) { + super.filterContainerInit(args); + List commonFilterColumns = args.getCommonFilterColumns(); + for (FilterColumn commonFilterColumn : commonFilterColumns) { + String fieldName = commonFilterColumn.getFieldName(); + Long currentUserId = UserServiceHelper.getCurrentUserId(); + // 当前用户所属组织 + Long mainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId); + //当前切换选择的组织 + Long currentOrgId = RequestContext.get().getOrgId(); + if("zcgj_org.name".equals(fieldName)) { + commonFilterColumn.setDefaultValue(String.valueOf(currentOrgId)); + } + } + } + @Override public void itemClick(ItemClickEvent evt) { super.itemClick(evt);