代码摘录

来源:互联网 发布:s7200cn密码破解软件 编辑:程序博客网 时间:2024/06/12 01:08

1、删除目录树下面的子菜单

//判断是否有子菜单

        List<SysMenu> menus = systemService.findMenuByPId(id);
        while (menus!=null&&menus.size()>0) {
        List<SysMenu> menus2 =new ArrayList<SysMenu>();
for (SysMenu sysMenu : menus) {
List<SysMenu> menus1 = systemService.findMenuByPId(sysMenu.getId());
//删除子菜单
systemService.deleteMenu(sysMenu.getId());
menus2.addAll(menus1);
}
menus=menus2;
}

               systemService.deleteMenu(id);

2、递归排序

public static void sortMenuList(List<SysMenu> list, List<SysMenu> sourcelist, Long parentId){
for (int i=0; i<sourcelist.size(); i++){
SysMenu e = sourcelist.get(i);
if (e.getParentId()!=null && e.getParentId()!=null && e.getParentId().equals(parentId)){
list.add(e);
// 判断是否还有子节点, 有则继续获取子节点
for (int j=0; j<sourcelist.size(); j++){
SysMenu child = sourcelist.get(j);
if (child.getParentId()!=null && child.getParentId().equals(e.getId())){
sortMenuList(list, sourcelist, e.getId());
break;
}
}
}
}
}

3、已知查询出来列表,中间有些没有数据,补元素

                int year = Integer.parseInt(DateUtil.dateFormate(new Date(), "yyyy"));
Map<String, Integer> maps = new HashMap<String, Integer>();//定义map
int index = 0;
for (BiWebDataDay bk : BiWebDataDayList) {//保存横坐标数据,并做标记
dbDates.add(bk.getDataDate());
maps.put(bk.getDataDate(), index);
index++;
}

int start=year-4;
int j=0;
for (int i = start; i <= year; i++) {
if (!dbDates.contains(i+"")) {//如果数据库在某一年没有数据,赋默认值
BiWebDataDay b = new BiWebDataDay();
b.setDataDate(i+"");
b.setOrderCount("0");
webList.add(b);
} else {//获取数据
int m=maps.get(i+"");//根据日期获取value
webList.add(BiWebDataDayList.get(m));//集合里添加并获取对象
}
BiWebDataDay bc = webList.get(j);
orderCountList.add(bc.getOrderCount());//放入集合
j++;
}


0 0
原创粉丝点击