diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/Plugins.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/Plugins.java index 0fff512c..b525e26c 100644 --- a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/Plugins.java +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/Plugins.java @@ -150,6 +150,8 @@ public class Plugins implements PluginListener { // 注册AT公式 list.add(new AtFormulaPluginProfile("根据发布部门返回应发送发布人员账号", "@SendPublishMessage(*depName)", SendPublisherMessageAt.class.getName(), "返回发送发布人员账号", "返回发送发布人员账号")); + list.add(new AtFormulaPluginProfile("根据流程填写情况获取文件发布部门文件管理员", "@GetPublisherAdminAt(*applyType,*applyMothod,*publishDept)", GetPublisherAdminAt.class.getName(), "返回发布部门文件管理员账号", "返回发布部门文件管理员账号")); + list.add(new AtFormulaPluginProfile("根据发布人部门获取角色账号", "@getRole(*orgdepart)", getRoleAt.class.getName(), "根据发布人部门获取角色账号", "根据发布人部门获取角色账号")); list.add(new AtFormulaPluginProfile("根据表单部门查找流程校对人", "@FindProcessAndProofreader(*orgdepart)", FindProcessAndProofreaderAt.class.getName(), "根据表单部门查找流程校对人", "根据表单部门查找流程校对人")); diff --git a/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/at/GetPublisherAdminAt.java b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/at/GetPublisherAdminAt.java new file mode 100644 index 00000000..424a0231 --- /dev/null +++ b/com.actionsoft.apps.coe.pal.publisher/src/com/actionsoft/apps/coe/pal/publisher/at/GetPublisherAdminAt.java @@ -0,0 +1,63 @@ +package com.actionsoft.apps.coe.pal.publisher.at; + +import com.actionsoft.bpms.commons.at.AbstExpression; +import com.actionsoft.bpms.commons.at.ExpressionContext; +import com.actionsoft.bpms.org.cache.DepartmentCache; +import com.actionsoft.bpms.org.model.DepartmentModel; +import com.actionsoft.bpms.util.DBSql; +import com.actionsoft.exception.AWSExpressionException; +import com.actionsoft.sdk.local.SDK; +import com.actionsoft.sdk.local.api.ORGAPI; +import java.util.List; +public class GetPublisherAdminAt extends AbstExpression { + + + public GetPublisherAdminAt(ExpressionContext atContext, String expressionValue) { + super(atContext, expressionValue); + } + + @Override + public String execute(String expression){ + // 获取发送部门 + String applyType = getParameter(expression, 1);//申请类型 + String applyMothod = getParameter(expression, 2);//批量申请方式 + String publishDept = getParameter(expression, 3);//批量申请部门 + String dyPublishDept = getParameter(expression, 4);//单一申请部门 + StringBuilder resultUser=new StringBuilder(); + ORGAPI orgapi = SDK.getORGAPI(); + if(applyType.equals("单一权限申请")){ + String[] deptIds = dyPublishDept.split(","); + for (String deptId : deptIds) { + getPublisher(orgapi,deptId,resultUser); + } + }else if(applyType.equals("批量权限申请")){ + if(applyMothod.equals("按流程架构申请")){ + resultUser.append("10036614 00116580");//默认芦娟和付仪伟 + }else if(applyMothod.equals("按发布部门申请")){ + String[] deptIds = publishDept.split(","); + for (String deptId : deptIds) { + getPublisher(orgapi,deptId,resultUser); + } + } + } + return resultUser.toString(); + } + + public void getPublisher(ORGAPI orgapi,String deptId,StringBuilder resultUser){ + DepartmentModel model = orgapi.getDepartmentById(deptId); + String querySql = ""; + if(SDK.getConfAPI().isOracle()){ + querySql = " SELECT DEAPRTMNUM || ' ' || PROCESSMNUMBER AS PROCESSNUMBER FROM BO_ACT_PROCESSMANAGER WHERE ORGDEPART = ?"; + }else{ + querySql = " SELECT CONCAT(DEAPRTMNUM, ' ', PROCESSMNUMBER) AS PROCESSNUMBER FROM BO_ACT_PROCESSMANAGER WHERE ORGDEPART = ?"; + } + String result = DBSql.getString(querySql, new Object[]{model.getName()}); + resultUser.append(" ").append(result); + List subDepartments = orgapi.getSubDepartments(deptId); + if(!subDepartments.isEmpty()){ + for (DepartmentModel subDepartment : subDepartments) { + getPublisher(orgapi,subDepartment.getId(),resultUser); + } + } + } +} 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 41888c00..ed512a31 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 @@ -5109,7 +5109,7 @@ public class ProcessPublishWeb extends ActionWeb { " AND a.MODIFYUSER = ?" + " AND a.PLMETHODID !='default'" + " ORDER BY MODIFYDATE DESC"; - }else if(type.equals("change")){ + }else if(type.equals("stop")){ querySql = "SELECT a.* " + "FROM APP_ACT_COE_PAL_REPOSITORY a " + "WHERE a.isPublish = 1 " +