From a75e92ea73cd71cd681696504f569bc3cb410f24 Mon Sep 17 00:00:00 2001 From: Mr-wang Date: Tue, 15 Aug 2023 15:28:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=A8=A1=E5=9E=8B=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E5=8F=91=E5=B8=83=E7=9F=A5=E8=AF=86,=E5=9B=9E?= =?UTF-8?q?=E6=94=B6=E7=AB=99=E6=81=A2=E5=A4=8D=E6=A8=A1=E5=9E=8B=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=87=8D=E6=96=B0=E5=8F=91=E5=B8=83=E7=9F=A5=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/web/CoeProcessLevelWeb.java | 28 ++++++++ .../repository/web/CoeProcessRecycleWeb.java | 70 +++++++++++++++++-- 2 files changed, 92 insertions(+), 6 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 af47a68c..df617888 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 @@ -27,6 +27,7 @@ import com.actionsoft.bpms.bpmn.constant.ProcessDefinitionConst; import com.actionsoft.bpms.bpmn.engine.cache.ProcessDefCache; import com.actionsoft.bpms.bpmn.engine.cache.util.ProcessDefUtil; import com.actionsoft.bpms.bpmn.engine.cache.util.ProcessDefVersionUtil; +import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext; import com.actionsoft.bpms.bpmn.engine.model.def.ProcessDefinition; import com.actionsoft.bpms.bpmn.modeler.io.BPMNIO; import com.actionsoft.bpms.commons.cache.Cache; @@ -11443,6 +11444,10 @@ public String deleteReply(String replyid, String messageid) { if(model.isPublish()&&!"admin".equals(_uc.getUID())) { return ResponseObject.newErrResponse("已发布文件不允许删除,请联系系统管理员!").toString(); } + if (model.isPublish()&&"admin".equals(_uc.getUID())){ + CancelPublishKnwl("com.actionsoft.apps.coe.pal",_uc.getSessionId(),model.getExt4()); + } + String result = removeTreeNode(repositoryId, wsId); JSONObject moveRo = JSONObject.parseObject(result); if (!"ok".equals(moveRo.getString("result"))) { @@ -11864,6 +11869,29 @@ public String deleteReply(String replyid, String messageid) { return ro.toString(); } + /** + * 模型文件删除后,取消发布知识库中的知识文件 + * @param processExecutionContext + * @param sid + * @param knwlId + * @return + */ + public boolean CancelPublishKnwl(String sourceAppId, String sid, String knwlId) { + // aslp服务地址 + String aslp = "aslp://com.actionsoft.apps.kms/CancelPublishKnwl"; + // 参数定义列表 + Map params = new HashMap(); + // sid,如果为空,则需要传createUser参数,非必填 + params.put("sid", sid); + // 知识ID,必填 + params.put("knwlId", knwlId); + AppAPI appAPI = SDK.getAppAPI(); + // 取消发布知识(全部维度) + ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params); + System.out.println("取消发布的ro=====>>>>" + ro); + return ro.isOk(); + } + /** * 校验当前用户是否有查看流程文件的权限 * @param uuid diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessRecycleWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessRecycleWeb.java index 91f509eb..1f7656a9 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessRecycleWeb.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessRecycleWeb.java @@ -24,13 +24,13 @@ import com.actionsoft.apps.coe.pal.pal.repository.designer.relation.model.Design import com.actionsoft.apps.coe.pal.pal.repository.designer.util.CoeDesignerUtil; import com.actionsoft.apps.coe.pal.system.logger.CoeLogger; import com.actionsoft.apps.lifecycle.api.AppsAPIManager; +import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext; +import com.actionsoft.bpms.commons.database.RowMap; import com.actionsoft.bpms.commons.htmlframework.HtmlPageTemplate; import com.actionsoft.bpms.commons.mvc.view.ActionWeb; import com.actionsoft.bpms.commons.mvc.view.ResponseObject; import com.actionsoft.bpms.server.UserContext; -import com.actionsoft.bpms.util.UUIDGener; -import com.actionsoft.bpms.util.UtilDate; -import com.actionsoft.bpms.util.UtilFile; +import com.actionsoft.bpms.util.*; import com.actionsoft.apps.coe.pal.pal.repository.cache.CoeProcessLevelNoCache; import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryCache; import com.actionsoft.apps.coe.pal.pal.repository.cache.PALRepositoryRemoveCache; @@ -55,8 +55,8 @@ import com.actionsoft.apps.coe.pal.pal.ws.dao.CoeWorkSpaceDaoFactory; import com.actionsoft.apps.coe.pal.pal.ws.model.CoeWorkSpaceModel; import com.actionsoft.apps.coe.pal.system.property.CoePropertyUtil; import com.actionsoft.apps.coe.pal.teamwork.dao.TeamPerm; -import com.actionsoft.bpms.util.UtilString; import com.actionsoft.sdk.local.SDK; +import com.actionsoft.sdk.local.api.AppAPI; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -560,7 +560,9 @@ public class CoeProcessRecycleWeb extends ActionWeb { PALRepositoryRemoveCache.getCache().put(model.getId(), model); } } - + if (model.isPublish()){ + PublishKnow("com.actionsoft.apps.coe.pal",_uc,model.getExt4()); + } } //如果流程库中已经存在该模型,说明其子文件还原时创建过模型,需要替换流程库中的模型 @@ -621,7 +623,63 @@ public class CoeProcessRecycleWeb extends ActionWeb { ro.put("totalNum", totalNum); return ro.toString(); } - + + + /** + * 发布知识 + * + * @param processExecutionContext + * @param userContext + * @param id + */ + public void PublishKnow(String sourceAppId, UserContext userContext, String id) { + + String sql = "select EXT4 from APP_ACT_COE_PAL_REPOSITORY where id in (select PLPARENTID from APP_ACT_COE_PAL_REPOSITORY where EXT4 = '" + + id + "')"; + List maps = DBSql.getMaps(sql); + String ids = ""; + for (RowMap rowmap : maps) { + ids += rowmap.getString("EXT4") + ","; + } + String[] deptSplit_id = ids.split(","); + + JSONArray jsonArray = new JSONArray(); + for (String id_names : deptSplit_id) { + jsonArray.add(id_names); + } + // jsonObject.put(deptSplit_id); + id += ","; + String[] deptSplit_das = id.split(","); + JSONArray jsonArray_das = new JSONArray(); + for (String das : deptSplit_das) { + jsonArray_das.add(das); + } + // jsonObject.put(deptSplit_id); + + if (!jsonArray_das.isEmpty() && !jsonArray.isEmpty()) { + + // aslp服务地址 + String aslp = "aslp://com.actionsoft.apps.kms/PublishKnwl"; + // 参数定义列表 + Map params = new HashMap(); + // 要发布到的维度ID的JSON数组字符串,必填 + params.put("dimensionIDArray", jsonArray.toString()); + // 要发布的知识ID的JSON数组字符串,必填 + params.put("knwlIDArray", jsonArray_das.toString()); + // 标签的JSON数组字符串,非必填 + + // sid,必填 + params.put("sid", userContext.getSessionId()); + AppAPI appAPI = SDK.getAppAPI(); + // 发布知识 + ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params); + + System.out.println("知识发布============" + ro); + + } + + } + /** * 按照父子节点排序 * 防止后续遍历操作先遍历出子节点后出现父节点造成数据错误