| | |
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | | import com.ruoyi.common.constant.UserConstants;
|
| | | import com.ruoyi.common.core.text.Convert;
|
| | | import com.ruoyi.common.exception.CustomException;
|
| | | import com.ruoyi.common.utils.StringUtils;
|
| | | import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
|
| | | import com.ruoyi.framework.web.domain.TreeSelect;
|
| | | import com.ruoyi.project.system.domain.SysDept;
|
| | | import com.ruoyi.project.system.domain.SysRole;
|
| | | import com.ruoyi.project.system.mapper.SysDeptMapper;
|
| | | import com.ruoyi.project.system.mapper.SysRoleMapper;
|
| | | import com.ruoyi.project.system.service.ISysDeptService;
|
| | |
|
| | | /**
|
| | |
| | | {
|
| | | @Autowired
|
| | | private SysDeptMapper deptMapper;
|
| | | |
| | | @Autowired
|
| | | private SysRoleMapper roleMapper;
|
| | |
|
| | | /**
|
| | | * 查询部门管理数据
|
| | |
| | | @Override
|
| | | public List<Integer> selectDeptListByRoleId(Long roleId)
|
| | | {
|
| | | return deptMapper.selectDeptListByRoleId(roleId);
|
| | | SysRole role = roleMapper.selectRoleById(roleId);
|
| | | return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly());
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | if (UserConstants.DEPT_NORMAL.equals(dept.getStatus()))
|
| | | {
|
| | | // 如果该部门是启用状态,则启用该部门的所有上级部门
|
| | | updateParentDeptStatus(dept);
|
| | | updateParentDeptStatusNormal(dept);
|
| | | }
|
| | | return result;
|
| | | }
|
| | |
| | | *
|
| | | * @param dept 当前部门
|
| | | */
|
| | | private void updateParentDeptStatus(SysDept dept)
|
| | | private void updateParentDeptStatusNormal(SysDept dept)
|
| | | {
|
| | | String updateBy = dept.getUpdateBy();
|
| | | dept = deptMapper.selectDeptById(dept.getDeptId());
|
| | | dept.setUpdateBy(updateBy);
|
| | | deptMapper.updateDeptStatus(dept);
|
| | | String ancestors = dept.getAncestors();
|
| | | Long[] deptIds = Convert.toLongArray(ancestors);
|
| | | deptMapper.updateDeptStatusNormal(deptIds);
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | List<SysDept> children = deptMapper.selectChildrenDeptById(deptId);
|
| | | for (SysDept child : children)
|
| | | {
|
| | | child.setAncestors(child.getAncestors().replace(oldAncestors, newAncestors));
|
| | | child.setAncestors(child.getAncestors().replaceFirst(oldAncestors, newAncestors));
|
| | | }
|
| | | if (children.size() > 0)
|
| | | {
|
| | |
| | | {
|
| | | if (hasChild(list, tChild))
|
| | | {
|
| | | // 判断是否有子节点
|
| | | Iterator<SysDept> it = childList.iterator();
|
| | | while (it.hasNext())
|
| | | {
|
| | | SysDept n = (SysDept) it.next();
|
| | | recursionFn(list, n);
|
| | | }
|
| | | recursionFn(list, tChild);
|
| | | }
|
| | | }
|
| | | }
|