新建一个类 RecursiveRescreening.java。
参考如下类,即可重新拆分树形数据构造前台所需的新的树形数据。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSON;
public class RecursiveRescreening {
public static void main(String[] args) {
String jsonStr = "[{\"num\":\"1000\",\"name\":\"*******责任有限公司\",\"superiorDept\":\"-1\",\"leaderPerNums\":[],\"children\":[{\"num\":\"101\",\"name\":\"综合部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"42\",\"6\"],\"children\":[{\"num\":\"3\",\"name\":\"周士大夫波\"},{\"num\":\"4\",\"name\":\"王玉11玲\"},{\"num\":\"5\",\"name\":\"于霞飞\"},{\"num\":\"6\",\"name\":\"康芳芳\"},{\"num\":\"7\",\"name\":\"冯亚11鑫\"},{\"num\":\"8\",\"name\":\"侯素蓉\"},{\"num\":\"9\",\"name\":\"关玲玲\"},{\"num\":\"10\",\"name\":\"高磊\"},{\"num\":\"11\",\"name\":\"董晓虹\"},{\"num\":\"42\",\"name\":\"左素平\"},{\"num\":\"64\",\"name\":\"杨雨欣\"},{\"num\":\"65\",\"name\":\"尚秀1忠\"},{\"num\":\"66\",\"name\":\"赵鹏伟\"}]},{\"num\":\"102\",\"name\":\"工程部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"2\"],\"children\":[{\"num\":\"12\",\"name\":\"李鹏1翔\"},{\"num\":\"13\",\"name\":\"张学东\"},{\"num\":\"14\",\"name\":\"邱继1国\"},{\"num\":\"15\",\"name\":\"胡肥东\"},{\"num\":\"16\",\"name\":\"张利锋\"},{\"num\":\"17\",\"name\":\"冯超博\"},{\"num\":\"18\",\"name\":\"刘勇\"},{\"num\":\"51\",\"name\":\"高1福强\"},{\"num\":\"58\",\"name\":\"韩程\"},{\"num\":\"59\",\"name\":\"刘凯峰\"},{\"num\":\"73\",\"name\":\"武康\"},{\"num\":\"74\",\"name\":\"马窦\"}]},{\"num\":\"103\",\"name\":\"研发一部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"20\"],\"children\":[{\"num\":\"20\",\"name\":\"柳江峰\"},{\"num\":\"21\",\"name\":\"马晶\"},{\"num\":\"22\",\"name\":\"李慧仙\"},{\"num\":\"23\",\"name\":\"崔耀强\"},{\"num\":\"24\",\"name\":\"陈星星\"},{\"num\":\"25\",\"name\":\"吕晓辉\"},{\"num\":\"26\",\"name\":\"郭文军\"},{\"num\":\"27\",\"name\":\"代靖\"},{\"num\":\"28\",\"name\":\"李跃跃\"},{\"num\":\"29\",\"name\":\"张力丰\"},{\"num\":\"49\",\"name\":\"李磊\"},{\"num\":\"52\",\"name\":\"胡懿\"},{\"num\":\"53\",\"name\":\"胡晓超\"},{\"num\":\"55\",\"name\":\"靳云南\"},{\"num\":\"56\",\"name\":\"张家玮\"},{\"num\":\"57\",\"name\":\"王文杰\"},{\"num\":\"60\",\"name\":\"刘利娜\"},{\"num\":\"61\",\"name\":\"张尧\"},{\"num\":\"62\",\"name\":\"董刚刚\"},{\"num\":\"63\",\"name\":\"李少华\"},{\"num\":\"69\",\"name\":\"杨瑞\"},{\"num\":\"70\",\"name\":\"张宇\"},{\"num\":\"72\",\"name\":\"王宇璐\"},{\"num\":\"76\",\"name\":\"杨世杰\"},{\"num\":\"77\",\"name\":\"武志亮\"}]},{\"num\":\"104\",\"name\":\"研发二部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"30\"],\"children\":[{\"num\":\"30\",\"name\":\"方利红\"},{\"num\":\"31\",\"name\":\"李跃峰\"},{\"num\":\"32\",\"name\":\"赵海青\"},{\"num\":\"33\",\"name\":\"周权\"},{\"num\":\"34\",\"name\":\"魏志强\"},{\"num\":\"35\",\"name\":\"任燕卿\"},{\"num\":\"36\",\"name\":\"郝鹏勇\"},{\"num\":\"37\",\"name\":\"李国君\"},{\"num\":\"38\",\"name\":\"郭伟\"},{\"num\":\"39\",\"name\":\"何延峰\"},{\"num\":\"40\",\"name\":\"吴文凯\"},{\"num\":\"41\",\"name\":\"高婧\"},{\"num\":\"67\",\"name\":\"卞有界\"},{\"num\":\"68\",\"name\":\"王瑞\"},{\"num\":\"75\",\"name\":\"贾志伟\"}]},{\"num\":\"105\",\"name\":\"生产部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"42\"],\"children\":[{\"num\":\"43\",\"name\":\"马泽\"},{\"num\":\"44\",\"name\":\"卢建安\"},{\"num\":\"71\",\"name\":\"马鸿飞\"}]},{\"num\":\"106\",\"name\":\"市场部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"2\"],\"children\":[{\"num\":\"2\",\"name\":\"孙晋汝\"},{\"num\":\"45\",\"name\":\"柳山峰\"},{\"num\":\"46\",\"name\":\"李旭\"},{\"num\":\"47\",\"name\":\"郭忠文\"},{\"num\":\"48\",\"name\":\"赵敏\"},{\"num\":\"50\",\"name\":\"陈智\"},{\"num\":\"54\",\"name\":\"武万怀\"}]},{\"num\":\"1001\",\"name\":\"未分组\",\"superiorDept\":\"1000\",\"leaderPerNums\":[],\"children\":[{\"num\":\"1\",\"name\":\"管理员\"}]}]}]";
new RecursiveRescreening().rescreeningDeptAndPersonTree(jsonStr);
}
/**
* String jsonStr
* ="[{\"num\":\"1000\",\"name\":\"*******责任有限公司\",\"superiorDept\":\"-1\",\"leaderPerNums\":[],\"children\":[{\"num\":\"101\",\"name\":\"综合部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"42\",\"6\"],\"children\":[{\"num\":\"3\",\"name\":\"士大夫\"},{\"num\":\"4\",\"name\":\"王玉玲\"},{\"num\":\"5\",\"name\":\"于霞飞\"},{\"num\":\"6\",\"name\":\"康芳芳\"},{\"num\":\"7\",\"name\":\"冯亚鑫\"},{\"num\":\"8\",\"name\":\"侯素蓉\"},{\"num\":\"9\",\"name\":\"关玲玲\"},{\"num\":\"10\",\"name\":\"高磊\"},{\"num\":\"11\",\"name\":\"董晓虹\"},{\"num\":\"42\",\"name\":\"左素平\"},{\"num\":\"64\",\"name\":\"杨雨欣\"},{\"num\":\"65\",\"name\":\"尚秀忠\"},{\"num\":\"66\",\"name\":\"赵鹏伟\"}]},{\"num\":\"102\",\"name\":\"工程部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"2\"],\"children\":[{\"num\":\"12\",\"name\":\"李鹏翔\"},{\"num\":\"13\",\"name\":\"张学东\"},{\"num\":\"14\",\"name\":\"邱继国\"},{\"num\":\"15\",\"name\":\"胡肥东\"},{\"num\":\"16\",\"name\":\"张利锋\"},{\"num\":\"17\",\"name\":\"冯超博\"},{\"num\":\"18\",\"name\":\"刘勇\"},{\"num\":\"51\",\"name\":\"高福强\"},{\"num\":\"58\",\"name\":\"韩程\"},{\"num\":\"59\",\"name\":\"刘凯峰\"},{\"num\":\"73\",\"name\":\"武康\"},{\"num\":\"74\",\"name\":\"马窦\"}]},{\"num\":\"103\",\"name\":\"研发一部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"20\"],\"children\":[{\"num\":\"20\",\"name\":\"柳江峰\"},{\"num\":\"21\",\"name\":\"马晶\"},{\"num\":\"22\",\"name\":\"李慧仙\"},{\"num\":\"23\",\"name\":\"崔耀强\"},{\"num\":\"24\",\"name\":\"陈星星\"},{\"num\":\"25\",\"name\":\"吕晓辉\"},{\"num\":\"26\",\"name\":\"郭文军\"},{\"num\":\"27\",\"name\":\"代靖\"},{\"num\":\"28\",\"name\":\"李跃跃\"},{\"num\":\"29\",\"name\":\"张力丰\"},{\"num\":\"49\",\"name\":\"李磊\"},{\"num\":\"52\",\"name\":\"胡懿\"},{\"num\":\"53\",\"name\":\"胡晓超\"},{\"num\":\"55\",\"name\":\"靳云南\"},{\"num\":\"56\",\"name\":\"张家玮\"},{\"num\":\"57\",\"name\":\"王文杰\"},{\"num\":\"60\",\"name\":\"刘利娜\"},{\"num\":\"61\",\"name\":\"张尧\"},{\"num\":\"62\",\"name\":\"董刚刚\"},{\"num\":\"63\",\"name\":\"李少华\"},{\"num\":\"69\",\"name\":\"杨瑞\"},{\"num\":\"70\",\"name\":\"张宇\"},{\"num\":\"72\",\"name\":\"王宇璐\"},{\"num\":\"76\",\"name\":\"杨世杰\"},{\"num\":\"77\",\"name\":\"武志亮\"}]},{\"num\":\"104\",\"name\":\"研发二部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"30\"],\"children\":[{\"num\":\"30\",\"name\":\"方利红\"},{\"num\":\"31\",\"name\":\"李跃峰\"},{\"num\":\"32\",\"name\":\"赵海青\"},{\"num\":\"33\",\"name\":\"周权\"},{\"num\":\"34\",\"name\":\"魏志强\"},{\"num\":\"35\",\"name\":\"任燕卿\"},{\"num\":\"36\",\"name\":\"郝鹏勇\"},{\"num\":\"37\",\"name\":\"李国君\"},{\"num\":\"38\",\"name\":\"郭伟\"},{\"num\":\"39\",\"name\":\"何延峰\"},{\"num\":\"40\",\"name\":\"吴文凯\"},{\"num\":\"41\",\"name\":\"高婧\"},{\"num\":\"67\",\"name\":\"卞有界\"},{\"num\":\"68\",\"name\":\"王瑞\"},{\"num\":\"75\",\"name\":\"贾志伟\"}]},{\"num\":\"105\",\"name\":\"生产部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"42\"],\"children\":[{\"num\":\"43\",\"name\":\"马泽\"},{\"num\":\"44\",\"name\":\"卢建安\"},{\"num\":\"71\",\"name\":\"马鸿飞\"}]},{\"num\":\"106\",\"name\":\"市场部\",\"superiorDept\":\"1000\",\"leaderPerNums\":[\"2\"],\"children\":[{\"num\":\"2\",\"name\":\"孙晋汝\"},{\"num\":\"45\",\"name\":\"柳山峰\"},{\"num\":\"46\",\"name\":\"李旭\"},{\"num\":\"47\",\"name\":\"郭忠文\"},{\"num\":\"48\",\"name\":\"赵敏\"},{\"num\":\"50\",\"name\":\"陈智\"},{\"num\":\"54\",\"name\":\"武万怀\"}]},{\"num\":\"1001\",\"name\":\"未分组\",\"superiorDept\":\"1000\",\"leaderPerNums\":[],\"children\":[{\"num\":\"1\",\"name\":\"管理员\"}]}]}]";
*
* @param jsonStr
* @return
*/
@SuppressWarnings("unchecked")
public List