您的位置:首页 > 编程语言

代码摘录

2016-03-04 14:26 316 查看
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++;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: