树形标签修改

This commit is contained in:
xiejunyu
2022-05-27 10:32:31 +08:00
parent 4be24a4c8f
commit 79ce4c9f2b
2 changed files with 32 additions and 6 deletions
@@ -18,7 +18,7 @@
</select>
<select id="queryPageList" resultType="com.jero.modules.system.entity.SysCategory">
select create_by,create_time,sys_org_code,update_by,update_time,attribute_type,code,
select create_by,create_time,sys_org_code,update_by,update_time,attribute_type,code,sort_order,
del_flag,description,en_name,has_child,id,is_read_only,is_tag_dict,item_value,name,pid,sys_dict_id
from sys_category
where is_tag_dict=1 and sys_dict_id=#{params.sysDictId} and del_flag=0
@@ -319,6 +319,11 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
queryWrapper.eq("sys_dict_id",sysCategory.getSysDictId())
.eq("del_flag", CommonConstant.DEL_FLAG_0)
.orderByAsc("sort_order");
if(StringUtils.isNotBlank(sysCategory.getPid())){
queryWrapper.eq("pid",sysCategory.getPid());
}else{
queryWrapper.eq("pid",0);
}
queryWrapper.eq("sort_order", inputOrderNum);
Integer orderNumCount = sysCategoryMapper.selectCount(queryWrapper);
if (orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
@@ -328,17 +333,26 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
.eq("sys_dict_id",sysCategory.getSysDictId())
.eq("del_flag", CommonConstant.DEL_FLAG_0)
.orderByAsc("sort_order");
if(StringUtils.isNotBlank(sysCategory.getPid())){
orderNumQueryWrapper.eq("pid",sysCategory.getPid());
}else{
orderNumQueryWrapper.eq("pid",0);
}
List<SysCategory> geOrderNumList = list(orderNumQueryWrapper);
//判断相邻的序号,去掉不邻的
for (int i = 0; i < geOrderNumList.size(); i++) {
if (geOrderNumList.size() == 1) {
if (geOrderNumList.size() == 1 || (geOrderNumList.size()==2 && geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() == 1)) {
break;
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
break;
}
if(geOrderNumList.size()!=(i+1)) {
break;
}
}/*else if(geOrderNumList.size()==2 && geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() == 1){
}*/
}
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
@@ -356,6 +370,11 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
queryWrapper.eq("sys_dict_id",sysCategory.getSysDictId())
.eq("del_flag", CommonConstant.DEL_FLAG_0)
.orderByAsc("sort_order");
if(StringUtils.isNotBlank(sysCategory.getPid())){
queryWrapper.eq("pid",sysCategory.getPid());
}else{
queryWrapper.eq("pid",0);
}
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysCategory.getId()))
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
queryWrapper.eq("sort_order", inputOrderNum);
@@ -367,16 +386,23 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
.eq("sys_dict_id",sysCategory.getSysDictId())
.eq("del_flag", CommonConstant.DEL_FLAG_0)
.orderByAsc("sort_order");
if(StringUtils.isNotBlank(sysCategory.getPid())){
orderNumQueryWrapper.eq("pid",sysCategory.getPid());
}else{
orderNumQueryWrapper.eq("pid",0);
}
List<SysCategory> geOrderNumList = list(orderNumQueryWrapper);
//判断相邻的序号,去掉不邻的
for (int i = 0; i < geOrderNumList.size(); i++) {
if (geOrderNumList.size() == 1) {
/*if (geOrderNumList.size() == 1) {
break;
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
} else */if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
break;
}else{
break;
}
}