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

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

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

/**
* 校验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'}

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

最后效果如下:

修正flowable的发起流程中根据用户信息流转不同的流程_开发语言_03