diff --git a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index 5ef92fc5..40d33672 100644 --- a/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -1711,8 +1711,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl addItemValList = new ArrayList<>(); + List> itemList = new ArrayList<>(); if (addItemsEOList != null && !addItemsEOList.isEmpty()) { Map oldItems = addItemsEOList.get(addItemsEOList.size()-1); if (itemNum > 0 && importDto.get("item_num").equals(oldItems.get("item_num")) @@ -1746,6 +1746,9 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl) oldItems.get("itemValEOList"); } + if(!Objects.isNull(oldItems.get("itemList"))){ + itemList = (List>) oldItems.get("itemList"); + } String itemContent = oldItems.get("item_content").toString() + importDto.get("item_content").toString(); oldItems.put("item_content", itemContent); if (valArr != null && valArr.length > 0) { @@ -1772,31 +1775,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl"; -// valEO.setType("IMG"); -//// valEO.setItemContent(imgCon); -// valEO.setItemContent(path); -// -// String imageName = UUIDUtils.randomUUID10() + multipartFile.getName(); -// String filepathandname = uploadCospath + "/" + imageName; try { -// String paths = splitUrl+imageName; -// MinioUtil.uploadByte(bytev, filepathandname); imgCheck(multipartFile); String upload = ObsBootUtil.upload(multipartFile, "temp"); OSSFile ossFile = new OSSFile(); @@ -1833,9 +1813,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl 0) { @@ -1862,31 +1844,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl"; -// valEO.setType("IMG"); -//// valEO.setItemContent(imgCon); -// valEO.setItemContent(path); -// } try { -// String paths = splitUrl+imageName; -// MinioUtil.uploadByte(bytev, filepathandname); imgCheck(multipartFile); String upload = ObsBootUtil.upload(multipartFile, "temp"); OSSFile ossFile = new OSSFile(); @@ -1922,9 +1881,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl"; -// valEO.setType("IMG"); -//// valEO.setItemContent(imgCon); -// valEO.setItemContent(path); -// } try { -// String paths = splitUrl+imageName; -// MinioUtil.uploadByte(bytev, filepathandname); imgCheck(multipartFile); String upload = ObsBootUtil.upload(multipartFile, "temp"); OSSFile ossFile = new OSSFile(); @@ -2008,9 +1952,11 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl itemNumList = new ArrayList<>(); - for(SarFileSplitItemsEO sarFileSplitItemsEO : addItemsEOList){ - String[] str = sarFileSplitItemsEO.getItemsNum().split("."); - if(str.length == finalLevelNum){ - itemNumList.add(sarFileSplitItemsEO); - } - }*/ - // 2022-03-31 注释 -// List itemNumList = addItemsEOList.stream() -// .filter(e->e.getItemsNum().split("\\.").length == finalLevelNum || e.getItemsNum().contains("附录")) -// .collect(Collectors.toList()); //构造目录树 HashMap menuAndItemMap = new HashMap<>(); -// if(CollectionUtils.isNotEmpty(itemNumList)) { List treeList = new ArrayList<>(); List> itemsEOList = new ArrayList<>(addItemsEOList); if (splitStandardClass.contains(sarFileSplitInfoEO.getStandardClass())){ @@ -2078,9 +1994,6 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl addItemValList = new ArrayList<>(); @@ -2145,20 +2058,6 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl sarFileSplitMenuList = new ArrayList<>(); for (SarFileSplitMenuTreeNode treeNode : treeList) { //创建菜单 -// SarFileSplitMenuEO sarFileSplitMenuEO = new SarFileSplitMenuEO(); -// sarFileSplitMenuEO.setId(treeNode.getId()); -// sarFileSplitMenuEO.setInfoId(infoId); -// sarFileSplitMenuEO.setName(treeNode.getName()); -// sarFileSplitMenuEO.setItemName(treeNode.getItemName()); -// sarFileSplitMenuEO.setPId(treeNode.getParentId()); -// sarFileSplitMenuEO.setDisplaySeq(treeNode.getOrderNum()); -// sarFileSplitMenuEO.setCreationUser(userId); -// sarFileSplitMenuEO.setModifyUser(userId); -// sarFileSplitMenuEO.setValidFlag(0); -// sarFileSplitMenuEO.setCreationTime(new Date()); -// sarFileSplitMenuEO.setModifyTime(new Date()); -// sarFileSplitMenuEOMapper.insertSelective(sarFileSplitMenuEO); - if (existStandard && treeNode.getItemId().equals(LawsDocumentSplit.get(0).getId())){ continue; } @@ -2571,35 +2470,6 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl sarFileSplitItemsEO, String menuId, String infoId, List addItemValList, List lawsDocumentSplit, List fieldListSelect){ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); @@ -3492,6 +3389,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl getValList = (List) sarFileSplitItemsEO.get("itemValEOList"); + List> getItemListList = (List>) sarFileSplitItemsEO.get("itemList"); String itemConditions = ""; String itemConditionsTranslation = ""; int ind = 1; @@ -3540,9 +3438,44 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl 1) { + Map map = new HashMap<>(); + for (String s : NEED_MERGE) { + map.put(s,""); + } + for (Map stringObjectMap : getItemListList) { + for (Map.Entry entry : stringObjectMap.entrySet()) { + String key = entry.getKey(); + if (map.containsKey(key)) { + String value = (String) entry.getValue(); + if (StringUtils.isBlank(value)) { + continue; + } + String str = map.get(key).toString(); + if (StringUtils.isBlank(str)) { + map.put(key,value); + }else { + map.put(key,str+","+value); + } + } + } + } + //去重 + for (Map.Entry entry : map.entrySet()) { + String value = (String) entry.getValue(); + if (StringUtils.isBlank(value)) { + continue; + } + List strings = Arrays.asList(value.split(",")); + Set sets = new HashSet<>(strings); + entry.setValue(String.join(",",sets)); + } + sarFileSplitItemsEO.putAll(map); + } String id = (String)sarFileSplitItemsEO.get("id"); sarFileSplitItemsEO.remove("id"); sarFileSplitItemsEO.remove("itemValEOList"); + sarFileSplitItemsEO.remove("itemList"); sarFileSplitItemsEO = filterMap(sarFileSplitItemsEO); Map finalSarFileSplitItemsEO = sarFileSplitItemsEO; sarFileSplitItemsEO.forEach((k, v) -> { @@ -3565,8 +3498,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl treeNodeList = new ArrayList<>(); String regex = "^[0-9]{0}([0-9]|[.])+$"; //TODO 待优化:数字和点必须交替 + String parentId = ""; for (Map itemEO : addItemsEOList) { String itemNum = itemEO.get("item_num").toString(); + String itemTitle = itemEO.get("item_title").toString(); // if(itemNum.matches(regex) || itemNum.contains("附录")) { // TODO 解除条款号格式限制 SarFileSplitMenuTreeNode treeNode = new SarFileSplitMenuTreeNode(); treeNode.setId(UUIDUtils.randomUUID20()); @@ -3576,6 +3511,7 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl p = treeNodeList.stream().filter(e -> e.getName().equals(parentName)).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(p)) { //其他节点 @@ -3587,12 +3523,17 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl buildTree2(List> addItemsEOList, Long treeListDisplay, String menuId){ - // 过滤出 非正常编号的数据 -// String regexs = "^[0-9]{0}([0-9]|[.])+$"; -// List> otherList = -// addItemsEOList.stream() -// .filter(v -> !String.valueOf(v.get("item_num")).matches(regexs)) -// .collect(Collectors.toList()); - - // 排序 -// addItemsEOList.removeAll(otherList); -// addItemsEOList.sort(new DirectoryComparator()); -// addItemsEOList.addAll(otherList); - - List treeNodeList = new ArrayList<>(); List dotList = new ArrayList<>(); String regex = "^[0-9]{0}([0-9]|[.])+$"; //TODO 待优化:数字和点必须交替 + String parentId = ""; for (Map itemEO : addItemsEOList) { String itemNum = itemEO.get("item_num").toString(); + String itemTitle = itemEO.get("item_title").toString(); // if(itemNum.matches(regex) || itemNum.contains("附录")) { // TODO 解除条款号格式限制 SarFileSplitMenuTreeNode treeNode = new SarFileSplitMenuTreeNode(); treeNode.setId(UUIDUtils.randomUUID20()); @@ -3674,15 +3604,21 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl