From 3da4d9dabea858098e4ff2a075e87e2941f55af9 Mon Sep 17 00:00:00 2001 From: yujh_java Date: Thu, 25 Sep 2025 19:27:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=88=A4=E6=96=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=A2=9E=E5=8A=A0=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8B=E4=B8=8D=E5=85=81=E8=AE=B8=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/web/CoeProcessLevelWeb.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java index fd3393ae..b321d56c 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java @@ -8346,6 +8346,11 @@ public class CoeProcessLevelWeb extends ActionWeb { * @return */ public String getPalProcessLevelCreateMethodList(String category, String methodId, String fileId) { + if(!"process.framework".equals(methodId) && !"default".equals(methodId)){//不是架构,或者文件夹 + ResponseObject ro = ResponseObject.newErrResponse(); + ro.msg("methodId:"+methodId+"当前所选择目录不是文件夹或者流程架构,请选择正确的目录!"); + return ro.toString(); + } ResponseObject ro = ResponseObject.newOkResponse(); JSONArray fileArr = new JSONArray();// 文件类模型,可以画图 JSONArray folderArr = new JSONArray();// 文件夹类模型,作为文件夹 @@ -11626,9 +11631,10 @@ public class CoeProcessLevelWeb extends ActionWeb { PALRepositoryCache.getAllChildrenModelsByPid(model.getWsId(), model.getId(), childList, ids); removeList.addAll(childList); for (PALRepositoryModel removeModel : removeList) { - //普通用户不允许删除已发布的文件 - if (removeModel.isPublish() && !"admin".equals(_uc.getUID())) { - return ResponseObject.newErrResponse("已发布文件["+ removeModel.getName() + VersionUtil.getVersionStrV(removeModel.getVersion()) + "]不允许删除,请联系系统管理员!").toString(); + //校验禁止删除逻辑 + String errorResponse = checkRemovalPermission(removeModel, _uc); + if (errorResponse != null) { + return errorResponse; } } @@ -13127,6 +13133,18 @@ public class CoeProcessLevelWeb extends ActionWeb { return ro.toString(); } + // 提取重复的错误判断逻辑到一个方法中 + private String checkRemovalPermission(PALRepositoryModel model, UserContext _uc) { + if ("admin".equals(_uc.getUID())) { + return null; + } + //非设计状态(即草稿)不允许删除 + if (model.isPublish() || model.isStop() || model.isApproval()) { + return ResponseObject.newErrResponse("文件[" + model.getName() + VersionUtil.getVersionStrV(model.getVersion()) + "]非草稿状态不允许删除,请联系系统管理员!").toString(); + } + return null; + } + class ComparatorMap implements Comparator { @Override