yunhao.wang 7 years ago
commit e093c5c6d7

@ -21,6 +21,10 @@
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-mes</artifactId>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-model</artifactId>
</dependency>
<!-- shiro -->
<dependency>

@ -1,5 +1,7 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
@ -28,7 +30,7 @@ public interface ICoreTreeService {
* @param id
* @return
*/
SysPosition getSysPositionTreeByParentId(long id);
SysPosition getSysPositionTreeById(long id);
/**
*
@ -55,7 +57,7 @@ public interface ICoreTreeService {
* @param id
* @return
*/
SysDepartment getSysDepartmentTreeByParentId(long id);
SysDepartment getSysDepartmentTreeById(long id);
/**
*
@ -82,7 +84,7 @@ public interface ICoreTreeService {
* @param id
* @return
*/
SysOrganize getSysOrganizeTreeByParentId(long id);
SysOrganize getSysOrganizeTreeById(long id);
/**
*
@ -109,7 +111,7 @@ public interface ICoreTreeService {
* @param id
* @return
*/
SysMenu getSysMenuTreeByParentId(long id);
SysMenu getSysMenuTreeById(long id);
/**
*
@ -124,4 +126,25 @@ public interface ICoreTreeService {
*/
void doValidatorSysMenuParentId(SysMenu menu) ;
/**
*
* @param parentId
* @return
*/
List<CommonTreeModel> findOrganizeDepartment(long parentId);
/**
*
* @param id
* @return
*/
CommonTreeModel getOrganizeById(long id);
/**
*
* @param parent
* @param step
*/
void findOrganizeTreePack(CommonTreeModel parent, int step);
}

@ -43,7 +43,7 @@ public class DemoTreeAndExceptionController extends CoreBaseController{
@ApiOperation(value="查询部门树",notes="通过部门主键获取部门树,-1为根节点")
public ResultBean listDepartmentTree(long depParentId) {
try {
SysDepartment department = coreTreeService.getSysDepartmentTreeByParentId(depParentId);
SysDepartment department = coreTreeService.getSysDepartmentTreeById(depParentId);
return ResultBean.success("查询部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
@ -47,7 +48,7 @@ public class SysTreeController extends CoreBaseController {
@ApiOperation(value="查询岗位树",notes="通过部门主键获取岗位树,-1为根节点")
public ResultBean listSysPositionTree(@PathVariable("id") long id) {
try {
SysPosition position = coreTreeService.getSysPositionTreeByParentId(id);
SysPosition position = coreTreeService.getSysPositionTreeById(id);
return ResultBean.success("查询部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -84,7 +85,7 @@ public class SysTreeController extends CoreBaseController {
@ApiOperation(value="查询组织树",notes="通过部门主键获取组织树,-1为根节点")
public ResultBean listOrganizeTree(@PathVariable("id") long id) {
try {
SysOrganize obj = coreTreeService.getSysOrganizeTreeByParentId(id);
SysOrganize obj = coreTreeService.getSysOrganizeTreeById(id);
return ResultBean.success("查询部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -120,7 +121,7 @@ public class SysTreeController extends CoreBaseController {
@ApiOperation(value="部门树",notes="通过部门主键获取部门树,-1为根节点")
public ResultBean listDepartmentTree(@PathVariable("id") long id) {
try {
SysDepartment obj = coreTreeService.getSysDepartmentTreeByParentId(id);
SysDepartment obj = coreTreeService.getSysDepartmentTreeById(id);
return ResultBean.success("查询部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -157,7 +158,7 @@ public class SysTreeController extends CoreBaseController {
@ApiOperation(value="部门树",notes="通过部门主键获取部门树,-1为根节点")
public ResultBean listSysMenuTree(@PathVariable("id") long id) {
try {
SysMenu obj = coreTreeService.getSysMenuTreeByParentId(id);
SysMenu obj = coreTreeService.getSysMenuTreeById(id);
return ResultBean.success("查询部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -189,4 +190,21 @@ public class SysTreeController extends CoreBaseController {
}
}
@GetMapping(value="/organize-department/list/{parentId}")
@ApiOperation(value="查询组织-部门树",notes="通过部门主键获取组组织-部门,-1为根节点")
public ResultBean listOrganizeDepartmentListTree(@PathVariable("parentId") long parentId) {
try {
List<CommonTreeModel> resultList = coreTreeService.findOrganizeDepartment(parentId);
return ResultBean.success("查询组织-部门树成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(resultList);
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
return ResultBean.fail(busExcep.getErrorShow());
}catch(Exception e){
LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + "{}",e.getMessage(),e);
return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode());
}
}
}

@ -1,7 +1,10 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil;
import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel;
import cn.estsh.i3plus.pojo.platform.bean.SysDepartment;
import cn.estsh.i3plus.pojo.platform.bean.SysMenu;
import cn.estsh.i3plus.pojo.platform.bean.SysOrganize;
@ -18,6 +21,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -59,7 +63,7 @@ public class CoreTreeService implements ICoreTreeService {
}
@Override
public SysPosition getSysPositionTreeByParentId(long id) {
public SysPosition getSysPositionTreeById(long id) {
// 查找数据
SysPosition position = positionRDao.getById(id);
// 数据是否真实存在
@ -107,7 +111,7 @@ public class CoreTreeService implements ICoreTreeService {
}
@Override
public SysDepartment getSysDepartmentTreeByParentId(long id) {
public SysDepartment getSysDepartmentTreeById(long id) {
// 查找数据
SysDepartment department = departmentRDao.getById(id);
// 数据是否真实存在
@ -155,7 +159,7 @@ public class CoreTreeService implements ICoreTreeService {
}
@Override
public SysOrganize getSysOrganizeTreeByParentId(long id) {
public SysOrganize getSysOrganizeTreeById(long id) {
// 查找数据
SysOrganize organize = organizeRDao.getById(id);
// 数据是否真实存在
@ -202,7 +206,7 @@ public class CoreTreeService implements ICoreTreeService {
}
@Override
public SysMenu getSysMenuTreeByParentId(long id) {
public SysMenu getSysMenuTreeById(long id) {
// 查找数据
SysMenu menu = menuRDao.getById(id);
// 数据是否真实存在
@ -305,4 +309,98 @@ public class CoreTreeService implements ICoreTreeService {
}
}
}
@Override
public List<CommonTreeModel> findOrganizeDepartment(long parentId) {
List<CommonTreeModel> result = new ArrayList<>();
List<SysOrganize> list = organizeRDao.findByProperty("parentId", parentId);
// 循环设置子集
if(list != null && list.size() > 0){
for (SysOrganize organize : list) {
CommonTreeModel treeModel = new CommonTreeModel();
treeModel.setBean(organize);
treeModel.setBeanType(ModelEnumUtil.COMMON_TREE_TYPE.TYPE_ORGANIZE.getValue());
findOrganizeTreePack(treeModel,0);
result.add(treeModel);
}
}
return result;
}
@Override
public CommonTreeModel getOrganizeById(long id) {
// 查找数据
SysOrganize organize = organizeRDao.getById(id);
// 数据是否真实存在
ValidatorBean.checkNotNull(organize,"不存在的组织信息");
CommonTreeModel treeModel = new CommonTreeModel();
treeModel.setBean(organize);
treeModel.setBeanType(ModelEnumUtil.COMMON_TREE_TYPE.TYPE_ORGANIZE.getValue());
// 递归查询子集
findOrganizeTreePack(treeModel, 0);
return treeModel;
}
@Override
public void findOrganizeTreePack(CommonTreeModel parent, int step) {
if(null != parent){
BaseBean bean = parent.getBean();
List<CommonTreeModel> childList = new ArrayList<>();
CommonTreeModel treeModel = null;
if(bean instanceof SysOrganize){
SysOrganize organize = (SysOrganize) bean;
List<SysOrganize> organizeList = organizeRDao.findByProperty("parentId", organize.getId());
if(organizeList != null && organizeList.size() > 0){
for (SysOrganize org : organizeList) {
treeModel = new CommonTreeModel();
treeModel.setBean(org);
treeModel.setBeanType(ModelEnumUtil.COMMON_TREE_TYPE.TYPE_ORGANIZE.getValue());
findOrganizeTreePack(treeModel,step);
childList.add(treeModel);
}
}
List<SysDepartment> departmentList = departmentRDao.findByProperty("organizeId", organize.getId());
if(departmentList != null && departmentList.size() > 0){
for (SysDepartment department : departmentList) {
if(department.getParentId() != null && department.getParentId() < 0){
treeModel = new CommonTreeModel();
treeModel.setBean(department);
treeModel.setBeanType(ModelEnumUtil.COMMON_TREE_TYPE.TYPE_DEPARTMENT.getValue());
findOrganizeTreePack(treeModel,step);
childList.add(treeModel);
}
}
}
LOGGER.info("【{}】包含子集:{},步长:{}", parent.getBean().getClass().getName(), parent.getChildList().size(), step);
}else if(bean instanceof SysDepartment){
SysDepartment department = (SysDepartment) bean;
List<SysDepartment> departmentList = departmentRDao.findByProperty("parentId", department.getId());
if(departmentList != null && departmentList.size() > 0){
for (SysDepartment dep : departmentList) {
treeModel = new CommonTreeModel();
treeModel.setBean(dep);
treeModel.setBeanType(ModelEnumUtil.COMMON_TREE_TYPE.TYPE_DEPARTMENT.getValue());
findOrganizeTreePack(treeModel,step);
childList.add(treeModel);
}
}
}
parent.setChildList(childList);
}
}
}

Loading…
Cancel
Save