From c612a2655b0862017534d367db785442d7f6f66f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=93=88=E5=93=88=E5=93=88=E4=B8=BF?= <421587375@qq.com> Date: Tue, 1 Jul 2025 15:08:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5/=E6=94=AF=E5=87=BA=E8=B4=A2?= =?UTF-8?q?=E5=8A=A1=E7=A1=AE=E8=AE=A4=E5=8D=95=E7=BC=96=E8=BE=91=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=A2=9E=E5=8A=A0=E7=BB=84=E7=BB=87=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InContractFinaceConfirmeListPlugin.java | 4 +- .../form/InContractFinaceConfirmePlugin.java | 35 ++++++++++++----- .../OutContractFinaceConfirmeListPlugin.java | 4 +- .../form/OutContractFinaceConfirmePlugin.java | 39 +++++++++++++------ 4 files changed, 57 insertions(+), 25 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 bb64d89..7d3964f 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 @@ -100,7 +100,7 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple @Override public void setFilter(SetFilterEvent e) { super.setFilter(e); - List qFilters = e.getQFilters(); + /*List qFilters = e.getQFilters(); for (QFilter qFilter : qFilters) { if("zcgj_org.id".equals(qFilter.getProperty())){ String cp = qFilter.getCP(); @@ -115,7 +115,7 @@ public class InContractFinaceConfirmeListPlugin extends AbstractListPlugin imple } this.getPageCache().put("current_zcgj_orgid_in", sb.substring(0, sb.length()-1)); } - } + }*/ } @Override 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 1a05ed8..c3fdfc4 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 @@ -3,6 +3,7 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.bill.BillShowParameter; import kd.bos.bill.OperationStatus; +import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; @@ -20,7 +21,9 @@ import kd.bos.form.field.events.BeforeF7SelectListener; import kd.bos.list.ListShowParameter; 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.ec.contract.common.enums.DirectionEnum; import kd.sdk.plugin.Plugin; @@ -176,17 +179,29 @@ public class InContractFinaceConfirmePlugin extends AbstractBillPlugIn implement public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { String name = beforeF7SelectEvent.getProperty().getName(); if(name.equals("zcgj_ec_in_contract_sett")){ - IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class); - String listOrgId = iPageCache.get("current_zcgj_orgid_in"); - List ids = new ArrayList<>(); - if(StringUtils.isNotBlank(listOrgId)){ - for (String s : listOrgId.split(",")) { - ids.add(Long.parseLong(s)); - } + long userId = Long.parseLong(RequestContext.get().getUserId()); + boolean superUser = PermissionServiceHelper.isSuperUser(userId); //判断是否为全功能用户 + boolean adminUser = PermissionServiceHelper.isAdminUser(userId); //判断是否管理员用户 + if(!superUser && !adminUser) { + IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class); + //获取当前人员有权限的组织 + HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); + //有权的组织 + List hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); + + //String listOrgId = iPageCache.get("current_zcgj_orgid_in"); + // List ids = new ArrayList<>(); + /*if(StringUtils.isNotBlank(listOrgId)){ + for (String s : listOrgId.split(",")) { + ids.add(Long.parseLong(s)); + } + }*/ + + // DynamicObject zcgjOrg = (DynamicObject) this.getModel().getValue("zcgj_org"); + ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + QFilter qFilter = new QFilter("org", QCP.in, hasPermOrgs); + showParameter.getListFilterParameter().getQFilters().add(qFilter); } - ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); - QFilter qFilter = new QFilter("org", QCP.in, ids); - showParameter.getListFilterParameter().getQFilters().add(qFilter); } } } 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 928bac5..727e484 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 @@ -108,7 +108,7 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl @Override public void setFilter(SetFilterEvent e) { super.setFilter(e); - List qFilters = e.getQFilters(); + /*List qFilters = e.getQFilters(); for (QFilter qFilter : qFilters) { if("zcgj_org.id".equals(qFilter.getProperty())){ String cp = qFilter.getCP(); @@ -123,7 +123,7 @@ public class OutContractFinaceConfirmeListPlugin extends AbstractListPlugin impl } this.getPageCache().put("current_zcgj_orgid_out", sb.substring(0, sb.length()-1)); } - } + }*/ } @Override diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java index 30671c4..537c830 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmePlugin.java @@ -5,6 +5,7 @@ import kd.bos.algo.Row; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.bill.BillShowParameter; import kd.bos.bill.OperationStatus; +import kd.bos.context.RequestContext; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.utils.StringUtils; @@ -23,8 +24,10 @@ import kd.bos.form.field.events.BeforeF7SelectListener; import kd.bos.list.ListShowParameter; 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.QueryServiceHelper; +import kd.bos.servicehelper.permission.PermissionServiceHelper; import kd.ec.contract.common.enums.DirectionEnum; import kd.sdk.plugin.Plugin; import zcgj.zcdev.zcdev.pr.utils.OrgCheckUtils; @@ -173,7 +176,7 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme EntryGrid control = this.getControl("zcgj_entryentity"); control.addHyperClickListener(this); //kd.bos.form.field.RefBillEdit - RefBillEdit outContractSett = this.getControl("current_zcgj_orgid_out"); //支出合同结算单 + RefBillEdit outContractSett = this.getControl("zcgj_ec_out_contract_sett"); //支出合同结算单 if(outContractSett != null) { outContractSett.addBeforeF7SelectListener(this); } @@ -266,17 +269,31 @@ public class OutContractFinaceConfirmePlugin extends AbstractBillPlugIn impleme public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { String name = beforeF7SelectEvent.getProperty().getName(); if(name.equals("zcgj_ec_out_contract_sett")){ - IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class); - String listOrgId = iPageCache.get("current_zcgj_orgid_out"); - List ids = new ArrayList<>(); - if(StringUtils.isNotBlank(listOrgId)){ - for (String s : listOrgId.split(",")) { - ids.add(Long.parseLong(s)); - } + long userId = Long.parseLong(RequestContext.get().getUserId()); + boolean superUser = PermissionServiceHelper.isSuperUser(userId); //判断是否为全功能用户 + boolean adminUser = PermissionServiceHelper.isAdminUser(userId); //判断是否管理员用户 + if(!superUser && !adminUser) { + //获取当前人员有权限的组织 + HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(Long.parseLong(RequestContext.get().getUserId())); + //有权的组织 + List hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); + + //IPageCache iPageCache = this.getView().getParentView().getService(IPageCache.class); + //String listOrgId = iPageCache.get("current_zcgj_orgid_out"); + //List ids = new ArrayList<>(); + /*if(StringUtils.isNotBlank(listOrgId)){ + for (String s : listOrgId.split(",")) { + hasPermOrgs.add(Long.parseLong(s)); + } + }*/ + + // DynamicObject zcgjOrg = (DynamicObject) this.getModel().getValue("zcgj_org"); + + ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + QFilter qFilter = new QFilter("org", QCP.in, hasPermOrgs); + showParameter.getListFilterParameter().getQFilters().add(qFilter); } - ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); - QFilter qFilter = new QFilter("org", QCP.in, ids); - showParameter.getListFilterParameter().getQFilters().add(qFilter); + }else if(name.equals("zcgj_cbs")) {//工序根据项目过滤 Object projectObj = this.getModel().getValue("zcgj_project"); if(projectObj instanceof DynamicObject){