|
@@ -114,6 +114,25 @@ public class ExtUserTaskActivityBehavior extends UserTaskActivityBehavior {
|
|
|
break;
|
|
|
case "custom":
|
|
|
//根据你的自定义标记,请自行实现
|
|
|
+
|
|
|
+ //如果字符串中包含 "currentUserSql:" 则进行如下代码替换和处理
|
|
|
+ if(flowAssignee.getValue ().contains("currentUserSql:")){
|
|
|
+ //对应sql为:select su.* from sys_user_role a left join sys_role sr on sr.id = a.role_id left join sys_user su on su.id = a.user_id left join sys_office so on so.id = su.office_id where sr.en_name= 'bmzr' and so.id = (select office_id from sys_user where id = @currentUser.id)
|
|
|
+ //用于查询当前登录人的部门主任人员信息
|
|
|
+ UserDTO currentUserDTO = UserUtils.getCurrentUserDTO();
|
|
|
+ String sql = flowAssignee.getValue ();
|
|
|
+ if(sql.contains("@currentUser.id")){
|
|
|
+ //将标志进行去除
|
|
|
+ sql = sql.replaceAll("currentUserSql:","");
|
|
|
+ //将判断条件进行替换
|
|
|
+ sql = sql.replaceAll("@currentUser.id","'" + currentUserDTO.getId() + "'");
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> maps = SpringUtil.getBean(JdbcTemplate.class).queryForList(sql);
|
|
|
+ for (Map<String, Object> map : maps) {
|
|
|
+ candidateUserIds.add(map.get ("id").toString ());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
break;
|
|
|
}
|
|
|
}
|