From 817a991a32a1366c8cb450545aafd5451729538b Mon Sep 17 00:00:00 2001 From: liyawei Date: Sat, 2 Apr 2022 09:21:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=8B=86=E5=88=86=E6=9D=A1?= =?UTF-8?q?=E6=AC=BE-=E5=A4=8D=E5=88=B6=E5=8E=BB=E9=99=A4=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FileSplitItemsEOController.java | 10 ++ .../service/IFileSplitItemsEOService.java | 2 + .../impl/FileSplitItemsEOServiceImpl.java | 155 +++++++++++------- 3 files changed, 111 insertions(+), 56 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java index 5eb6db3ad..40ddf04d1 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/controller/FileSplitItemsEOController.java @@ -155,6 +155,16 @@ public class FileSplitItemsEOController extends JeroController batchCopyItems(@RequestParam(value = "ids",required = false) String ids, + @RequestParam(value = "menuids",required = false) String menuIds, + @RequestParam(value = "infoIds",required = false) String infoIds) { + int result = fileSplitItemsEOService.batchCopyItems(ids,menuIds,infoIds); + return Result.OK("复制成功", result); + } + @AutoLog(value = "文档拆分条款信息-批量合并") @ApiOperation(value = "文档拆分条款信息-批量合并") @GetMapping("/batchMergeItems") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java index 6e88497dc..e8ad33e30 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/IFileSplitItemsEOService.java @@ -39,6 +39,8 @@ public interface IFileSplitItemsEOService extends IService Map judgeContainChilds(String ids); + int batchCopyItems(String ids,String menuIds,String infoId); + Map selectByPrimaryKey(String id); Map batchMergeItems(String ids); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java index c60d8d219..fd8f97939 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/split/service/impl/FileSplitItemsEOServiceImpl.java @@ -457,62 +457,65 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl idList = Arrays.asList(itemIds); - // 查到对应menu - List> getMenuList = dao.queryByItemsIds(idList); - List> getAllItemList = new ArrayList<>(); - List getAllMenuList = new ArrayList<>(); - List menuIdList = new ArrayList<>(); - List allItemIdList = new ArrayList<>(); - int result = 0; - if (getMenuList != null && !getMenuList.isEmpty()) { - for(Map splitItemsMap : getMenuList){ - String menuId = splitItemsMap.get("menu_id").toString(); - menuIdList.add(menuId); - SarFileSplitMenuEO menuEO = new SarFileSplitMenuEO(); - menuEO.setId(menuId); - //查询当前目录的所有子目录,不包括当前目录 - List menuList = sarFileSplitMenuEOMapper.queryByPidExcpetSelf(menuEO); - getAllMenuList.addAll(menuList); - //查询子目录下的所有条款,包括当前目录 - List> rows = dao.queryItemsByMenuId(menuId); - getAllItemList.addAll(rows); - } - if (getAllItemList != null && !getAllItemList.isEmpty()) { - //目录下没有子节点时, - if ((getAllMenuList == null || getAllMenuList.isEmpty()) && getAllItemList.size() > 1) { - // 删除val表数据 - sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); - result = dao.deleteByItemsIdList(idList); - return result; - } - for (Map itemsMap : getAllItemList) { - String itemId = itemsMap.get("id").toString(); - if (allItemIdList != null && !allItemIdList.contains(itemId)) { - allItemIdList.add(itemId); - } else if (allItemIdList == null || allItemIdList.size() < 1) { - allItemIdList.add(itemId); - } - } - if (getAllMenuList != null && !getAllMenuList.isEmpty()) { - for(SarFileSplitMenuEO sarFileSplitMenuEO : getAllMenuList){ - if(!menuIdList.contains(sarFileSplitMenuEO.getId())){ - menuIdList.add(sarFileSplitMenuEO.getId()); - } - } - } - // 删除menu表数据 - sarFileSplitMenuEOMapper.deleteByIdList(menuIdList); - // 删除val表数据 - sarFileSplitItemsValEOMapper.deleteValByitemIds(allItemIdList); - result = dao.deleteByItemsIdList(allItemIdList); - }else { - //要删除的条款menuId均不存在,判定为垃圾数据 - - // 删除val表数据 - sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); - result = dao.deleteByItemsIdList(idList); - } - } + // 删除val表数据 + sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); + int result = dao.deleteByItemsIdList(idList); +// // 查到对应menu +// List> getMenuList = dao.queryByItemsIds(idList); +// List> getAllItemList = new ArrayList<>(); +// List getAllMenuList = new ArrayList<>(); +// List menuIdList = new ArrayList<>(); +// List allItemIdList = new ArrayList<>(); +// int result = 0; +// if (getMenuList != null && !getMenuList.isEmpty()) { +// for(Map splitItemsMap : getMenuList){ +// String menuId = splitItemsMap.get("menu_id").toString(); +// menuIdList.add(menuId); +// SarFileSplitMenuEO menuEO = new SarFileSplitMenuEO(); +// menuEO.setId(menuId); +// //查询当前目录的所有子目录,不包括当前目录 +// List menuList = sarFileSplitMenuEOMapper.queryByPidExcpetSelf(menuEO); +// getAllMenuList.addAll(menuList); +// //查询子目录下的所有条款,包括当前目录 +// List> rows = dao.queryItemsByMenuId(menuId); +// getAllItemList.addAll(rows); +// } +// if (getAllItemList != null && !getAllItemList.isEmpty()) { +// //目录下没有子节点时, +// if ((getAllMenuList == null || getAllMenuList.isEmpty()) && getAllItemList.size() > 1) { +// // 删除val表数据 +// sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); +// result = dao.deleteByItemsIdList(idList); +// return result; +// } +// for (Map itemsMap : getAllItemList) { +// String itemId = itemsMap.get("id").toString(); +// if (allItemIdList != null && !allItemIdList.contains(itemId)) { +// allItemIdList.add(itemId); +// } else if (allItemIdList == null || allItemIdList.size() < 1) { +// allItemIdList.add(itemId); +// } +// } +// if (getAllMenuList != null && !getAllMenuList.isEmpty()) { +// for(SarFileSplitMenuEO sarFileSplitMenuEO : getAllMenuList){ +// if(!menuIdList.contains(sarFileSplitMenuEO.getId())){ +// menuIdList.add(sarFileSplitMenuEO.getId()); +// } +// } +// } +// // 删除menu表数据 +// sarFileSplitMenuEOMapper.deleteByIdList(menuIdList); +// // 删除val表数据 +// sarFileSplitItemsValEOMapper.deleteValByitemIds(allItemIdList); +// result = dao.deleteByItemsIdList(allItemIdList); +// }else { +// //要删除的条款menuId均不存在,判定为垃圾数据 +// +// // 删除val表数据 +// sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); +// result = dao.deleteByItemsIdList(idList); +// } +// } return result; } @@ -607,6 +610,46 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl oldItemIdList = Arrays.asList(ids.split(",")); + List menuIdList = Arrays.asList(menuIds.split(",")); + List infoIdList = Arrays.asList(infoIds.split(",")); + int result = 0; + + for(int i = 0; i< oldItemIdList.size(); i++) { + // 添加条款 + Map itemsMap = selectByPrimaryKey(oldItemIdList.get(i)); + String newItemId = UUID.randomUUID().toString().replace("-", ""); + itemsMap.remove("id"); + itemsMap.remove("creation_user"); + itemsMap.remove("creation_time"); + itemsMap.remove("modify_user"); + itemsMap.remove("modify_time"); + itemsMap.remove("sys_org_code"); + filterMap(itemsMap); + result += insertInfo(itemsMap, newItemId); + + // 添加条目 + List queryItemIdList = new ArrayList<>(); + queryItemIdList.add(oldItemIdList.get(i)); + List sarFileSplitItemsValEOList = sarFileSplitItemsValEOMapper.queryItemsValByMenuId(queryItemIdList); + for (SarFileSplitItemsValEO sarFileSplitItemsValEO : sarFileSplitItemsValEOList) { + String newItemValId = UUID.randomUUID().toString().replace("-", ""); + sarFileSplitItemsValEO.setId(newItemValId); + sarFileSplitItemsValEO.setItemId(newItemId); + sarFileSplitItemsValEO.setCreationTime(new Date()); + sarFileSplitItemsValEO.setModifyTime(new Date()); + sarFileSplitItemsValEO.setCreationUser(UserUtils.getUserId()); + sarFileSplitItemsValEO.setModifyUser(UserUtils.getUserId()); + } + if (sarFileSplitItemsValEOList.size() > 0) { + sarFileSplitItemsValEOMapper.insertForeach(sarFileSplitItemsValEOList); + } + } + return result; + } + @Override public Map selectByPrimaryKey(String id) { return dao.selectByPrimaryKey(id);