From 4c6181dd8bc2d85ba0569baac7294f95c840bc72 Mon Sep 17 00:00:00 2001 From: yujh Date: Thu, 13 Jun 2024 16:12:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E6=B5=81=E7=A8=8B=E5=BD=92?= =?UTF-8?q?=E6=A1=A3=E4=BA=8B=E4=BB=B6=EF=BC=8C=E5=90=8C=E6=AD=A5=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=88=96=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/AddFilePermTaskEndEvent.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/AddFilePermTaskEndEvent.java diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/AddFilePermTaskEndEvent.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/AddFilePermTaskEndEvent.java new file mode 100644 index 00000000..c6b30052 --- /dev/null +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/event/AddFilePermTaskEndEvent.java @@ -0,0 +1,50 @@ +package com.actionsoft.apps.coe.pal.publisher.event; + +import com.actionsoft.apps.coe.pal.publisher.constant.FilePermConstant; +import com.actionsoft.bpms.bo.engine.BO; +import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext; +import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListener; +import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListenerInterface; +import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance; +import com.actionsoft.bpms.util.UUIDGener; +import com.actionsoft.sdk.local.SDK; + +/** + * 申请权限流程,归档结束后,增加权限 + */ +public class AddFilePermTaskEndEvent extends ExecuteListener implements ExecuteListenerInterface { + public String getDescription() { + return "申请权限流程,归档结束后,增加权限"; + } + @Override + public void execute(ProcessExecutionContext ctx) throws Exception { + BO bo = ctx.getBO(FilePermConstant.BO_ACT_FILE_PERM); + createOrUpdatePublishScope(ctx,bo); + } + public void createOrUpdatePublishScope(ProcessExecutionContext ctx,BO sourceBo) throws Exception { + String sendScope = "0"; + String wsId = "7d3ca852-a0bd-42e6-80b1-3dcea6f55083"; + //先查询有没有记录,有则更新,无则新增 + String applyfiles = sourceBo.getString("APPLYFILES"); + BO oldBo = SDK.getBOAPI().query(FilePermConstant.BO_ACT_PUBLISH_PERM_SCOPE).addQuery("PALVERSIONID=", applyfiles).detail(); + if(oldBo==null){ + BO bo = new BO(); + bo.set("PERMID", UUIDGener.getUUID()); + bo.set("WSID", wsId); + bo.set("PALVERSIONID", sourceBo.getString("APPLYFILES")); + bo.set("PALNAME", sourceBo.getString("APPLYFILENAMES")); + bo.set("PERMTYPE", sendScope); + bo.set("ORGPERM", ctx.getUserContext().getDepartmentModel().getId()); + //存储发布流程的流程实例ID,与权限阅览数据视图做关联 + ProcessInstance boProcessInstance = SDK.getProcessAPI() + .createBOProcessInstance("obj_e076b01bd0d04bc39e5af12e2c8c188c", ctx.getUserContext().getUID(), "权限阅览"); + SDK.getBOAPI().create(FilePermConstant.BO_ACT_PUBLISH_PERM_SCOPE, bo, boProcessInstance.getId(), ctx.getUserContext().getUID()); + }else{ + String orgPerm = oldBo.getString("ORGPERM"); + orgPerm +=","+ctx.getUserContext().getDepartmentModel().getId(); + oldBo.set("ORGPERM",orgPerm); + SDK.getBOAPI().update(FilePermConstant.BO_ACT_PUBLISH_PERM_SCOPE,oldBo); + } + + } +}