天天看點

flowable設計器自定義自己的人員選擇器

@OC](設計器自定義自己的人員、組選擇器)

背景

很多外國的設計是不合适國内的使用習慣,就比方說人員選擇器群組選擇器,他們都是id和第一個名字,中國哪裡能看的懂呀,是以我們自定義修改一下。
      

組選擇器

@RestController
@RequestMapping("/app")
public class EditorGroupsResource {
    @Autowired
    protected IdmIdentityService idmIdentityService;
    @RequestMapping(value = "/rest/editor-groups", method = RequestMethod.GET)
    public ResultListDataRepresentation getGroups(@RequestParam(required = false, value = "filter") String filter) {
        if (StringUtils.isNotBlank(filter)) {
            filter = filter.trim();
            String sql = "select * from act_id_group where NAME_ like #{name}";
            filter = "%" + filter + "%";
            List<Group> groups = idmIdentityService.createNativeGroupQuery().sql(sql).parameter("name", filter).listPage(0, 10);
            List<GroupRepresentation> result = new ArrayList<>();
            for (Group group : groups) {
                result.add(new GroupRepresentation(group));
            }
            return new ResultListDataRepresentation(result);
        }
        return null;
    }
}
      

人員選擇器

@RestController
@RequestMapping("/app")
public class EditorUsersResource {
    @Autowired
    protected IdmIdentityService idmIdentityService;
    @Autowired
    protected ManagementService managementService;
    @RequestMapping(value = "/rest/editor-users", method = RequestMethod.GET)
    public ResultListDataRepresentation getUsers(@RequestParam(value = "filter", required = false) String filter) {
        if (StringUtils.isNotBlank(filter)) {
            filter = filter.trim();
            String sql = "select * from act_id_user where ID_ like #{id} or LAST_ like #{name}";
            filter = "%"+filter+"%";
            List<User> matchingUsers = idmIdentityService.createNativeUserQuery().sql(sql).parameter("id",filter).parameter("name",filter).listPage(0, 10);List<UserRepresentation> userRepresentations = new ArrayList<>(matchingUsers.size());
            for (User user : matchingUsers) {
                userRepresentations.add(new UserRepresentation(user));
            }
            return new ResultListDataRepresentation(userRepresentations);
        }
       return null;
    }
}
      

實作效果

flowable設計器自定義自己的人員選擇器
flowable設計器自定義自己的人員選擇器