package com.jflyfox.system.department; import java.util.List; import com.jflyfox.jfinal.base.BaseService; /** * 数据字典service * * @author flyfox 2014-2-11 */ public class DepartmentSvc extends BaseService { /** * 获取部门下拉框 * * 2015年4月28日 上午11:42:54 flyfox 369191470@qq.com * * @param selected * @return */ public String selectDepart(Integer selected) { return selectDepart(selected, 0); } /** * 获取部门下拉框 * * 2015年1月28日 下午5:28:40 flyfox 369191470@qq.com * * @return */ public String selectDepart(Integer selected, Integer selfId) { String where = " where 1 = 1 "; if (selfId != null && selfId > 0) { where += "and id !=" + selfId; } List list = SysDepartment.dao.find(" select * from sys_department " // + where + " order by sort,create_time desc "); StringBuffer sb = new StringBuffer(""); if (list != null && list.size() > 0) { for (SysDepartment department : list) { int parentId = department.getInt("parent_id"); if (parentId == 0) { int id = department.getInt("id"); sb.append(""); sb.append(recursionTree(id, selected, 1, list)); } } } return sb.toString(); } /** * 递归树 * * 2017年3月14日 上午10:39:29 * flyfox 330627517@qq.com * @return */ public String recursionTree(int rootId, Integer selected, int level, List list) { if (list == null || list.size() <= 0) { return ""; } // 级别太多了 if (level >= 20) { return ""; } StringBuffer sb = new StringBuffer(""); for (SysDepartment department : list) { int parentId = department.getInt("parent_id"); if (parentId == rootId) { int id = department.getInt("id"); sb.append(""); sb.append(recursionTree(id, selected, (level + 1), list)); } } return sb.toString(); } /** * 获取名称 * * 2015年4月28日 上午11:43:07 flyfox 369191470@qq.com * * @param model * @return */ public String getDepartName(Integer id) { if (id == null || id == 0) { return ""; } String name = SysDepartment.dao.findById(id).getStr("name"); return name; } }