use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class HomeServiceImpl method getHomeInfo.
@Override
public HomeRespVO getHomeInfo(String userId) {
SysUser sysUser = userService.getById(userId);
UserInfoRespVO vo = new UserInfoRespVO();
if (sysUser != null) {
BeanUtils.copyProperties(sysUser, vo);
SysDept sysDept = deptService.getById(sysUser.getDeptId());
if (sysDept != null) {
vo.setDeptId(sysDept.getId());
vo.setDeptName(sysDept.getName());
}
}
List<PermissionRespNode> menus = permissionService.permissionTreeList(userId);
HomeRespVO respVO = new HomeRespVO();
respVO.setMenus(menus);
respVO.setUserInfo(vo);
return respVO;
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptServiceImpl method updateDept.
@Override
@Transactional(rollbackFor = Exception.class)
public void updateDept(SysDept vo) {
SysDept sysDept = sysDeptMapper.selectById(vo.getId());
if (null == sysDept) {
throw new BusinessException(BaseResponseCode.DATA_ERROR);
}
sysDeptMapper.updateById(vo);
// 说明层级发生了变化
if (!StringUtils.isEmpty(vo.getPid()) && !vo.getPid().equals(sysDept.getPid())) {
SysDept parent = sysDeptMapper.selectById(vo.getPid());
if (!"0".equals(vo.getPid()) && null == parent) {
throw new BusinessException(BaseResponseCode.DATA_ERROR);
}
SysDept oldParent = sysDeptMapper.selectById(sysDept.getPid());
String oldRelationCode;
String newRelationCode;
// 根目录降到其他目录
if ("0".equals(sysDept.getPid())) {
oldRelationCode = sysDept.getDeptNo();
newRelationCode = parent.getRelationCode() + sysDept.getDeptNo();
} else if ("0".equals(vo.getPid())) {
// 其他目录升级到跟目录
oldRelationCode = sysDept.getRelationCode();
newRelationCode = sysDept.getDeptNo();
} else {
oldRelationCode = oldParent.getRelationCode();
newRelationCode = parent.getRelationCode();
}
LambdaQueryWrapper<SysDept> wrapper = Wrappers.lambdaQuery();
wrapper.likeLeft(SysDept::getDeptNo, sysDept.getDeptNo());
List<SysDept> list = sysDeptMapper.selectList(wrapper);
list.parallelStream().forEach(entity -> {
String relationCode = entity.getRelationCode().replace(oldRelationCode, newRelationCode);
entity.setRelationCode(relationCode);
sysDeptMapper.updateById(entity);
});
}
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptServiceImpl method deptTreeList.
@Override
public List<DeptRespNodeVO> deptTreeList(String deptId, Boolean disabled) {
List<SysDept> list;
if (StringUtils.isEmpty(deptId)) {
list = sysDeptMapper.selectList(Wrappers.emptyWrapper());
} else {
SysDept sysDept = sysDeptMapper.selectById(deptId);
if (sysDept == null) {
throw new BusinessException(BaseResponseCode.DATA_ERROR);
}
LambdaQueryWrapper<SysDept> queryWrapper = Wrappers.<SysDept>lambdaQuery().likeRight(SysDept::getRelationCode, sysDept.getRelationCode());
List<Object> childIds = sysDeptMapper.selectObjs(queryWrapper);
list = sysDeptMapper.selectList(Wrappers.<SysDept>lambdaQuery().notIn(SysDept::getId, childIds));
}
// 默认加一个顶级方便新增顶级部门
DeptRespNodeVO respNodeVO = new DeptRespNodeVO();
respNodeVO.setTitle("默认顶级部门");
respNodeVO.setId("0");
respNodeVO.setSpread(true);
respNodeVO.setDisabled(disabled);
respNodeVO.setChildren(getTree(list));
List<DeptRespNodeVO> result = new ArrayList<>();
result.add(respNodeVO);
return result;
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptServiceImpl method getTree.
private List<DeptRespNodeVO> getTree(List<SysDept> all) {
List<DeptRespNodeVO> list = new ArrayList<>();
for (SysDept sysDept : all) {
if ("0".equals(sysDept.getPid())) {
DeptRespNodeVO deptTree = new DeptRespNodeVO();
BeanUtils.copyProperties(sysDept, deptTree);
deptTree.setTitle(sysDept.getName());
deptTree.setSpread(true);
deptTree.setChildren(getChild(sysDept.getId(), all));
list.add(deptTree);
}
}
return list;
}
use of com.company.project.entity.SysDept in project springboot-manager by aitangbao.
the class DeptController method getDeptAll.
@GetMapping("/depts")
@ApiOperation(value = "获取机构列表接口")
@LogAnnotation(title = "机构管理", action = "获取所有组织机构")
@RequiresPermissions("sys:dept:list")
public DataResult getDeptAll() {
List<SysDept> deptList = deptService.list();
deptList.parallelStream().forEach(entity -> {
SysDept parentDept = deptService.getById(entity.getPid());
if (parentDept != null) {
entity.setPidName(parentDept.getName());
}
});
return DataResult.success(deptList);
}
Aggregations