From 18692464c2da254907aa8024443bee440b0ae247 Mon Sep 17 00:00:00 2001 From: "446052889@qq.com" <446052889@qq.com> Date: Tue, 25 Oct 2022 15:16:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E5=90=8E=E7=BD=AE=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91=EF=BC=8C=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=A7=A6=E5=8F=91=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=8E=A5=E5=8F=A3=E5=BD=A2=E7=8A=B6=E5=88=A0?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/com.actionsoft.apps.coe.pal.jar | Bin 1774247 -> 1776853 bytes .../repository/web/CoeProcessRecycleWeb.java | 143 +++++++++++++++++- 2 files changed, 137 insertions(+), 6 deletions(-) diff --git a/com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar b/com.actionsoft.apps.coe.pal/lib/com.actionsoft.apps.coe.pal.jar index b102beb0c03f93a0376c7f09a3199ea378f8e9f1..e186c384f346632f50a3df157879fd8dc5bdee13 100644 GIT binary patch delta 28793 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 delta 26184 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 z zHLTM+vga$$Pf1!);&Z*#-^;ABv4Z#Mef}w*wj?3#&?bZAn~f_6ilRe@mYz-*jttPf z2wp_3wEorbWR;x5d?7AJMImMXRQiRgjW1laj!!c8+?h8JE0URY?&;9to%-{Y%}qDo zS5uOkjK5%YQaNj{lSW3ch#PCeK?^R+aS7Mf^-Au$2S0A|KWY3u=IZO6YX;A>=rxB5 zJC&YYu&01hdoDj{;dgm^KWXEJ|xTTSmR_Py79m;%;rx;~m-) z>$Wej=v=pgxvz9zi|*FTPi2y6M*ZBh2AKo%K85U_zi_iSX}$TGl+04m;B|Z%A)92b zU9YTh_|enoaQLI$=+|nML}Qc0sl`QRc6Q5h^p$udNhc><=B5b^l@F&q&7F%n$W(G3 z7WKKme%U5{*0E|+f&|8lX8yMMD7xivf^UA<%(Gwb4;aOHxnmMMu%H@jESsNi$0 z$zto$gQo`1N_CjMwzi1!FrXh`UA(RT@~ZCVRSve7-Yx$s^O@da(cq(nHZgN zscINGa#s7;SO1R69Hx*DdwZTw7*g?$@Nc z+|%cWLL#PhNezi@D!Dzjq%1wbTO5ugdJ;pB;nI`X4xnQc9OY%{huHCt~aO zQNYi^SE%sX_o{Y_G>vYNE04$0T@GcczXk2@e$8nTtNl_pz`w7Gx5tWRR!WN&Zdn|v zmO}R9SsXb3&JUH1Z>+ikB;KxMw$@2*wq4zT9u7H}o#C;4LF=PycRMMCAw`W5h8J3f zlnPHec=;ShH%D%ei zX{Gh=R|MS;o-~`fxhUt#37s3m>TL_ZHEd8)-a2aUlzXZC@z%n5lGiQv7SHo~$!y<} zuKMQY-D8{+4A-|!@tyTd`$~Da4Ry>%XZf@}Z)SBf^i$$rJ&n+RR&-JN$Fi%9OySWg zyURB8F@?uA(UZ^GgpZ0be{c6*S<$(?;Ar}xG1Uf7xu2TdP7{Sl)vMZ%dKKw?oI{F1 zot|ky8X)=JZgkUkmHvXbuKS@kdm~ktZFUt0uI?RPk2Wq(qfy>kxK^Mw7aH`HBh<@I zkyi=#STB@nSuS?AVW>fl^PoB7sn4QQT|uPJoTtXjq%7wCOb*{8Wn{Br*cG+Bnp1B1 zAyGCgS+>zC{-Y1@(;m9KX|JAkq#(&5=Cd>o8DQdOcI*ZqBWTzCB2NiCPMSgVN*R6ltyOv9N(M7ve{2^yfd^_$Iy7^;ChcV5-I6YJQ+BLtE*5wOy z*4Q)0-nK0IJhJ~p*fnl}^S9G&A3V!^u~+3&s{yiuf%`OUEv@?n$Mq9zH{*AtsaHZT@_o8 zZH?P=#P_bc-n;CG^}%#!FKwN9JD#i%Wz+@aP@>zIbv9t$D>b8)uXpk7Ei&BoT4GPp zy|!;diUq~)23sR4V=A@=ZY{YT*A=(3N=G#P?xTkFHv(;a^_=ybTNOvm#4=TDhQ9PB zu6kH}c&*AiyKi4BE!wPFB@gMH85|n?|u{k3K9&_Wkkgol{(Q%Z>w5@0c4u^YRv|)@GX3_DUE#&WSu^uKiZQ z<<>!|kI}*0W{m9@VuTf$)Uf%b<&q(zGL?aj_ZJW&tG1?9`M(*z&Rz)H6| zyN4J2eS?iZ1&n-&8D5f=rv68AbfL*g<|okgV|?K#-&DwCgxA6&uEs2l6wJH4Ri!$0^E0pJ=k%Txzivh9Tlaq5_fw)XBk;RU zq3?!I`hB}8Uk#a`7WaACd_Cr>`&$DU5ghV;%HOx^&R657oBQ1EbWT3)H7q+E9I2-} zM1Cq}xYAJVaW}^+t3MlCpY`8b?I2gvq1Jz`wL!dQm-@1LnYGnhJKVGtj$eOc`9OQXDd)L>mQ#LQS#*Ki?=

-8*H=o;lK1 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 removeRelationIds = new ArrayList<>(); + Set rearSet = new HashSet<>();// 被删除文件作为后置流程的模型 + Set leadSet = new HashSet<>();// 被删除文件作为前置流程的模型 // 只判断relationShapeId为空,即关联了文件,因为存储的是versionId,判断是否有在用的其他version,没有直接删除,还有在用的其他版本,则保留此关系 List list1 = relationDao.query(null, null, null, model.getVersionId(), null); for (DesignerShapeRelationModel m1 : list1) { @@ -231,6 +235,12 @@ public class CoeProcessRecycleWeb extends ActionWeb { List list = PALRepositoryCache.getByVersionId(model.getVersionId()); if (list == null || list.size() == 0) { removeRelationIds.add(m1.getId()); + // 伊利前后置流程的数据处理 by sunlh 20221025 + if ("rear_process".equals(m1.getAttrId())) {// 后置流程 + rearSet.add(m1.getFileId()); + } else if ("lead_process".equals(m1.getAttrId())) {// 前置流程 + leadSet.add(m1.getFileId()); + } } } } @@ -249,6 +259,10 @@ public class CoeProcessRecycleWeb extends ActionWeb { if (list == null || list.size() == 0) { relationDao.deleteByRelationShapeId(model.getVersionId()); } + // 更新将该模型作为前后置流程相关模型 伊利 by sunlh 20221025 + updateLeadRearRepositoryDesigner(leadSet, "top", model); + updateLeadRearRepositoryDesigner(rearSet, "bottom", model); + // 删除文件特殊属性 PALRepositorySpecialPropertyDao dao1 = new PALRepositorySpecialPropertyDao(); dao1.deleteByPlId(model.getId()); @@ -297,6 +311,123 @@ public class CoeProcessRecycleWeb extends ActionWeb { } } + /** + * 更新将该模型作为前后置流程相关模型 伊利 by sunlh 20221025 + */ + private void updateLeadRearRepositoryDesigner(Set set, String position, PALRepositoryModel removeModel) { + for (String uuid : set) { + PALRepositoryModel model = PALRepositoryCache.getCache().get(uuid); + if (model != null) { + String define = PALRepositoryQueryAPIManager.getInstance().getProcessDefinition(_uc, uuid); + try { + boolean update = false; + JSONObject definition = JSONObject.parseObject(define); + JSONObject elements = definition.getJSONObject("elements"); + JSONArray procedureShapeArr= getProcedureShapeArr(elements); + for (int i = 0; i < procedureShapeArr.size(); i++) { + JSONObject shape = procedureShapeArr.getJSONObject(i); + if (matchProcedureObj(shape, removeModel.getVersionId(), removeModel.getName(), position)) { + update = true; + String id = shape.getString("id"); + elements.getJSONObject(id).put("text", shape.getString("shapeText") + "(已删除)"); + elements.getJSONObject(id).remove("attrMark"); + } + } + if (update) { + // 保存 + BaseModel defineModel = CoeDesignerAPIManager.getInstance().getDefinition(uuid, 0); + if (defineModel == null) { + defineModel = CoeDesignerUtil.createModel(uuid, 0); + defineModel.setCreateHistory(false); + } + definition.put("elements", elements); + defineModel.setDefinition(definition.toString()); + defineModel.setUpdateTime(new SimpleDateFormat(CoeDesignerConstant.DATE_TIME_STYLE_YYYY_MM_DD_HH_MM_SS).format(new Date())); + // 保存文件 + CoeDesignerAPIManager.getInstance().storeDefinition(defineModel);// dao操作 + // 记录操作行为日志 + if (SDK.getAppAPI().getPropertyBooleanValue(CoEConstant.APP_ID, "IS_RECORD_OP_LOG", false)) { + CoEOpLogAPI.auditOkOp(_uc, CoEOpLogConst.MODULE_CATEGORY_REPOSITORY, CoEOpLogConst.OP_UPDATE, CoEOpLogConst.INFO_REPOSITORY_DESIGNER_UPDATE + ",文件属性["+ ("top".equals(position) ? "前置" : "后置") +"流程]被删除触发流程接口形状更新"); + SDK.getLogAPI().consoleInfo("[成功][" + removeModel.getName() + "]被删除,文件属性["+ ("top".equals(position) ? "前置" : "后置") +"流程]被删除触发流程[" + model.getName() + "][" + model.getId() + "]流程接口形状更新,流程接口形状增加已删除标记"); + } + } + } catch (Exception e) { + e.printStackTrace(); + SDK.getLogAPI().consoleErr("模型["+ model.getName() +"][" + model.getId() + "]模型文件转换JSON异常"); + continue; + } + } + } + + } + + private boolean matchProcedureObj(JSONObject shape, String versionId, String name, String position) { + if (shape.containsKey("attrMark") && shape.getJSONObject("attrMark") != null) { + return versionId.equals(shape.getJSONObject("attrMark").getString("versionId")); + } else { + if ("top".equals(position)) {// 前置,多出线,零入线且名称匹配 + if (shape.getJSONArray("fromLinkerArr").size() > 0 && shape.getJSONArray("toLinkerArr").size() == 0 && shape.getString("shapeText").equals(name)) { + return true; + } + } else if ("bottom".equals(position)) {// 后置,多入线,零出线且名称匹配 + if (shape.getJSONArray("toLinkerArr").size() > 0 && shape.getJSONArray("fromLinkerArr").size() == 0 && shape.getString("shapeText").equals(name)) { + return true; + } + } + } + return false; + } + + private JSONArray getProcedureShapeArr(JSONObject elements) { + JSONArray result = new JSONArray(); + Iterator it = elements.keySet().iterator(); + while (it.hasNext()) { + String key = it.next(); + JSONObject shape = elements.getJSONObject(key); + String name = shape.getString("name"); + if ("procedure".equals(name)) {// 流程接口 + JSONObject obj = new JSONObject(); + String shapeText = shape.getString("text"); + JSONArray fromLinkerArr = new JSONArray(); + JSONArray toLinkerArr = new JSONArray(); + JSONObject attrMark = shape.getJSONObject("attrMark"); + obj.put("id", key); + obj.put("shapeText", shapeText); + obj.put("fromLinkerArr", fromLinkerArr); + obj.put("toLinkerArr", toLinkerArr); + obj.put("attrMark", attrMark); + getInterfaceShapeLink(obj, elements); + result.add(obj); + } + } + return result; + } + + private void getInterfaceShapeLink(JSONObject obj, JSONObject elements) { + Iterator it = elements.keySet().iterator(); + while (it.hasNext()) { + String key = it.next(); + JSONObject shape = elements.getJSONObject(key); + String name = shape.getString("name"); + if ("linker".equals(name)) {// 连线 + // 出线 + JSONObject from = shape.getJSONObject("from"); + // 入线 + JSONObject to = shape.getJSONObject("to"); + if (from != null && to != null) { + String fromId = from.getString("id"); + String toId = to.getString("id"); + if (obj.getString("id").equals(fromId)) { + obj.getJSONArray("fromLinkerArr").add(key); + } + if (obj.getString("id").equals(toId)) { + obj.getJSONArray("toLinkerArr").add(key); + } + } + } + } + } + /** * 清空回收站 *