权限申请流程,审批人配置

This commit is contained in:
yujh 2024-07-19 18:08:46 +08:00
parent dda8cd06e9
commit 3ffd63607f
3 changed files with 66 additions and 1 deletions

View File

@ -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(), "根据表单部门查找流程校对人", "根据表单部门查找流程校对人"));

View File

@ -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<DepartmentModel> subDepartments = orgapi.getSubDepartments(deptId);
if(!subDepartments.isEmpty()){
for (DepartmentModel subDepartment : subDepartments) {
getPublisher(orgapi,subDepartment.getId(),resultUser);
}
}
}
}

View File

@ -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 " +