修正flowable的发起流程中根据用户信息流转不同的流程

简介: 修正flowable的发起流程中根据用户信息流转不同的流程

根据用户反馈,下面流程流转出现问题

后来根据代码,下面需要修正==的逻辑判断

/**
     * 校验el表达示例
     *
     * @param map
     * @param expression
     * @return
     */
    public static Object result(Map<String, Object> map, String expression) {
      Object result = null; 
      try {
          FelEngine fel = new FelEngineImpl();
          FelContext ctx = fel.getContext();
          for (Map.Entry<String, Object> entry : map.entrySet()) {
              ctx.set(entry.getKey(), entry.getValue());
              System.out.print(entry.getKey() + "-"+ entry.getValue());
          }
          String exp = "";
          if (expression.indexOf("<") >0) {
            exp = expression.substring(0, expression.indexOf("<"));
          }
          else if (expression.indexOf(">") >0) {
            int index =expression.indexOf(">");
            exp = expression.substring(0, index);
          }
          else if (expression.indexOf("==") >0) {
            exp = expression.substring(0, expression.indexOf("=="));
          }
          exp =expression.replace(exp, ctx.get(exp).toString());
          result = fel.eval(exp);
          //result = fel.eval(expression);
    } catch (Exception e) {
      result = null;  
    }
       return result;
    }

同时在判断网关的地方需要判断一下逻辑

usermap =  GetExclusiveGatewayUser(targetFlowElement,variables);//还是需要返回用户与是否并发,因为并发要做特殊处理
             if(usermap != null) {
             userlist = (ArrayList<String>) usermap.get("approval");
               variablesnew.put("approval", userlist);
             }

同时对于这种条件的逻辑写好要正确

如下:

表达式要注意 ${fd_1662433136523=='zhang'}

最后效果如下:

 

相关文章
22activiti - 流程管理定义(查询流程状态)
22activiti - 流程管理定义(查询流程状态)
138 0
|
6月前
|
前端开发
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
611 0
|
6月前
|
移动开发 前端开发
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
220 0
|
6月前
|
前端开发
基于jeecg-boot的flowable流程自定义业务驳回到发起人的一种处理方式
基于jeecg-boot的flowable流程自定义业务驳回到发起人的一种处理方式
289 0
|
6月前
|
XML 中间件 数据库
基于jeecgboot的flowable流程支持定时捕获事件
基于jeecgboot的flowable流程支持定时捕获事件
117 0
|
6月前
|
移动开发 前端开发
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
352 2
|
6月前
|
移动开发 前端开发
基于flowable没有规则的并发网关流程跳转记录分析
基于flowable没有规则的并发网关流程跳转记录分析
117 0
|
6月前
基于jeecgboot的flowable流程按照条件进行流转的例子
基于jeecgboot的flowable流程按照条件进行流转的例子
175 1
|
6月前
Flowable流程中自定义业务表单并行审批的bug修复
Flowable流程中自定义业务表单并行审批的bug修复
137 0