|
|
@ -4,9 +4,10 @@ import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
|
|
|
|
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
|
|
|
import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel;
|
|
|
|
import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.*;
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.*;
|
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
|
import cn.estsh.impp.framework.boot.util.ResultBean;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
|
@ -219,7 +220,7 @@ public class CoreMemTreeService implements ICoreMemTreeService {
|
|
|
|
/********************************************* Start CommonTreeModel Tree *********************************************/
|
|
|
|
/********************************************* Start CommonTreeModel Tree *********************************************/
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<CommonTreeModel> packTreeTreeModelUser(List<SysOrganize> organizeList, List<SysDepartment> departmentList, List<SysRefUserDepartment> refList) {
|
|
|
|
public List<CommonTreeModel> packTreeTreeModelByRefUserDepartment(List<SysOrganize> organizeList, List<SysDepartment> departmentList, List<SysRefUserDepartment> refList) {
|
|
|
|
if(refList != null && organizeList != null && departmentList != null){
|
|
|
|
if(refList != null && organizeList != null && departmentList != null){
|
|
|
|
List<Long> organizeIdList = new ArrayList<>();
|
|
|
|
List<Long> organizeIdList = new ArrayList<>();
|
|
|
|
List<Long> departmentIdList = new ArrayList<>();
|
|
|
|
List<Long> departmentIdList = new ArrayList<>();
|
|
|
@ -248,6 +249,37 @@ public class CoreMemTreeService implements ICoreMemTreeService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<CommonTreeModel> packTreeTreeModelRoot() {
|
|
|
|
|
|
|
|
List<SysOrganize> organizeList = personnelService.findSysOrganizeList();
|
|
|
|
|
|
|
|
List<SysDepartment> departmentList = personnelService.findSysUserDepartmentList();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
organizeList = packTreeSysOrganize(organizeList, CommonEnumUtil.PARENT.DEFAULT.getValue());
|
|
|
|
|
|
|
|
departmentList = packTreeSysDepartment(departmentList, CommonEnumUtil.PARENT.DEFAULT.getValue());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<CommonTreeModel> modelList = packTreeTreeModelSysOrganize(organizeList);
|
|
|
|
|
|
|
|
List<CommonTreeModel> result = packTreeTreeModel(modelList, departmentList);
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<CommonTreeModel> packTreeTreeModelByUserId(Long userId) {
|
|
|
|
|
|
|
|
List<CommonTreeModel> result = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 查出用户权限
|
|
|
|
|
|
|
|
List<SysRefUserDepartment> refList = personnelService.findSysRefUserDepartmentByUserId(userId);
|
|
|
|
|
|
|
|
if (refList != null && refList.size() > 0) {
|
|
|
|
|
|
|
|
// 分装组织树
|
|
|
|
|
|
|
|
List<SysOrganize> organizeList = personnelService.findSysOrganizeList();
|
|
|
|
|
|
|
|
// 分装部门树
|
|
|
|
|
|
|
|
List<SysDepartment> departmentList = personnelService.findSysUserDepartmentList();
|
|
|
|
|
|
|
|
// 分装组合树
|
|
|
|
|
|
|
|
result = packTreeTreeModelByRefUserDepartment(organizeList, departmentList, refList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public List<CommonTreeModel> packTreeTreeModelSysOrganize(List<SysOrganize> list) {
|
|
|
|
public List<CommonTreeModel> packTreeTreeModelSysOrganize(List<SysOrganize> list) {
|
|
|
|
List<CommonTreeModel> result = new ArrayList<>();
|
|
|
|
List<CommonTreeModel> result = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
@ -397,6 +429,107 @@ public class CoreMemTreeService implements ICoreMemTreeService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/********************************************* End SysDepartment Tree *********************************************/
|
|
|
|
/********************************************* End SysDepartment Tree *********************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************* Start SysMenu Tree *********************************************/
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<SysMenu> packTreeSysMenu(List<SysMenu> list, Long parentId) {
|
|
|
|
|
|
|
|
List<SysMenu> result = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(list != null && list.size() > 0){
|
|
|
|
|
|
|
|
List<SysMenu> copyList = new ArrayList<>(list);
|
|
|
|
|
|
|
|
list.forEach(menu -> {
|
|
|
|
|
|
|
|
if(menu.getParentId() != null && menu.getParentId().equals(parentId)){
|
|
|
|
|
|
|
|
result.add(menu);
|
|
|
|
|
|
|
|
copyList.remove(menu);
|
|
|
|
|
|
|
|
menu.setChildList(packTreeSysMenu(copyList, menu.getId()));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<SysMenu> packTreeSysMenuBySysRefUserOrganize(List<SysMenu> list, List<SysRefRoleMenu> refList) {
|
|
|
|
|
|
|
|
List<Long> ids = new ArrayList<>(refList.size());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(refList != null && refList.size() > 0){
|
|
|
|
|
|
|
|
refList.forEach(ref -> ids.add(ref.getMenuId()));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return packTreeSysMenuByIds(list, ids);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<SysMenu> packTreeSysMenuByIds(List<SysMenu> list, List<Long> ids) {
|
|
|
|
|
|
|
|
List<SysMenu> result = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(list != null && list.size() > 0){
|
|
|
|
|
|
|
|
list.forEach(menu -> {
|
|
|
|
|
|
|
|
if(menu.getChildList() == null || menu.getChildList().size() <= 0){
|
|
|
|
|
|
|
|
if(ids.contains(menu.getId())){
|
|
|
|
|
|
|
|
result.add(menu);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
List<SysMenu> childList = packTreeSysMenuByIds(menu.getChildList(), ids);
|
|
|
|
|
|
|
|
if(ids.contains(menu.getId()) || childList != null && childList.size() > 0){
|
|
|
|
|
|
|
|
menu.setChildList(childList);
|
|
|
|
|
|
|
|
result.add(menu);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public SysMenu packTreeSysMenuById(List<SysMenu> list, Long id) {
|
|
|
|
|
|
|
|
if(list != null && list.size() > 0){
|
|
|
|
|
|
|
|
for (SysMenu menu : list) {
|
|
|
|
|
|
|
|
if(menu.getId().equals(id)){
|
|
|
|
|
|
|
|
menu.setChildList(packTreeSysMenu(list, menu.getId()));
|
|
|
|
|
|
|
|
return menu;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<Long> findChildSysMenu(SysMenu menu) {
|
|
|
|
|
|
|
|
List<Long> result = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(menu != null && menu.getChildList() != null && menu.getChildList().size() > 0){
|
|
|
|
|
|
|
|
for (SysMenu sp : menu.getChildList()) {
|
|
|
|
|
|
|
|
result.add(sp.getId());
|
|
|
|
|
|
|
|
result.addAll(findChildSysMenu(sp));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return result;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<SysMenu> packTreeSysMenuByUserId(Long userId) {
|
|
|
|
|
|
|
|
List<SysRefUserRole> roleList = personnelService.findSysRefUserRoleById(userId);
|
|
|
|
|
|
|
|
if(roleList != null && roleList.size() > 0){
|
|
|
|
|
|
|
|
List<SysRefRoleMenu> refRoleMenuList = personnelService.findSysRefRoleMenuByRefUserRole(roleList);
|
|
|
|
|
|
|
|
if(refRoleMenuList != null && refRoleMenuList.size() > 0){
|
|
|
|
|
|
|
|
List<SysMenu> menuList = personnelService.findSysMenuList();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<SysMenu> menuRootTree = packTreeSysMenu(menuList, CommonEnumUtil.PARENT.DEFAULT.getValue());
|
|
|
|
|
|
|
|
return packTreeSysMenuBySysRefUserOrganize(menuRootTree, refRoleMenuList);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public List<SysMenu> packTreeSysMenu() {
|
|
|
|
|
|
|
|
List<SysMenu> menuList = personnelService.findSysMenuList();
|
|
|
|
|
|
|
|
return packTreeSysMenu(menuList, CommonEnumUtil.PARENT.DEFAULT.getValue());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/********************************************* End SysMenu Tree *********************************************/
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|