From 18c1062b9f78dc675334d254025dc84ba23c4e21 Mon Sep 17 00:00:00 2001 From: Mr-wang Date: Mon, 28 Aug 2023 16:20:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E8=A1=A5=E5=8F=91=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=88=B0=E6=9D=83=E9=99=90=E9=A2=84=E8=A7=88=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E6=95=B0=E6=8D=AE=E5=8E=BB=E9=87=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...sEndAfterEventForPermissionSupplement.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/event/ProcessEndAfterEventForPermissionSupplement.java b/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/event/ProcessEndAfterEventForPermissionSupplement.java index a79c76d4..489f3056 100644 --- a/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/event/ProcessEndAfterEventForPermissionSupplement.java +++ b/com.awspaas.user.apps.app20221008163300/src/com/awspaas/user/apps/app/event/ProcessEndAfterEventForPermissionSupplement.java @@ -11,6 +11,7 @@ import com.actionsoft.bpms.util.UtilString; import com.actionsoft.sdk.local.SDK; import java.util.Arrays; +import java.util.HashSet; import java.util.stream.Collectors; @@ -66,6 +67,36 @@ public class ProcessEndAfterEventForPermissionSupplement extends ExecuteListener if (UtilString.isNotEmpty(postPerm)) { postPerm = postPerm + "," + postStr; } + }else { + String postPerms = ""; + String levelPerms = ""; + String orgPerms = ""; + if (postPerm.contains(",")){ + String[] split = postPerm.split(","); + String[] post_split = removeDuplicates(split); + for (String post:post_split){ + postPerms += post+","; + } + postPerm = postPerms.substring(0,postPerms.length()-1); + } + if (levelPerm.contains(",")){ + String[] split = levelPerm.split(","); + String[] level_split = removeDuplicates(split); + for (String level: + level_split) { + levelPerms += level+","; + } + levelPerm = levelPerms.substring(0,levelPerms.length()-1); + } + if (orgPerm.contains(",")){ + String[] split = orgPerm.split(","); + String[] org_split = removeDuplicates(split); + for (String org + :org_split){ + orgPerms += org+","; + } + orgPerm = orgPerms.substring(0,orgPerms.length()-1); + } } //需要补发权限的权限阅览id String bindId = byProcess.getString("PUBLISHUSPROSSINSID"); @@ -76,4 +107,9 @@ public class ProcessEndAfterEventForPermissionSupplement extends ExecuteListener System.out.println("权限阅览流程实例id为:" + bindId + "的权限补发成功"); } + + public static String[] removeDuplicates(String[] array) { + HashSet set = new HashSet<>(Arrays.asList(array)); + return set.toArray(new String[0]); + } }