/** 设置用户组织机构. */ @RequestMapping(value = {"updateUserOrgan"}) @ResponseBody public Result updateUserOrgan( @ModelAttribute("model") User user, @RequestParam(value = "organIds", required = false) List<Long> organIds, String defaultOrganId) throws Exception { Result result = null; // 绑定组织机构 user.setOrgans(null); List<Organ> organs = Lists.newArrayList(); if (Collections3.isNotEmpty(organIds)) { for (Long organId : organIds) { Organ organ = organManager.loadById(organId); organs.add(organ); } } user.setOrgans(organs); // 绑定默认组织机构 user.setDefaultOrgan(null); Organ defaultOrgan = null; if (defaultOrganId != null) { defaultOrgan = organManager.loadById(user.getDefaultOrganId()); } user.setDefaultOrgan(defaultOrgan); userManager.saveEntity(user); result = Result.successResult(); return result; }
/** * 自定义保存资源. <br> * 说明:如果保存的资源类型为“功能” 则将所有子资源都设置为“功能”类型 * * @param entity 资源对象 * @throws DaoException * @throws SystemException * @throws ServiceException */ public void saveResource(Resource entity) throws DaoException, SystemException, ServiceException { Assert.notNull(entity, "参数[entity]为空!"); this.saveEntity(entity); if (entity.getType() != null && ResourceState.function.getValue().equals(entity.getType())) { List<Resource> subResources = entity.getSubResources(); while (!Collections3.isEmpty(subResources)) { Iterator<Resource> iterator = subResources.iterator(); while (iterator.hasNext()) { Resource subResource = iterator.next(); subResource.setType(ResourceState.function.getValue()); iterator.remove(); subResources = ListUtils.union(subResources, subResource.getSubResources()); super.update(subResource); } } } }
/** 设置组织机构页面. */ @RequestMapping(value = {"organ"}) public String organ(@ModelAttribute("model") User user, Model model) throws Exception { // 设置默认组织机构初始值 List<Combobox> defaultOrganCombobox = Lists.newArrayList(); if (user.getId() != null) { List<Organ> organs = user.getOrgans(); Combobox combobox; if (!Collections3.isEmpty(organs)) { for (Organ organ : organs) { combobox = new Combobox(organ.getId().toString(), organ.getName()); defaultOrganCombobox.add(combobox); } } } String defaultOrganComboboxData = JsonMapper.nonDefaultMapper().toJson(defaultOrganCombobox); logger.debug(defaultOrganComboboxData); model.addAttribute("defaultOrganComboboxData", defaultOrganComboboxData); return "modules/sys/user-organ"; }
/** * combogrid * * @return * @throws Exception */ @RequestMapping(value = {"combogrid"}) @ResponseBody public Datagrid<User> combogrid( @RequestParam(value = "ids", required = false) List<Long> ids, String loginNameOrName, Integer rows) throws Exception { Criterion statusCriterion = Restrictions.eq("status", StatusState.normal.getValue()); Criterion[] criterions = new Criterion[0]; criterions = (Criterion[]) ArrayUtils.add(criterions, 0, statusCriterion); Criterion criterion = null; if (Collections3.isNotEmpty(ids)) { // in条件 Criterion inCriterion = Restrictions.in("id", ids); if (StringUtils.isNotBlank(loginNameOrName)) { Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE); Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE); Criterion criterion1 = Restrictions.or(loginNameCriterion, nameCriterion); criterion = Restrictions.or(inCriterion, criterion1); } else { criterion = inCriterion; } // 合并查询条件 criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion); } else { if (StringUtils.isNotBlank(loginNameOrName)) { Criterion loginNameCriterion = Restrictions.like("loginName", loginNameOrName, MatchMode.ANYWHERE); Criterion nameCriterion = Restrictions.like("name", loginNameOrName, MatchMode.ANYWHERE); criterion = Restrictions.or(loginNameCriterion, nameCriterion); // 合并查询条件 criterions = (Criterion[]) ArrayUtils.add(criterions, 0, criterion); } } // 分页查询 Page<User> p = new Page<User>(rows); // 分页对象 p = userManager.findByCriteria(p, criterions); Datagrid<User> dg = new Datagrid<User>(p.getTotalCount(), p.getResult()); return dg; }
/** 修改用户资源. */ @RequestMapping(value = {"updateUserResource"}) @ResponseBody public Result updateUserResource( @ModelAttribute("model") User user, @RequestParam(value = "resourceIds", required = false) List<Long> resourceIds) throws Exception { Result result = null; List<Resource> rs = Lists.newArrayList(); if (Collections3.isNotEmpty(resourceIds)) { for (Long id : resourceIds) { Resource resource = resourceManager.loadById(id); rs.add(resource); } } user.setResources(rs); userManager.saveEntity(user); result = Result.successResult(); return result; }