|
@@ -132,6 +132,29 @@ public class ExtUserTaskActivityBehavior extends UserTaskActivityBehavior {
|
|
|
candidateUserIds.add(map.get ("id").toString ());
|
|
|
}
|
|
|
}
|
|
|
+ //如果字符串中包含 "cwCurrentUserSql:" 则进行如下代码替换和处理
|
|
|
+ if(flowAssignee.getValue ().contains("cwCurrentUserSql:")){
|
|
|
+ //对应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("cwCurrentUserSql:","");
|
|
|
+ //将判断条件进行替换
|
|
|
+ sql = sql.replaceAll("@currentUser.id","'" + currentUserDTO.getId() + "'");
|
|
|
+ }
|
|
|
+ if(sql.contains("@currentUser.officeDTO.name")){
|
|
|
+ //将标志进行去除
|
|
|
+ sql = sql.replaceAll("cwCurrentUserSql:","");
|
|
|
+ //将判断条件进行替换
|
|
|
+ sql = sql.replaceAll("@currentUser.officeDTO.name","'" + currentUserDTO.getOfficeDTO().getName() + "'");
|
|
|
+ }
|
|
|
+ List<Map<String, Object>> maps = SpringUtil.getBean(JdbcTemplate.class).queryForList(sql);
|
|
|
+ for (Map<String, Object> map : maps) {
|
|
|
+ candidateUserIds.add(map.get ("id").toString ());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
break;
|
|
|
}
|