From 1cbf88415a189a20d0a2d592cc5ea802a5b5bf67 Mon Sep 17 00:00:00 2001 From: yujh Date: Fri, 20 Sep 2024 14:02:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=B5=84=E4=BA=A7=E5=BA=93?= =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/web/ProcessPublishWeb.java | 2 +- .../repository/util/RepositoryTreeUtil.java | 162 +++++++++++++++++- 2 files changed, 161 insertions(+), 3 deletions(-) diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java index 2fb90c8e..b8ed56c0 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/client/web/ProcessPublishWeb.java @@ -2213,7 +2213,7 @@ public class ProcessPublishWeb extends ActionWeb { removeUsedList.add(model); usedList.removeAll(removeUsedList);// 筛选具有权限的所有使用中的流程 } - JSONArray treeData = RepositoryTreeUtil.list2tree(usedList, wsId, true, true, "-"); + JSONArray treeData = RepositoryTreeUtil.list2treeBySearch(usedList, wsId, true, true, "-"); return treeData.toString(); } diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/RepositoryTreeUtil.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/RepositoryTreeUtil.java index b9399c71..62d05ea7 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/RepositoryTreeUtil.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/util/RepositoryTreeUtil.java @@ -266,7 +266,6 @@ public class RepositoryTreeUtil { Collections.sort(list, new Comparator1()); for (PALRepositoryModel palModel : list) { - JSONObject palObject = new JSONObject(); palObject.put("id", palModel.getId()); palObject.put("name", palModel.getName()); @@ -414,5 +413,164 @@ public class RepositoryTreeUtil { return result; } } - + + /** + * 资产库搜索扩展 + * @param repositoryList + * @param wsId + * @param professionalIcon + * @param checkbox + * @param checkboxIds + * @return + */ + public static JSONArray list2treeBySearch(List repositoryList, String wsId, boolean professionalIcon, boolean checkbox, String checkboxIds) { + JSONArray jsonArray = new JSONArray(); + + Map repositoryMap = new HashMap(); + repositoryMap.put(wsId, new PALRepositoryModelImpl()); + if (repositoryList == null) { + return jsonArray; + } + for (PALRepositoryModel model : repositoryList) { + + repositoryMap.put(model.getVersionId(), model); + } + + List list = new ArrayList(); + for (PALRepositoryModel repository : repositoryList) { + if(repository.isPublish()){ + continue; + } + PALRepositoryModelImpl object = new PALRepositoryModelImpl(); + object.setId(repository.getId()); + object.setName(repository.getName()); + object.setLevel(repository.getLevel()); + object.setMethodCategory(repository.getMethodCategory()); + object.setMethodId(repository.getMethodId()); + object.setVersionId(repository.getVersionId()); + object.setVersion(repository.getVersion()); + object.setWsId(repository.getWsId()); + // 责任人和责任部门 + object.setDutyDept(repository.getDutyDept()); + object.setDutyUser(repository.getDutyUser()); + object.setParentId(repository.getParentId()); + + list.add(object); + } + Collections.sort(list, new Comparator1()); + + for (PALRepositoryModel palModel : list) { + JSONObject palObject = new JSONObject(); + palObject.put("id", palModel.getId()); + palObject.put("name", palModel.getName()); + palObject.put("pid", palModel.getParentId()); + palObject.put("versionId", palModel.getVersionId()); + palObject.put("version", VersionUtil.getVersionStr(palModel.getVersion())); + palObject.put("category", palModel.getMethodCategory()); + palObject.put("method", palModel.getMethodId()); + // 责任部门和责任人 + palObject.put("dutyDept", palModel.getDutyDept()); + palObject.put("dutyDeptName", ""); + if (!UtilString.isEmpty(palModel.getDutyDept())) { + DepartmentModel model = SDK.getORGAPI().getDepartmentById(palModel.getDutyDept()); + if (model != null) palObject.put("dutyDeptName", model.getName()); + } + palObject.put("dutyUser", palModel.getDutyUser()); + palObject.put("dutyUserName", ""); + if (!UtilString.isEmpty(palModel.getDutyUser())) { + UserModel model = SDK.getORGAPI().getUser(palModel.getDutyUser()); + if (model != null) palObject.put("dutyUserName", model.getUserName()); + } + if (false) { + palObject.put("icon", "../apps/" + CoEConstant.APP_ID + "/img/method/" + palModel.getMethodId() + "/16.png"); + if (palModel.getMethodId().contains("epc")) { + palObject.put("icon", "../apps/com.actionsoft.apps.coe.method.process.epc/img/method/" + palModel.getMethodId() + "/16.png"); + } + if (palModel.getMethodId().contains("flowchart")) { + palObject.put("icon", "../apps/com.actionsoft.apps.coe.method.process.flowchart/img/method/process.flowchart/16.png"); + } + } else { + if (palModel.getMethodId().equals("default")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#FFB718"); + palObject.put("iconFont", iconFont); + } else if (palModel.getMethodId().equals("process.epc")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#5882F9"); + palObject.put("iconFont", iconFont); + } else if (palModel.getMethodId().equals("process.bpmn2")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#5882F9"); + palObject.put("iconFont", iconFont); + } else if (palModel.getMethodId().equals("control.policy")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#349B53"); + palObject.put("iconFont", iconFont); + } else if (palModel.getMethodId().equals("process.flowchart")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#5882F9"); + palObject.put("iconFont", iconFont); + } else if (palModel.getMethodId().equals("process.evc")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#5882F9"); + palObject.put("iconFont", iconFont); + } else if (palModel.getMethodId().equals("data.form")) { + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#FFB718"); + palObject.put("iconFont", iconFont); + }else if(palModel.getMethodId().equals("process.framework")){ + JSONObject iconFont = new JSONObject(); + iconFont.put("code", ""); + iconFont.put("color", "#FFB718"); + palObject.put("iconFont", iconFont); + }else { + palObject.put("iconFont", ""); + } + + + + } + List children = PALRepositoryQueryAPIManager.getInstance().getUsedPalRepositoryModelsByPid(palModel.getWsId(), palModel.getId()); + if (children == null || children.size() == 0) { + palObject.put("isParent", false); + // String icon = palObject.getString("icon"); + // palObject.put("icon", icon.replace("16.png", "16.leaf.png")); + } else { + palObject.put("isParent", true); + palObject.put("open", false); + } + //流程文件是否为文件夹 + boolean isFolder = palModel.getMethodId().equals("default") ? true : false; + palObject.put("isFolder", isFolder); + + if (checkbox) { + if (checkboxIds != null && (checkboxIds.equals("-") || checkboxIds.contains(palModel.getId())) && !isFolder) { + palObject.put("nocheck", false); + palObject.put("isPublish", false); + } else { + palObject.put("nocheck", true); + palObject.put("isPublish", true); + } + //文件密级校验 + if (HighSecurityUtil.isON() && HighSecurityUtil.fileSecuritySwitch()){ + ResponseObject responseObject = new CoeProcessLevelWeb(DispatcherRequest.getUserContext()).checkFilePemission(palModel.getId()); + if (responseObject.isErr() && !isFolder){ + palObject.put("nocheck", true); + } + } + } + jsonArray.add(palObject); + } + + return jsonArray; + } + + }