From 0a4f49e0cac295fc662626c8f132f385795c1657 Mon Sep 17 00:00:00 2001 From: zhal <15900249928@163.com> Date: Sat, 23 Jul 2022 15:18:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=82=B9=E5=87=BB=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apps/coe/pal/CoEPALController.java | 4 +- .../PALRepositoryQueryAPIManager.java | 153 +++++++++++++++++- .../web/DesignerRelationShapeWeb.java | 16 +- .../repository/web/CoeProcessLevelWeb.java | 7 +- ...sitory.designer.view.portal.framework.html | 63 ++++---- .../com.actionsoft.apps.coe.pal/action.xml | 2 + 6 files changed, 204 insertions(+), 41 deletions(-) diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/CoEPALController.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/CoEPALController.java index 9bd883c6..7d4fcda4 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/CoEPALController.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/CoEPALController.java @@ -1452,9 +1452,9 @@ public class CoEPALController { // @Mapping("COE_PAL_PL_RESPOSITORY_DESIGNER_SHAPES_TREE_NODE") @Mapping("com.actionsoft.apps.coe.pal_pl_repository_designer_shapes_tree_node") - public String COEPALRepositoryDesignerRelevanceShapesTreeDate(UserContext me, String wsId, String pid) { + public String COEPALRepositoryDesignerRelevanceShapesTreeDate(UserContext me, String wsId, String pid,String attrId,String ruuid) { DesignerRelationShapeWeb web = new DesignerRelationShapeWeb(me); - return web.getTreeJson(wsId, pid); + return web.getTreeJson(wsId, pid,attrId,ruuid); } // @Mapping("COE_PAL_PL_RESPOSITORY_DESIGNER_PROCESS_MODELS_TREE_NODE") diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java index dee8d981..95b1d7ef 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/PALRepositoryQueryAPIManager.java @@ -32,6 +32,7 @@ import com.actionsoft.bpms.bpmn.modeler.constant.BPMNFileConstant; import com.actionsoft.bpms.bpmn.modeler.io.BPMNIO; import com.actionsoft.bpms.bpmn.modeler.util.BPMNFileUtil; import com.actionsoft.bpms.commons.cache.Cache; +import com.actionsoft.bpms.commons.database.RowMap; import com.actionsoft.bpms.commons.htmlframework.AlertWindow; import com.actionsoft.bpms.commons.login.constant.LoginConst; import com.actionsoft.bpms.commons.mvc.view.ResponseObject; @@ -46,10 +47,7 @@ import com.actionsoft.bpms.server.UserContext; import com.actionsoft.bpms.server.fs.DCContext; import com.actionsoft.bpms.server.fs.dc.DCProfileManager; import com.actionsoft.bpms.server.fs.dc.DCUtil; -import com.actionsoft.bpms.util.Base64; -import com.actionsoft.bpms.util.UUIDGener; -import com.actionsoft.bpms.util.UtilFile; -import com.actionsoft.bpms.util.UtilString; +import com.actionsoft.bpms.util.*; import com.actionsoft.apps.coe.pal.constant.CoEConstant; import com.actionsoft.apps.coe.pal.pal.manage.publish.dao.PublishFrequencyDao; import com.actionsoft.apps.coe.pal.pal.manage.publish.dao.PublishListHistory; @@ -1253,6 +1251,7 @@ public class PALRepositoryQueryAPIManager { jsonObject.put("open", i == 1); jsonObject.put("plCategory", method); + result.add(jsonObject); if ("isUsed".equals(type)) { result.addAll(getUsedPalRepositoryTreeDataByPid(context, wsId, method)); @@ -1343,6 +1342,23 @@ public class PALRepositoryQueryAPIManager { } + /** + * + * @param context + * @param wsId + * @param pid + * @param uuid + * @return + */ + public JSONArray getUsedPalRepositoryTreeDataByPidAnduuid(UserContext context, String wsId, String pid,String attrId,String uuid) { + List list = getUsedPalRepositoryModelsByPid(wsId, pid); // 根据父节点Id获取使用中的子节点 + Collections.sort(list, new Comparator1()); // 按级别排序 + JSONArray result = list2JsonByuuid(context, list, true, false,attrId,uuid); + return result; + } + + + /**************************************************** 获取流程树 **********************************************************/ /** @@ -1426,7 +1442,7 @@ public class PALRepositoryQueryAPIManager { * @param type * @return */ - public JSONArray getPermPalRepositoryTreeDataByUser(UserContext context, String wsId, String teamId, String type) { + public JSONArray getPermPalRepositoryTreeDataByUser(UserContext context, String wsId, String teamId, String type,String uuid) { JSONArray result = new JSONArray(); List list = null; @@ -1678,6 +1694,7 @@ public class PALRepositoryQueryAPIManager { private JSONArray list2Json(UserContext context, List list, boolean isUsed, boolean isPublished, String removeIds, String param) { JSONArray jsonArray = new JSONArray(); for (PALRepositoryModel model : list) { + JSONObject object = new JSONObject(); object.put("id", model.getId().trim()); object.put("pid", model.getNewParentId().trim()); @@ -1769,6 +1786,130 @@ public class PALRepositoryQueryAPIManager { return jsonArray; } + + + /*********************************************************************重写通过流程model列表,获取流程树的json数组***by zhaolei*****************************************************/ + + /** + * 通过流程model列表,获取流程树的json数组 + * + * @param context + * @param list + * @return + */ + public JSONArray list2JsonByuuid(UserContext context, List list, boolean isUsed, boolean isPublished,String attrId,String uuid) { + return list2JsonByuuid(context, list, isUsed, isPublished, null, null,attrId,uuid); + } + + private JSONArray list2JsonByuuid(UserContext context, List list, boolean isUsed, boolean isPublished, String removeIds, String param,String attrId,String uuid) { + JSONArray jsonArray = new JSONArray(); + for (PALRepositoryModel model : list) { + + if(model.getMethodId().equals("control.kpi") || model.getMethodId().equals("org.role") ){ + List data=new ArrayList(); + data.add(0,model.getMethodId()); + data.add(1,uuid); + + RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?",model.getId(),data.toString()); + if (rowMap != null) { + JSONObject object = new JSONObject(); + object.put("id", model.getId().trim()); + object.put("pid", model.getNewParentId().trim()); + if (removeIds != null && removeIds.contains(model.getId().trim())) { + object.put("nocheck", true); + } else { + object.put("nocheck", false); + } + object.put("plNo", CoeProcessLevelUtil.getProcessLevelNoByUUId(model.getId(), model.getWsId()).trim()); + object.put("name", I18nRes.findValue(CoEConstant.APP_ID, context.getLanguage(), model.getName()).trim()); + object.put("wsId", model.getWsId()); + PALMethodModel methodModel = PALMethodCache.getPALMethodModelById(model.getMethodId()); + if (methodModel == null || methodModel.isFolder()) {// 没有该建模方法或者是文件夹类 + object.put("title", object.get("name")); + } else { + object.put("title", object.get("name") + " " + VersionUtil.getVersionStrV(model.getVersion()).trim()); + } + //三员管理文件密级校验 + if (HighSecurityUtil.isON() && HighSecurityUtil.fileSecuritySwitch()){ + ResponseObject responseObject = new CoeProcessLevelWeb(DispatcherRequest.getUserContext()).checkFilePemission(model.getId()); + if (responseObject.isErr() && (methodModel != null && !methodModel.isFolder())){ + object.put("nocheck", true); + } + } + object.put("drop", false); + object.put("isSystemFile", model.isSystemFile()); + object.put("plMethodId", model.getMethodId().trim()); + if (methodModel == null || methodModel.isFolder()) {// 没有该建模方法或者是文件夹类 + object.put("iconFont", ""); + } else { + object.put("iconFont", ""); + } + List children = null; + if (isUsed) { + children = getUsedPalRepositoryModelsByPid(model.getWsId(), model.getId()); + if (param != null && "designer".equals(param) && children != null && children.size() > 0) {// 过滤掉发布版本 + List tempChildren = new ArrayList<>(); + for (PALRepositoryModel model2 : children) { + if (!model2.isPublish()) { + tempChildren.add(model2); + } + } + children = tempChildren; + } + } else if (isPublished) { + children = getPublishedPalRepositoryModelsByPid(model.getWsId(), model.getId()); + } + if (children == null || children.size() == 0) { + object.put("isParent", false); + //String icon = object.getString("icon"); + object.put("leaf", true);// 叶子节点 + // object.put("icon", icon.replace("16.png", "16.leaf.png")); + } else { + object.put("isParent", true); + object.put("open", false); + } + + object.put("plLevel", model.getLevel()); + object.put("plOrdexIndex", model.getOrderIndex()); + object.put("plDiagramUrl", model.getDiagramUrl()); + object.put("isDrops", model.isSystemFile()); + object.put("isPublish", model.isPublish()); + object.put("isStop", model.isStop()); + object.put("isApproval", model.isApproval()); + object.put("ext1", model.getExt1()); + object.put("ext2", model.getExt2()); + object.put("ext3", model.getExt3()); + object.put("ext4", model.getExt4()); + object.put("isUse", model.isUse()); + object.put("url", "./w?sid=" + context.getSessionId() + "&cmd=com.actionsoft.apps.coe.pal_pl_repository_portal_page&ruuid=" + model.getId() + "&type=1&wsid=" + model.getWsId()); + object.put("plCategory", model.getMethodCategory()); + object.put("versionId", model.getVersionId()); + object.put("orderIndex", model.getOrderIndex()); + object.put("isBottomLevel", model.isBottomLevel()); + String dutyDeptId = model.getDutyDept(); + object.put("dutyDeptId", dutyDeptId == null ? "" : dutyDeptId); + String plDutyDeptName = dutyDeptId; + if (!UtilString.isEmpty(dutyDeptId)) { + if (SDK.getORGAPI().getDepartmentById(dutyDeptId) != null) { + plDutyDeptName = SDK.getORGAPI().getDepartmentById(dutyDeptId).getName(); + } + } + object.put("dutyDeptName", UtilString.isEmpty(dutyDeptId) ? "" : plDutyDeptName); + String plDutyPerson = model.getDutyUser(); + object.put("dutyPersonId", model.getDutyUser() == null ? "" : model.getDutyUser()); + object.put("dutyPersionName", UtilString.isEmpty(plDutyPerson) ? "" : SDK.getORGAPI().getUserAliasNames(plDutyPerson)); + jsonArray.add(object); + } + } + + + } + return jsonArray; + } + + + /*******************************************************************************************************************************************/ + /** * 对于不完整的流程树(有权限限制等),重新设置父节点Id * @@ -1998,7 +2139,7 @@ public class PALRepositoryQueryAPIManager { * @param pid * @return */ - public String getPublishProcessIsVisibleModelList(UserContext context, String wsId, String pid) { + public String getPublishProcessIsVisibleModelList(UserContext context, String wsId, String pid,String uuid) { List subPublishList = getPublishedPalRepositoryModelsByPid(wsId, pid);// 发布的子流程 List subUseList = getUsedPalRepositoryModelsByPid(wsId, pid);// 使用中的子流程 List list = new ArrayList(); // 获取所有子流程 diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java index 98936f61..87c96193 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/designer/relation/web/DesignerRelationShapeWeb.java @@ -767,8 +767,12 @@ public class DesignerRelationShapeWeb extends ActionWeb { JSONObject jsonObject = objects.getJSONObject(i); String url = jsonObject.getString("url"); String id = jsonObject.getString("id"); + if (UtilString.isNotEmpty(url)) { - RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?", id, ruuid); + List data=new ArrayList(); + data.add(0,jsonObject.getString("plMethodId")); + data.add(1,ruuid); + RowMap rowMap = DBSql.getMap("SELECT EXT2 FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID=? AND EXT2=?", id, data.toString()); if (rowMap != null) { jsonArr_new.add(objects.getJSONObject(i)); } @@ -1070,8 +1074,14 @@ public class DesignerRelationShapeWeb extends ActionWeb { * @param pid * @return */ - public String getTreeJson(String wsId, String pid) { - JSONArray list = PALRepositoryQueryAPIManager.getInstance().getUsedPalRepositoryTreeDataByPid(_uc, wsId, pid); + public String getTreeJson(String wsId, String pid,String attrId,String uuid) { + JSONArray list; + if(attrId.equals("Process_performance_metrics")){ + list= PALRepositoryQueryAPIManager.getInstance().getUsedPalRepositoryTreeDataByPidAnduuid(_uc, wsId,pid,attrId,uuid); + }else{ + list= PALRepositoryQueryAPIManager.getInstance().getUsedPalRepositoryTreeDataByPid(_uc, wsId, pid); + } + JSONArray result = new JSONArray(); for (int i = 0; i < list.size(); i++) { JSONObject node = list.getJSONObject(i); 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 2f4b63c6..11353e77 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 @@ -8178,8 +8178,6 @@ public class CoeProcessLevelWeb extends ActionWeb { // } } - System.out.println("modelId====================="+model.getId()); - // 保存文件属性 PALRepositoryAPIManager.getInstance().updateRepositoryProperty(model.getId()); @@ -8384,12 +8382,15 @@ public class CoeProcessLevelWeb extends ActionWeb { String plRid = UUIDGener.getUUID(); String id = UUIDGener.getUUID(); + List data=new ArrayList(); + data.add(0,methodId); + data.add(1,uuid); Timestamp nowTime = new Timestamp(System.currentTimeMillis()); PALRepositoryModelImpl model = CoeProcessLevelUtil.createPALRepositoryModel(id, plRid, wsId, plname + titleName, "", 1, parentId, category, true, 1, id, false, methodId, "0", 1, null, - null, "admin", "admin", nowTime, null, uuid, + null, "admin", "admin", nowTime, null, data.toString(), null, null, null, null, null, null, null, 1); coeProcessLevel.insert(model); diff --git a/com.actionsoft.apps.coe.pal/template/page/pal.pl.repository.designer.view.portal.framework.html b/com.actionsoft.apps.coe.pal/template/page/pal.pl.repository.designer.view.portal.framework.html index 7daab501..93afb52f 100644 --- a/com.actionsoft.apps.coe.pal/template/page/pal.pl.repository.designer.view.portal.framework.html +++ b/com.actionsoft.apps.coe.pal/template/page/pal.pl.repository.designer.view.portal.framework.html @@ -621,12 +621,7 @@ } } } - /* var output = initOutputFileLink(); - if (output != 0) { - output = 40; - } else { - output = 0; - }*/ + $(window).trigger('resize'); var newHeight = $(window).height() - $('#toolbarName').height() - $('#newadd_tools').height() - 41 - 0; // $('.newadd_portalAttr').height(newHeight-100); @@ -716,20 +711,16 @@ -
+
@@ -902,7 +911,7 @@
- + -
+ + <!– Graphic Dock Window –>
-
+ --> --->