普元EOS7.x流程环节中切入动态设置参与者规则的解决方法
普元EOS产品中,嵌入BPS流程服务,可以方便地进行流程开发,但美中不足的是BPS没有提供动态设置环节参与者的接口。在本文中,以流程环节互斥为案例说明如何在BPS中动态切入自定义参与者规则的解决方案。
案例:在流程中,业务需求要求某几个环节的参与者不能是同一人。
实现:
- 自定义参与者互斥规则类,直接贴代码:
package com.yadnymmt.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.eos.das.entity.criteria.CriteriaType;
import com.eos.foundation.database.DatabaseUtil;
import com.eos.workflow.api.IWFActivityInstManager;
import com.eos.workflow.api.IWFWorkItemManager;
import com.eos.workflow.api.impl.WFActivityInstManager;
import com.eos.workflow.api.impl.WFOMServiceImpl;
import com.eos.workflow.api.impl.WFWorkItemMananger;
import com.eos.workflow.data.WFActivityInst;
import com.eos.workflow.data.WFWorkItem;
import com.eos.workflow.omservice.IWFOMService;
import com.eos.workflow.omservice.WFParticipant;
import com.primeton.component.rif.common.utils.StringUtil;
import com.primeton.workflow.api.IWFInstancePool;
import com.primeton.workflow.api.WFServiceException;
import com.primeton.workflow.service.das.model.entities.WFWorkItemInternal;
import com.primeton.workflow.service.framework.WFServiceFactory;
import commonj.sdo.DataObject;
/**
* 动态设置参与者规则类
* 通过修改participantList,可实现动态修改参与者。
* @author MountainChen
* @date 2019-10-08
*/
public class ParticipantsRule {
private static IWFActivityInstManager activityInstManager = new WFActivityInstManager();
private static IWFWorkItemManager workItemManager = new WFWorkItemMananger();
//实例缓存池
private static IWFInstancePool pool = WFServiceFactory.getService(IWFInstancePool.class);
//互斥配置缓存
private static Map<Long, List<String>> mutexMap = new HashMap<Long, List<

本文介绍了在普元EOS7.x流程中如何解决动态设置参与者规则的问题,特别是流程环节互斥的情况。通过自定义参与者互斥规则类并反编译源码插入代码,实现在BPS运行时动态调整参与者,确保某些环节的参与者不重复。
最低0.47元/天 解锁文章
1440

被折叠的 条评论
为什么被折叠?



