update 导入拆分结果时增加识别父子关系字段判断是否按照序号父子关系排序

This commit is contained in:
lijiarao
2024-09-13 16:16:06 +08:00
parent ec1fbaa715
commit 212501db9f
3 changed files with 51 additions and 28 deletions
@@ -92,9 +92,8 @@ public class FileSplitItemsEOController extends JeroController<SarFileSplitItems
@PostMapping(value = "/importSplitResult") @PostMapping(value = "/importSplitResult")
@RequiresPermissions("split:sarFileSplitInfo:splitResult") @RequiresPermissions("split:sarFileSplitInfo:splitResult")
public Result<?> importSplitResult(@ApiParam("标准拆分条id") String splitFileId, public Result<?> importSplitResult(@ApiParam("标准拆分条id") String splitFileId,
@ApiParam("国际化") String cut,
SarFileSplitInfoEO splitInfoEO) throws IOException { SarFileSplitInfoEO splitInfoEO) throws IOException {
cut = CutUtils.getCurrentCut(); String cut = CutUtils.getCurrentCut();
return fileSplitItemsEOService.importSplitResult(splitFileId, cut,splitInfoEO); return fileSplitItemsEOService.importSplitResult(splitFileId, cut,splitInfoEO);
} }
@@ -8,6 +8,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict; import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -156,4 +157,10 @@ public class SarFileSplitInfoEO implements Serializable {
@ApiModelProperty(value = "标准类别") @ApiModelProperty(value = "标准类别")
@TableField(exist = false) @TableField(exist = false)
private String standardClass; private String standardClass;
/**
* 识别父子关系
*/
@ApiModelProperty(value = "识别父子关系")
@TableField(exist = false)
private String childParentLink;
} }
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.api.vo.ResultCommon; import com.jero.common.api.vo.ResultCommon;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.enums.IsMustEnum; import com.jero.common.constant.enums.IsMustEnum;
import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.constant.enums.ModuleEnum;
@@ -1990,7 +1991,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
//if (splitStandardClass.contains(sarFileSplitInfoEO.getStandardClass())){ //if (splitStandardClass.contains(sarFileSplitInfoEO.getStandardClass())){
// treeList = buildTree2(itemsEOList, treeListDisplay, menuId); // treeList = buildTree2(itemsEOList, treeListDisplay, menuId);
//}else { //}else {
treeList = buildTree(itemsEOList, treeListDisplay, menuId); //识别父子关系
String childParentLink = sarFileSplitInfoEO.getChildParentLink();
treeList = buildTree(itemsEOList, treeListDisplay, menuId, childParentLink);
//} //}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = sysUser.getId(); String userId = sysUser.getId();
@@ -3524,9 +3528,10 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
* @param addItemsEOList * @param addItemsEOList
* @param treeListDisplay * @param treeListDisplay
* @param menuId * @param menuId
* @param childParentLink
* @return * @return
*/ */
private List<SarFileSplitMenuTreeNode> buildTree(List<Map<String, Object>> addItemsEOList, Long treeListDisplay, String menuId){ private List<SarFileSplitMenuTreeNode> buildTree(List<Map<String, Object>> addItemsEOList, Long treeListDisplay, String menuId, String childParentLink){
//排序 //排序
// addItemsEOList.sort(new DirectoryComparator()); // addItemsEOList.sort(new DirectoryComparator());
@@ -3540,25 +3545,26 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
SarFileSplitMenuTreeNode treeNode = new SarFileSplitMenuTreeNode(); SarFileSplitMenuTreeNode treeNode = new SarFileSplitMenuTreeNode();
treeNode.setId(UUIDUtils.randomUUID20()); treeNode.setId(UUIDUtils.randomUUID20());
treeNode.setName(itemNum); treeNode.setName(itemNum);
//if(itemNum.matches(regex)) { if(CommonConstant.STATUS_1.equals(childParentLink)){
// //父级是 总目录时,不做处理 if(itemNum.matches(regex)) {
// if(itemNum.contains(".")) { //父级是 总目录时,不做处理
// String parentName = itemNum.substring(0, itemNum.lastIndexOf(".")); if(itemNum.contains(".")) {
// treeNode.setParentName(parentName); String parentName = itemNum.substring(0, itemNum.lastIndexOf("."));
// treeNode.setParentName(parentName);
// List<SarFileSplitMenuTreeNode> p = treeNodeList.stream().filter(e -> e.getName().equals(parentName)).collect(Collectors.toList());
// if (CollectionUtil.isNotEmpty(p)) { List<SarFileSplitMenuTreeNode> p = treeNodeList.stream().filter(e -> e.getName().equals(parentName)).collect(Collectors.toList());
// //其他节点 if (CollectionUtil.isNotEmpty(p)) {
// treeNode.setParentId(p.get(0).getId()); //其他节点
// }else{ treeNode.setParentId(p.get(0).getId());
// //一级节点 }else{
// treeNode.setParentId(menuId); //一级节点
// } treeNode.setParentId(menuId);
// }else{ }
// treeNode.setParentId(menuId); }else{
// } treeNode.setParentId(menuId);
//} }
//else }
else
if (StringUtils.isBlank(itemTitle)){ if (StringUtils.isBlank(itemTitle)){
treeNode.setParentId(parentId); treeNode.setParentId(parentId);
} }
@@ -3566,6 +3572,17 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
treeNode.setParentId(menuId); treeNode.setParentId(menuId);
parentId = treeNode.getId(); parentId = treeNode.getId();
} }
}else {
if (StringUtils.isBlank(itemTitle)){
treeNode.setParentId(parentId);
}
else{
treeNode.setParentId(menuId);
parentId = treeNode.getId();
}
}
++treeListDisplay; ++treeListDisplay;
treeNode.setOrderNum(treeListDisplay); treeNode.setOrderNum(treeListDisplay);
treeNode.setItemName(itemTitle); treeNode.setItemName(itemTitle);