diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java index f023229b..e54eef83 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/controller/DocumentSplitController.java @@ -262,5 +262,4 @@ public class DocumentSplitController { public void downloadImportTemplate(HttpServletRequest request, HttpServletResponse response) { documentSplitService.downloadImportTemplate(request, response); } - } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 793660b4..70d92e9e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -357,7 +357,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { String ids = (String) parameter.get(IDS); List idList = Arrays.asList(ids.split(",")); // sql where条件拼接 - String selectCondition = "where del_flag = 0 and s.id in ('" + String.join(",", idList) + "')"; + String selectCondition = "where del_flag = 0 and s.id in ('" + String.join("','", idList) + "')"; // 排序 orderBy(new StringBuilder(selectCondition)); // 查询数据 @@ -365,10 +365,13 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { // 第一条数据 Map firstData = listMap.get(0); listMap.remove(0); - // 合并数据(合并每个key对应的value) - String content = firstData.get(ITEM_CONTENT) + mergeData(listMap); + // 合并数据(条文标题、条文内容) + String title = firstData.get(ITEM_TITLE) + " " + mergeData(listMap, ITEM_TITLE); + String content = firstData.get(ITEM_CONTENT) + mergeData(listMap, ITEM_CONTENT); String updateByAndUpdateTime = new UniversalImpl().getUpdateByAndUpdateTime(); - String updateSet = updateByAndUpdateTime + "," + ITEM_CONTENT + " = " + "'" + content + "'"; + String updateSet = updateByAndUpdateTime + + "," + ITEM_TITLE + " = " + "' "+ title + "'" + + "," + ITEM_CONTENT + " = " + "'" + content + "'"; String updateCondition = "id = " + "'" + firstData.get(ID) + "'"; // 修改数据 documentSplitMapper.editDocumentSplitDetail(updateSet, updateCondition); @@ -555,11 +558,10 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { } - private String mergeData(List> listMap) { + private String mergeData(List> listMap, String key) { StringBuilder stringBuilder = new StringBuilder(); - // 合并数据(合并每个key对应的value) for (Map map : listMap) { - String content = (String) map.get(ITEM_CONTENT); + String content = (String) map.get(key); stringBuilder.append(content); } return stringBuilder.toString(); diff --git a/laws-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitMenuEOController.java b/laws-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitMenuEOController.java index 716d949d..14f1e9dd 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitMenuEOController.java +++ b/laws-modules/src/main/java/com/jero/modules/split/controller/SarFileSplitMenuEOController.java @@ -3,9 +3,6 @@ package com.jero.modules.split.controller; import com.alibaba.fastjson.JSONObject; import com.jero.common.api.vo.Result; import com.jero.common.system.base.controller.JeroController; -import com.jero.modules.laws.enterprise.entity.vo.LawsTreeNodeModel; -import com.jero.modules.laws.enterprise.util.FindsTreeNodeChildrenUtil; -import com.jero.modules.laws.standard.entity.LawsTreeNode; import com.jero.modules.split.entity.SarFileSplitMenuEO; import com.jero.modules.split.page.SarFileSplitMenuEOPage; import com.jero.modules.split.service.IFileSplitItemsEOService; @@ -52,21 +49,20 @@ public class SarFileSplitMenuEOController extends JeroController> list(SarFileSplitMenuEOPage page) throws Exception { - final String temporaryName = page.getName(); - page.setName(null); +// page.setName(null); page.setValidFlag("0"); // page.setOrderBy("regexp_replace(replace('.'||NAME, '.', '.00000000'), '0+([^\\.]{8})', '\\1')"); page.setOrderBy("display_seq asc"); List getList = sarFileSplitMenuEOService.queryByList(page); //转树结构 - List menuEOS = new ArrayList<>(); - if (StringUtils.isBlank(temporaryName)){ - menuEOS = convertToTree(getList); - } - if (StringUtils.isNotBlank(temporaryName)){ - menuEOS = convertToTree(getList, temporaryName); - } - return Result.OK(menuEOS); +// List menuEOS = new ArrayList<>(); +// if (StringUtils.isBlank(temporaryName)){ +// menuEOS = convertToTree(getList); +// } +// if (StringUtils.isNotBlank(temporaryName)){ +// menuEOS = convertToTree(getList, temporaryName); +// } + return Result.OK(getList); } public List convertToTree(List menuList, String name) { diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java index 3f3a2088..748106c0 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/SarFileSplitMenuEOServiceImpl.java @@ -60,9 +60,9 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl parameter = new HashMap<>(); if (StringUtils.isNotEmpty(sarFileSplitMenuEO.getName())) { - parameter.put("items_num", sarFileSplitMenuEO.getName()); + parameter.put("item_num", sarFileSplitMenuEO.getName()); } - parameter.put("items_name", sarFileSplitMenuEO.getItemName()); + parameter.put("item_title", sarFileSplitMenuEO.getItemName()); parameter.put("info_id", sarFileSplitMenuEO.getInfoId()); parameter.put("menu_id", sarFileSplitMenuEO.getId()); String itemId = UUID.randomUUID().toString().replace("-", ""); @@ -165,6 +165,13 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl queryByList(SarFileSplitMenuEOPage page) { + String itemName; + if (StringUtils.isNotBlank(page.getName())){ + itemName = page.getName(); + page.setName(null); + } else { + itemName = ""; + } List result = dao.queryByList(page); // 处理数据是否可以上下移动标识 @@ -185,10 +192,46 @@ public class SarFileSplitMenuEOServiceImpl extends ServiceImpl trees = result.stream() + .filter(v -> (StringUtils.isNotBlank(v.getItemName()) + && v.getItemName().contains(itemName)) || v.getName().contains(itemName)) + .collect(Collectors.toList()); + // 递归查找所有符合项的父节点 + List newTrees = new ArrayList<>(trees); + queryTreeFather(result, trees, newTrees); + // 过滤重复项 + result = newTrees.stream().distinct().collect(Collectors.toList()); + } + // 构建树结构 + List finalResult = result; + return result.stream().filter(v -> StringUtils.isBlank(v.getPId())) + .peek(v -> v.setChildren(createChildList(v, finalResult))).collect(Collectors.toList()); } - @Override + private void queryTreeFather(List treeList, List trees, List newTrees) { + for (SarFileSplitMenuEO tree : trees) { + // 父节点 + List treeFather = treeList.stream().filter(v -> v.getId().equals(tree.getPId())).collect(Collectors.toList()); + if (!treeFather.isEmpty()){ + newTrees.addAll(treeFather); + queryTreeFather(treeList, treeFather, newTrees); + }else { + return; + } + } + } + + + private List createChildList(SarFileSplitMenuEO testTree, List treeList) { + return treeList.stream().filter(v -> testTree.getId().equals(v.getPId())) + .peek(v -> v.setChildren(createChildList(v, treeList))) + .collect(Collectors.toList()); + } + + @Override public int queryByCount(SarFileSplitMenuEOPage page) { return dao.queryByCount(page); }