文档拆分-删除目录:查询子节点bug修改
This commit is contained in:
+7
@@ -22,6 +22,13 @@ public interface ISarFileSplitMenuEOService extends IService<SarFileSplitMenuEO>
|
||||
|
||||
int addMenu(SarFileSplitMenuEO sarFileSplitMenuEO);
|
||||
|
||||
/**
|
||||
* 根据ID查询所有的子节点包括父节点
|
||||
* @param sarFileSplitMenuEO
|
||||
* @return
|
||||
*/
|
||||
List<SarFileSplitMenuEO> queryAllChildrenById(SarFileSplitMenuEO sarFileSplitMenuEO);
|
||||
|
||||
void deleteMenu(String id);
|
||||
|
||||
int insert(SarFileSplitMenuEO sarFileSplitMenuEO);
|
||||
|
||||
+7
-1
@@ -45,6 +45,7 @@ import com.jero.modules.split.page.SarFileSplitMenuEOPage;
|
||||
import com.jero.modules.split.service.IFileSplitItemsEOService;
|
||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||
import com.jero.modules.split.service.ISarFileSplitItemsValEOService;
|
||||
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
|
||||
import com.jero.modules.split.util.POIReadExcelToHtml;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysCategoryTreeVO;
|
||||
@@ -124,6 +125,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
private IBussDocumentLibraryEOService documentLibraryEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private ISarFileSplitMenuEOService sarFileSplitMenuEOService;
|
||||
|
||||
|
||||
@Value(value = "${jero.path.upload}")
|
||||
@@ -682,9 +685,12 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
// 查询所有子级id
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO();
|
||||
sarFileSplitMenuEO.setId(value);
|
||||
List<String> menuIdList = sarFileSplitMenuEOMapper.queryAllChildrenByid(sarFileSplitMenuEO).stream()
|
||||
List<String> menuIdList = sarFileSplitMenuEOService.queryAllChildrenById(sarFileSplitMenuEO).stream()
|
||||
.map(SarFileSplitMenuEO::getId)
|
||||
.collect(Collectors.toList());
|
||||
// List<String> menuIdList = sarFileSplitMenuEOMapper.queryAllChildrenByid(sarFileSplitMenuEO).stream()
|
||||
// .map(SarFileSplitMenuEO::getId)
|
||||
// .collect(Collectors.toList());
|
||||
String menuIds = StringUtils.join(menuIdList,"','");
|
||||
conditionSb.append(" and sar_file_split_items." + key + " in('" + menuIds + "')");
|
||||
}
|
||||
|
||||
+32
-2
@@ -1,6 +1,6 @@
|
||||
package com.jero.modules.split.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.split.entity.SarFileSplitMenuEO;
|
||||
import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper;
|
||||
@@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@@ -79,12 +80,41 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl<SarFileSplitMenuE
|
||||
return count;
|
||||
}
|
||||
|
||||
public List<SarFileSplitMenuEO> queryAllChildrenById(SarFileSplitMenuEO sarMenuEO) {
|
||||
SarFileSplitMenuEO sarFileSplitMenuEO = dao.selectByPrimaryKey(sarMenuEO.getId());
|
||||
SarFileSplitMenuEOPage page = new SarFileSplitMenuEOPage();
|
||||
page.setInfoId(sarFileSplitMenuEO.getInfoId());
|
||||
List<SarFileSplitMenuEO> listAll = dao.queryByList(page); // 查询所有目录
|
||||
|
||||
List<SarFileSplitMenuEO> result = new ArrayList<>();
|
||||
// 递归查询 指定父节点下的所有子节点,包括父节点
|
||||
if (CollectionUtil.isNotEmpty(listAll)) {
|
||||
result.add(sarFileSplitMenuEO); // 加上父节点
|
||||
recursion(listAll, result, sarFileSplitMenuEO);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private void recursion(List<SarFileSplitMenuEO> listAll, List<SarFileSplitMenuEO> result, SarFileSplitMenuEO father) {
|
||||
List<SarFileSplitMenuEO> childern = listAll.stream().filter(e-> father.getId().equals(e.getPId())).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(childern)) {
|
||||
result.addAll(childern);
|
||||
for(SarFileSplitMenuEO menuEO : childern) {
|
||||
recursion(listAll, result, menuEO);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteMenu(String id){
|
||||
List<String> menuIds = new ArrayList<>();
|
||||
SarFileSplitMenuEO sarMenuEO = new SarFileSplitMenuEO();
|
||||
sarMenuEO.setId(id);
|
||||
// 查询当前节点及所有子节点
|
||||
List<SarFileSplitMenuEO> list = dao.queryAllChildrenByid(sarMenuEO);
|
||||
// List<SarFileSplitMenuEO> list = dao.queryAllChildrenByid(sarMenuEO);
|
||||
List<SarFileSplitMenuEO> list = queryAllChildrenById(sarMenuEO);
|
||||
|
||||
if (list != null && !list.isEmpty()) {
|
||||
for(SarFileSplitMenuEO menu : list){
|
||||
menuIds.add(menu.getId());
|
||||
|
||||
Reference in New Issue
Block a user