当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

java的树形通讯录

发表于: 2011-12-22   作者:g21121   来源:转载   浏览:
摘要: 最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。 // 首先取出每个部门的联系人 for (int i = 0; i < depList.size(); i++) { List<Contacts> list = getContactList(depList.get(i

最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。

	// 首先取出每个部门的联系人
			for (int i = 0; i < depList.size(); i++) {
				List<Contacts> list = getContactList(depList.get(i), contactList);
				if (!CollectionUtils.isEmpty(list))
					depList.get(i).setContactList(list);
			}
			//做一次嵌套循环,取出部门的所有子部门
			for (int j = 0; j < depList.size(); j++) {
				for (int i = 0; i < depList.size(); i++) {
					List<Department> list = getSubDepartment(depList.get(i).getDepartmentId(), depList);
					if (!CollectionUtils.isEmpty(list))
						depList.get(i).setDepartmentList(list);
				}
			}
			List<Department> list = new ArrayList<Department>();
			// 这里去除非顶级部门
			for (int i = 0; i < depList.size(); i++) {
				Department d = depList.get(i);
				if (depList.get(i).getParentDepartment() == null || depList.get(i).getParentDepartment().intValue() == 0) {
					list.add(d);
				}
			}
			return list;

 

部门实体:

	private Integer departmentId;//部门id
	private Integer type;//类型
	private String name;//名称
	private Integer parentDepartment;//上级部门
	private Integer companyId;//企业代码
	private List<Department> depList;//子部门列表
	private List<Contacts> contactList;//联系人列表

 

联系人实体:

	private Integer contactsId;//联系人代码
	private Integer companyId;//企业代码
	private String name;//联系人名称
	private String email;//邮件
	private String description;//备注
	private String mobile;//邮件
	private String telephone;//电话
	private Integer departmentId;//所属部门代码

 json生成:

		Gson gson=new Gson();
		return gson.toJson(obj);

 

java的树形通讯录

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号