文档拆分条款-复制去除目录关联

This commit is contained in:
liyawei
2022-04-02 09:21:23 +08:00
parent fd65344eaa
commit 817a991a32
3 changed files with 111 additions and 56 deletions
@@ -155,6 +155,16 @@ public class FileSplitItemsEOController extends JeroController<SarFileSplitItems
return Result.OK(result); return Result.OK(result);
} }
@AutoLog(value = "文档拆分条款信息-复制")
@ApiOperation(value = "文档拆分条款信息-复制")
@GetMapping("/batchCopyItems")
public Result<?> 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 = "文档拆分条款信息-批量合并") @AutoLog(value = "文档拆分条款信息-批量合并")
@ApiOperation(value = "文档拆分条款信息-批量合并") @ApiOperation(value = "文档拆分条款信息-批量合并")
@GetMapping("/batchMergeItems") @GetMapping("/batchMergeItems")
@@ -39,6 +39,8 @@ public interface IFileSplitItemsEOService extends IService<SarFileSplitItemsEO>
Map<String,Object> judgeContainChilds(String ids); Map<String,Object> judgeContainChilds(String ids);
int batchCopyItems(String ids,String menuIds,String infoId);
Map<String,Object> selectByPrimaryKey(String id); Map<String,Object> selectByPrimaryKey(String id);
Map<String,Object> batchMergeItems(String ids); Map<String,Object> batchMergeItems(String ids);
@@ -457,62 +457,65 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
public int batchDeleteItems(String ids) { public int batchDeleteItems(String ids) {
String[] itemIds = ids.split(","); String[] itemIds = ids.split(",");
List<String> idList = Arrays.asList(itemIds); List<String> idList = Arrays.asList(itemIds);
// 查到对应menu // 删除val表数据
List<Map<String, Object>> getMenuList = dao.queryByItemsIds(idList); sarFileSplitItemsValEOMapper.deleteValByitemIds(idList);
List<Map<String, Object>> getAllItemList = new ArrayList<>(); int result = dao.deleteByItemsIdList(idList);
List<SarFileSplitMenuEO> getAllMenuList = new ArrayList<>(); // // 查到对应menu
List<String> menuIdList = new ArrayList<>(); // List<Map<String, Object>> getMenuList = dao.queryByItemsIds(idList);
List<String> allItemIdList = new ArrayList<>(); // List<Map<String, Object>> getAllItemList = new ArrayList<>();
int result = 0; // List<SarFileSplitMenuEO> getAllMenuList = new ArrayList<>();
if (getMenuList != null && !getMenuList.isEmpty()) { // List<String> menuIdList = new ArrayList<>();
for(Map<String, Object> splitItemsMap : getMenuList){ // List<String> allItemIdList = new ArrayList<>();
String menuId = splitItemsMap.get("menu_id").toString(); // int result = 0;
menuIdList.add(menuId); // if (getMenuList != null && !getMenuList.isEmpty()) {
SarFileSplitMenuEO menuEO = new SarFileSplitMenuEO(); // for(Map<String, Object> splitItemsMap : getMenuList){
menuEO.setId(menuId); // String menuId = splitItemsMap.get("menu_id").toString();
//查询当前目录的所有子目录,不包括当前目录 // menuIdList.add(menuId);
List<SarFileSplitMenuEO> menuList = sarFileSplitMenuEOMapper.queryByPidExcpetSelf(menuEO); // SarFileSplitMenuEO menuEO = new SarFileSplitMenuEO();
getAllMenuList.addAll(menuList); // menuEO.setId(menuId);
//查询子目录下的所有条款,包括当前目录 // //查询当前目录的所有子目录,不包括当前目录
List<Map<String, Object>> rows = dao.queryItemsByMenuId(menuId); // List<SarFileSplitMenuEO> menuList = sarFileSplitMenuEOMapper.queryByPidExcpetSelf(menuEO);
getAllItemList.addAll(rows); // getAllMenuList.addAll(menuList);
} // //查询子目录下的所有条款,包括当前目录
if (getAllItemList != null && !getAllItemList.isEmpty()) { // List<Map<String, Object>> rows = dao.queryItemsByMenuId(menuId);
//目录下没有子节点时, // getAllItemList.addAll(rows);
if ((getAllMenuList == null || getAllMenuList.isEmpty()) && getAllItemList.size() > 1) { // }
// 删除val表数据 // if (getAllItemList != null && !getAllItemList.isEmpty()) {
sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); // //目录下没有子节点时,
result = dao.deleteByItemsIdList(idList); // if ((getAllMenuList == null || getAllMenuList.isEmpty()) && getAllItemList.size() > 1) {
return result; // // 删除val表数据
} // sarFileSplitItemsValEOMapper.deleteValByitemIds(idList);
for (Map<String, Object> itemsMap : getAllItemList) { // result = dao.deleteByItemsIdList(idList);
String itemId = itemsMap.get("id").toString(); // return result;
if (allItemIdList != null && !allItemIdList.contains(itemId)) { // }
allItemIdList.add(itemId); // for (Map<String, Object> itemsMap : getAllItemList) {
} else if (allItemIdList == null || allItemIdList.size() < 1) { // String itemId = itemsMap.get("id").toString();
allItemIdList.add(itemId); // if (allItemIdList != null && !allItemIdList.contains(itemId)) {
} // allItemIdList.add(itemId);
} // } else if (allItemIdList == null || allItemIdList.size() < 1) {
if (getAllMenuList != null && !getAllMenuList.isEmpty()) { // allItemIdList.add(itemId);
for(SarFileSplitMenuEO sarFileSplitMenuEO : getAllMenuList){ // }
if(!menuIdList.contains(sarFileSplitMenuEO.getId())){ // }
menuIdList.add(sarFileSplitMenuEO.getId()); // 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); // // 删除menu表数据
result = dao.deleteByItemsIdList(allItemIdList); // sarFileSplitMenuEOMapper.deleteByIdList(menuIdList);
}else { // // 删除val表数据
//要删除的条款menuId均不存在,判定为垃圾数据 // sarFileSplitItemsValEOMapper.deleteValByitemIds(allItemIdList);
// result = dao.deleteByItemsIdList(allItemIdList);
// 删除val表数据 // }else {
sarFileSplitItemsValEOMapper.deleteValByitemIds(idList); // //要删除的条款menuId均不存在,判定为垃圾数据
result = dao.deleteByItemsIdList(idList); //
} // // 删除val表数据
} // sarFileSplitItemsValEOMapper.deleteValByitemIds(idList);
// result = dao.deleteByItemsIdList(idList);
// }
// }
return result; return result;
} }
@@ -607,6 +610,46 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
return result; return result;
} }
@Override
public int batchCopyItems(String ids, String menuIds, String infoIds) {
List<String> oldItemIdList = Arrays.asList(ids.split(","));
List<String> menuIdList = Arrays.asList(menuIds.split(","));
List<String> infoIdList = Arrays.asList(infoIds.split(","));
int result = 0;
for(int i = 0; i< oldItemIdList.size(); i++) {
// 添加条款
Map<String, Object> 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<String> queryItemIdList = new ArrayList<>();
queryItemIdList.add(oldItemIdList.get(i));
List<SarFileSplitItemsValEO> 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 @Override
public Map<String, Object> selectByPrimaryKey(String id) { public Map<String, Object> selectByPrimaryKey(String id) {
return dao.selectByPrimaryKey(id); return dao.selectByPrimaryKey(id);