Pārlūkot izejas kodu

修改机构报错

yumeng 4 gadi atpakaļ
vecāks
revīzija
e535d17a5e

+ 376 - 364
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDepartServiceImpl.java

@@ -35,389 +35,401 @@ import java.util.*;
 @Service
 public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart> implements ISysDepartService {
 
-	@Autowired
-	private SysUserDepartMapper userDepartMapper;
-	@Autowired
-	private SysDepartRoleMapper sysDepartRoleMapper;
-	@Autowired
-	private SysDepartPermissionMapper departPermissionMapper;
-	@Autowired
-	private SysDepartRolePermissionMapper departRolePermissionMapper;
-	@Autowired
-	private SysDepartRoleUserMapper departRoleUserMapper;
-	@Autowired
-	private SysDepartMapper sysDepartMapper;
+    @Autowired
+    private SysUserDepartMapper userDepartMapper;
+    @Autowired
+    private SysDepartRoleMapper sysDepartRoleMapper;
+    @Autowired
+    private SysDepartPermissionMapper departPermissionMapper;
+    @Autowired
+    private SysDepartRolePermissionMapper departRolePermissionMapper;
+    @Autowired
+    private SysDepartRoleUserMapper departRoleUserMapper;
+    @Autowired
+    private SysDepartMapper sysDepartMapper;
 
-	@Override
-	public List<SysDepartTreeModel> queryMyDeptTreeList(String departIds) {
-		//根据部门id获取所负责部门
-		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-		String[] codeArr = this.getMyDeptParentOrgCode(departIds);
-		for(int i=0;i<codeArr.length;i++){
-			query.or().likeRight(SysDepart::getOrgCode,codeArr[i]);
-		}
-		query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-		query.orderByAsc(SysDepart::getDepartOrder);
-		//将父节点ParentId设为null
-		List<SysDepart> listDepts = this.list(query);
-		for(int i=0;i<codeArr.length;i++){
-			for(SysDepart dept : listDepts){
-				if(dept.getOrgCode().equals(codeArr[i])){
-					dept.setParentId(null);
-				}
-			}
-		}
-		// 调用wrapTreeDataToTreeList方法生成树状数据
-		List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts);
-		return listResult;
-	}
+    @Override
+    public List<SysDepartTreeModel> queryMyDeptTreeList(String departIds) {
+        //根据部门id获取所负责部门
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        String[] codeArr = this.getMyDeptParentOrgCode(departIds);
+        for (int i = 0; i < codeArr.length; i++) {
+            query.or().likeRight(SysDepart::getOrgCode, codeArr[i]);
+        }
+        query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        query.orderByAsc(SysDepart::getDepartOrder);
+        //将父节点ParentId设为null
+        List<SysDepart> listDepts = this.list(query);
+        for (int i = 0; i < codeArr.length; i++) {
+            for (SysDepart dept : listDepts) {
+                if (dept.getOrgCode().equals(codeArr[i])) {
+                    dept.setParentId(null);
+                }
+            }
+        }
+        // 调用wrapTreeDataToTreeList方法生成树状数据
+        List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts);
+        return listResult;
+    }
+
+    /**
+     * queryTreeList 对应 queryTreeList 查询所有的部门数据,以树结构形式响应给前端
+     */
+    @Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
+    @Override
+    public List<SysDepartTreeModel> queryTreeList() {
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        query.orderByAsc(SysDepart::getDepartOrder);
+        List<SysDepart> list = this.list(query);
+        // 调用wrapTreeDataToTreeList方法生成树状数据
+        List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
+        return listResult;
+    }
+
+    @Cacheable(value = CacheConstant.SYS_DEPART_IDS_CACHE)
+    @Override
+    public List<DepartIdModel> queryDepartIdTreeList() {
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        query.orderByAsc(SysDepart::getDepartOrder);
+        List<SysDepart> list = this.list(query);
+        // 调用wrapTreeDataToTreeList方法生成树状数据
+        List<DepartIdModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToDepartIdTreeList(list);
+        return listResult;
+    }
+
+    /**
+     * saveDepartData 对应 add 保存用户在页面添加的新的部门对象数据
+     */
+    @Override
+    @Transactional
+    public void saveDepartData(SysDepart sysDepart, String username) {
+        if (sysDepart != null && username != null) {
+            if (sysDepart.getParentId() == null) {
+                sysDepart.setParentId("");
+            }
+            String s = UUID.randomUUID().toString().replace("-", "");
+            sysDepart.setId(s);
+            // 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级
+            // 获取父级ID
+            String parentId = sysDepart.getParentId();
+            //update-begin--Author:baihailong  Date:20191209 for:部门编码规则生成器做成公用配置
+
+            if (!Check.isNull(parentId)) {
+                JSONObject formData = new JSONObject();
+                formData.put("parentId", parentId);
+                String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.DEPART, formData);
+                sysDepart.setOrgCode(codeArray[0]);
+                String orgType = codeArray[1];
+                sysDepart.setOrgType(String.valueOf(orgType));
+            }
 
-	/**
-	 * queryTreeList 对应 queryTreeList 查询所有的部门数据,以树结构形式响应给前端
-	 */
-	@Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
-	@Override
-	public List<SysDepartTreeModel> queryTreeList() {
-		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-		query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-		query.orderByAsc(SysDepart::getDepartOrder);
-		List<SysDepart> list = this.list(query);
-		// 调用wrapTreeDataToTreeList方法生成树状数据
-		List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
-		return listResult;
-	}
 
-	@Cacheable(value = CacheConstant.SYS_DEPART_IDS_CACHE)
-	@Override
-	public List<DepartIdModel> queryDepartIdTreeList() {
-		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-		query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-		query.orderByAsc(SysDepart::getDepartOrder);
-		List<SysDepart> list = this.list(query);
-		// 调用wrapTreeDataToTreeList方法生成树状数据
-		List<DepartIdModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToDepartIdTreeList(list);
-		return listResult;
-	}
+            //update-end--Author:baihailong  Date:20191209 for:部门编码规则生成器做成公用配置
 
-	/**
-	 * saveDepartData 对应 add 保存用户在页面添加的新的部门对象数据
-	 */
-	@Override
-	@Transactional
-	public void saveDepartData(SysDepart sysDepart, String username) {
-		if (sysDepart != null && username != null) {
-			if (sysDepart.getParentId() == null) {
-				sysDepart.setParentId("");
-			}
-			String s = UUID.randomUUID().toString().replace("-", "");
-			sysDepart.setId(s);
-			// 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级
-			// 获取父级ID
-			String parentId = sysDepart.getParentId();
-			//update-begin--Author:baihailong  Date:20191209 for:部门编码规则生成器做成公用配置
-			JSONObject formData = new JSONObject();
-			formData.put("parentId",parentId);
-			String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.DEPART,formData);
-			//update-end--Author:baihailong  Date:20191209 for:部门编码规则生成器做成公用配置
-			sysDepart.setOrgCode(codeArray[0]);
-			String orgType = codeArray[1];
-			sysDepart.setOrgType(String.valueOf(orgType));
-			sysDepart.setCreateTime(new Date());
-			sysDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
-			this.save(sysDepart);
-		}
 
-	}
+            sysDepart.setCreateTime(new Date());
+            sysDepart.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
+            this.save(sysDepart);
+        }
 
-	/**
-	 * saveDepartData 的调用方法,生成部门编码和部门类型(作废逻辑)
-	 * @deprecated
-	 * @param parentId
-	 * @return
-	 */
-	private String[] generateOrgCode(String parentId) {
-		//update-begin--Author:Steve  Date:20190201 for:组织机构添加数据代码调整
-				LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-				LambdaQueryWrapper<SysDepart> query1 = new LambdaQueryWrapper<SysDepart>();
-				String[] strArray = new String[2];
-		        // 创建一个List集合,存储查询返回的所有SysDepart对象
-		        List<SysDepart> departList = new ArrayList<>();
-				// 定义新编码字符串
-				String newOrgCode = "";
-				// 定义旧编码字符串
-				String oldOrgCode = "";
-				// 定义部门类型
-				String orgType = "";
-				// 如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回
-				if (StringUtil.isNullOrEmpty(parentId)) {
-					// 线判断数据库中的表是否为空,空则直接返回初始编码
-					query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId);
-					query1.orderByDesc(SysDepart::getOrgCode);
-					departList = this.list(query1);
-					if(departList == null || departList.size() == 0) {
-						strArray[0] = YouBianCodeUtil.getNextYouBianCode(null);
-						strArray[1] = "1";
-						return strArray;
-					}else {
-					SysDepart depart = departList.get(0);
-					oldOrgCode = depart.getOrgCode();
-					orgType = depart.getOrgType();
-					newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode);
-					}
-				} else { // 反之则查询出所有同级的部门,获取结果后有两种情况,有同级和没有同级
-					// 封装查询同级的条件
-					query.eq(SysDepart::getParentId, parentId);
-					// 降序排序
-					query.orderByDesc(SysDepart::getOrgCode);
-					// 查询出同级部门的集合
-					List<SysDepart> parentList = this.list(query);
-					// 查询出父级部门
-					SysDepart depart = this.getById(parentId);
-					// 获取父级部门的Code
-					String parentCode = depart.getOrgCode();
-					// 根据父级部门类型算出当前部门的类型
-					orgType = String.valueOf(Integer.valueOf(depart.getOrgType()) + 1);
-					// 处理同级部门为null的情况
-					if (parentList == null || parentList.size() == 0) {
-						// 直接生成当前的部门编码并返回
-						newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null);
-					} else { //处理有同级部门的情况
-						// 获取同级部门的编码,利用工具类
-						String subCode = parentList.get(0).getOrgCode();
-						// 返回生成的当前部门编码
-						newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode);
-					}
-				}
-				// 返回最终封装了部门编码和部门类型的数组
-				strArray[0] = newOrgCode;
-				strArray[1] = orgType;
-				return strArray;
-		//update-end--Author:Steve  Date:20190201 for:组织机构添加数据代码调整
-	}
+    }
 
-	/**
-	 * updateDepartDataById 对应 edit 根据部门主键来更新对应的部门数据
-	 */
-	@Override
-	@Transactional
-	public Boolean updateDepartDataById(SysDepart sysDepart, String username) {
-		if (sysDepart != null && username != null) {
-			sysDepart.setUpdateTime(new Date());
-			sysDepart.setUpdateBy(username);
-			this.updateById(sysDepart);
-			return true;
-		} else {
-			return false;
-		}
+    /**
+     * saveDepartData 的调用方法,生成部门编码和部门类型(作废逻辑)
+     *
+     * @param parentId
+     * @return
+     * @deprecated
+     */
+    private String[] generateOrgCode(String parentId) {
+        //update-begin--Author:Steve  Date:20190201 for:组织机构添加数据代码调整
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        LambdaQueryWrapper<SysDepart> query1 = new LambdaQueryWrapper<SysDepart>();
+        String[] strArray = new String[2];
+        // 创建一个List集合,存储查询返回的所有SysDepart对象
+        List<SysDepart> departList = new ArrayList<>();
+        // 定义新编码字符串
+        String newOrgCode = "";
+        // 定义旧编码字符串
+        String oldOrgCode = "";
+        // 定义部门类型
+        String orgType = "";
+        // 如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回
+        if (StringUtil.isNullOrEmpty(parentId)) {
+            // 线判断数据库中的表是否为空,空则直接返回初始编码
+            query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId);
+            query1.orderByDesc(SysDepart::getOrgCode);
+            departList = this.list(query1);
+            if (departList == null || departList.size() == 0) {
+                strArray[0] = YouBianCodeUtil.getNextYouBianCode(null);
+                strArray[1] = "1";
+                return strArray;
+            } else {
+                SysDepart depart = departList.get(0);
+                oldOrgCode = depart.getOrgCode();
+                orgType = depart.getOrgType();
+                newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode);
+            }
+        } else { // 反之则查询出所有同级的部门,获取结果后有两种情况,有同级和没有同级
+            // 封装查询同级的条件
+            query.eq(SysDepart::getParentId, parentId);
+            // 降序排序
+            query.orderByDesc(SysDepart::getOrgCode);
+            // 查询出同级部门的集合
+            List<SysDepart> parentList = this.list(query);
+            // 查询出父级部门
+            SysDepart depart = this.getById(parentId);
+            // 获取父级部门的Code
+            String parentCode = depart.getOrgCode();
+            // 根据父级部门类型算出当前部门的类型
+            orgType = String.valueOf(Integer.valueOf(depart.getOrgType()) + 1);
+            // 处理同级部门为null的情况
+            if (parentList == null || parentList.size() == 0) {
+                // 直接生成当前的部门编码并返回
+                newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null);
+            } else { //处理有同级部门的情况
+                // 获取同级部门的编码,利用工具类
+                String subCode = parentList.get(0).getOrgCode();
+                // 返回生成的当前部门编码
+                newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode);
+            }
+        }
+        // 返回最终封装了部门编码和部门类型的数组
+        strArray[0] = newOrgCode;
+        strArray[1] = orgType;
+        return strArray;
+        //update-end--Author:Steve  Date:20190201 for:组织机构添加数据代码调整
+    }
 
-	}
+    /**
+     * updateDepartDataById 对应 edit 根据部门主键来更新对应的部门数据
+     */
+    @Override
+    @Transactional
+    public Boolean updateDepartDataById(SysDepart sysDepart, String username) {
+        if (sysDepart != null && username != null) {
+            sysDepart.setUpdateTime(new Date());
+            sysDepart.setUpdateBy(username);
+            this.updateById(sysDepart);
+            return true;
+        } else {
+            return false;
+        }
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public void deleteBatchWithChildren(List<String> ids) {
-		List<String> idList = new ArrayList<String>();
-		for(String id: ids) {
-			idList.add(id);
-			this.checkChildrenExists(id, idList);
-		}
-		this.removeByIds(idList);
-		//根据部门id获取部门角色id
-		List<String> roleIdList = new ArrayList<>();
-		LambdaQueryWrapper<SysDepartRole> query = new LambdaQueryWrapper<>();
-		query.select(SysDepartRole::getId).in(SysDepartRole::getDepartId, idList);
-		List<SysDepartRole> depRoleList = sysDepartRoleMapper.selectList(query);
-		for(SysDepartRole deptRole : depRoleList){
-			roleIdList.add(deptRole.getId());
-		}
-		//根据部门id删除用户与部门关系
-		userDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getDepId,idList));
-		//根据部门id删除部门授权
-		departPermissionMapper.delete(new LambdaQueryWrapper<SysDepartPermission>().in(SysDepartPermission::getDepartId,idList));
-		//根据部门id删除部门角色
-		sysDepartRoleMapper.delete(new LambdaQueryWrapper<SysDepartRole>().in(SysDepartRole::getDepartId,idList));
-		if(roleIdList != null && roleIdList.size()>0){
-			//根据角色id删除部门角色授权
-			departRolePermissionMapper.delete(new LambdaQueryWrapper<SysDepartRolePermission>().in(SysDepartRolePermission::getRoleId,roleIdList));
-			//根据角色id删除部门角色用户信息
-			departRoleUserMapper.delete(new LambdaQueryWrapper<SysDepartRoleUser>().in(SysDepartRoleUser::getDroleId,roleIdList));
-		}
-	}
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteBatchWithChildren(List<String> ids) {
+        List<String> idList = new ArrayList<String>();
+        for (String id : ids) {
+            idList.add(id);
+            this.checkChildrenExists(id, idList);
+        }
+        this.removeByIds(idList);
+        //根据部门id获取部门角色id
+        List<String> roleIdList = new ArrayList<>();
+        LambdaQueryWrapper<SysDepartRole> query = new LambdaQueryWrapper<>();
+        query.select(SysDepartRole::getId).in(SysDepartRole::getDepartId, idList);
+        List<SysDepartRole> depRoleList = sysDepartRoleMapper.selectList(query);
+        for (SysDepartRole deptRole : depRoleList) {
+            roleIdList.add(deptRole.getId());
+        }
+        //根据部门id删除用户与部门关系
+        userDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getDepId, idList));
+        //根据部门id删除部门授权
+        departPermissionMapper.delete(new LambdaQueryWrapper<SysDepartPermission>().in(SysDepartPermission::getDepartId, idList));
+        //根据部门id删除部门角色
+        sysDepartRoleMapper.delete(new LambdaQueryWrapper<SysDepartRole>().in(SysDepartRole::getDepartId, idList));
+        if (roleIdList != null && roleIdList.size() > 0) {
+            //根据角色id删除部门角色授权
+            departRolePermissionMapper.delete(new LambdaQueryWrapper<SysDepartRolePermission>().in(SysDepartRolePermission::getRoleId, roleIdList));
+            //根据角色id删除部门角色用户信息
+            departRoleUserMapper.delete(new LambdaQueryWrapper<SysDepartRoleUser>().in(SysDepartRoleUser::getDroleId, roleIdList));
+        }
+    }
 
-	@Override
-	public List<String> getSubDepIdsByDepId(String departId) {
-		return this.baseMapper.getSubDepIdsByDepId(departId);
-	}
+    @Override
+    public List<String> getSubDepIdsByDepId(String departId) {
+        return this.baseMapper.getSubDepIdsByDepId(departId);
+    }
 
-	@Override
-	public List<String> getMySubDepIdsByDepId(String departIds) {
-		//根据部门id获取所负责部门
-		String[] codeArr = this.getMyDeptParentOrgCode(departIds);
-		return this.baseMapper.getSubDepIdsByOrgCodes(codeArr);
-	}
+    @Override
+    public List<String> getMySubDepIdsByDepId(String departIds) {
+        //根据部门id获取所负责部门
+        String[] codeArr = this.getMyDeptParentOrgCode(departIds);
+        return this.baseMapper.getSubDepIdsByOrgCodes(codeArr);
+    }
 
-	/**
-	 * <p>
-	 * 根据关键字搜索相关的部门数据
-	 * </p>
-	 */
-	@Override
-	public List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds) {
-		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-		List<SysDepartTreeModel> newList = new ArrayList<>();
-		//myDeptSearch不为空时为我的部门搜索,只搜索所负责部门
-		if(!StringUtil.isNullOrEmpty(myDeptSearch)){
-			//departIds 为空普通用户或没有管理部门
-			if(StringUtil.isNullOrEmpty(departIds)){
-				return newList;
-			}
-			//根据部门id获取所负责部门
-			String[] codeArr = this.getMyDeptParentOrgCode(departIds);
-			for(int i=0;i<codeArr.length;i++){
-				query.or().likeRight(SysDepart::getOrgCode,codeArr[i]);
-			}
-			query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-		}
-		query.like(SysDepart::getDepartName, keyWord);
-		//update-begin--Author:huangzhilin  Date:20140417 for:[bugfree号]组织机构搜索回显优化--------------------
-		SysDepartTreeModel model = new SysDepartTreeModel();
-		List<SysDepart> departList = this.list(query);
-		if(departList.size() > 0) {
-			for(SysDepart depart : departList) {
-				model = new SysDepartTreeModel(depart);
-				model.setChildren(null);
-	    //update-end--Author:huangzhilin  Date:20140417 for:[bugfree号]组织机构搜索功回显优化----------------------
-				newList.add(model);
-			}
-			return newList;
-		}
-		return null;
-	}
+    /**
+     * <p>
+     * 根据关键字搜索相关的部门数据
+     * </p>
+     */
+    @Override
+    public List<SysDepartTreeModel> searhBy(String keyWord, String myDeptSearch, String departIds) {
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        List<SysDepartTreeModel> newList = new ArrayList<>();
+        //myDeptSearch不为空时为我的部门搜索,只搜索所负责部门
+        if (!StringUtil.isNullOrEmpty(myDeptSearch)) {
+            //departIds 为空普通用户或没有管理部门
+            if (StringUtil.isNullOrEmpty(departIds)) {
+                return newList;
+            }
+            //根据部门id获取所负责部门
+            String[] codeArr = this.getMyDeptParentOrgCode(departIds);
+            for (int i = 0; i < codeArr.length; i++) {
+                query.or().likeRight(SysDepart::getOrgCode, codeArr[i]);
+            }
+            query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        }
+        query.like(SysDepart::getDepartName, keyWord);
+        //update-begin--Author:huangzhilin  Date:20140417 for:[bugfree号]组织机构搜索回显优化--------------------
+        SysDepartTreeModel model = new SysDepartTreeModel();
+        List<SysDepart> departList = this.list(query);
+        if (departList.size() > 0) {
+            for (SysDepart depart : departList) {
+                model = new SysDepartTreeModel(depart);
+                model.setChildren(null);
+                //update-end--Author:huangzhilin  Date:20140417 for:[bugfree号]组织机构搜索功回显优化----------------------
+                newList.add(model);
+            }
+            return newList;
+        }
+        return null;
+    }
 
-	/**
-	 * 根据部门id删除并且删除其可能存在的子级任何部门
-	 */
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public boolean delete(String id) {
-		List<String> idList = new ArrayList<>();
-		idList.add(id);
-		this.checkChildrenExists(id, idList);
-		//清空部门树内存
-		//FindsDepartsChildrenUtil.clearDepartIdModel();
-		boolean ok = this.removeByIds(idList);
-		//根据部门id获取部门角色id
-		List<String> roleIdList = new ArrayList<>();
-		LambdaQueryWrapper<SysDepartRole> query = new LambdaQueryWrapper<>();
-		query.select(SysDepartRole::getId).in(SysDepartRole::getDepartId, idList);
-		List<SysDepartRole> depRoleList = sysDepartRoleMapper.selectList(query);
-		for(SysDepartRole deptRole : depRoleList){
-			roleIdList.add(deptRole.getId());
-		}
-		//根据部门id删除用户与部门关系
-		userDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getDepId,idList));
-		//根据部门id删除部门授权
-		departPermissionMapper.delete(new LambdaQueryWrapper<SysDepartPermission>().in(SysDepartPermission::getDepartId,idList));
-		//根据部门id删除部门角色
-		sysDepartRoleMapper.delete(new LambdaQueryWrapper<SysDepartRole>().in(SysDepartRole::getDepartId,idList));
-		if(roleIdList != null && roleIdList.size()>0){
-			//根据角色id删除部门角色授权
-			departRolePermissionMapper.delete(new LambdaQueryWrapper<SysDepartRolePermission>().in(SysDepartRolePermission::getRoleId,roleIdList));
-			//根据角色id删除部门角色用户信息
-			departRoleUserMapper.delete(new LambdaQueryWrapper<SysDepartRoleUser>().in(SysDepartRoleUser::getDroleId,roleIdList));
-		}
-		return ok;
-	}
+    /**
+     * 根据部门id删除并且删除其可能存在的子级任何部门
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delete(String id) {
+        List<String> idList = new ArrayList<>();
+        idList.add(id);
+        this.checkChildrenExists(id, idList);
+        //清空部门树内存
+        //FindsDepartsChildrenUtil.clearDepartIdModel();
+        boolean ok = this.removeByIds(idList);
+        //根据部门id获取部门角色id
+        List<String> roleIdList = new ArrayList<>();
+        LambdaQueryWrapper<SysDepartRole> query = new LambdaQueryWrapper<>();
+        query.select(SysDepartRole::getId).in(SysDepartRole::getDepartId, idList);
+        List<SysDepartRole> depRoleList = sysDepartRoleMapper.selectList(query);
+        for (SysDepartRole deptRole : depRoleList) {
+            roleIdList.add(deptRole.getId());
+        }
+        //根据部门id删除用户与部门关系
+        userDepartMapper.delete(new LambdaQueryWrapper<SysUserDepart>().in(SysUserDepart::getDepId, idList));
+        //根据部门id删除部门授权
+        departPermissionMapper.delete(new LambdaQueryWrapper<SysDepartPermission>().in(SysDepartPermission::getDepartId, idList));
+        //根据部门id删除部门角色
+        sysDepartRoleMapper.delete(new LambdaQueryWrapper<SysDepartRole>().in(SysDepartRole::getDepartId, idList));
+        if (roleIdList != null && roleIdList.size() > 0) {
+            //根据角色id删除部门角色授权
+            departRolePermissionMapper.delete(new LambdaQueryWrapper<SysDepartRolePermission>().in(SysDepartRolePermission::getRoleId, roleIdList));
+            //根据角色id删除部门角色用户信息
+            departRoleUserMapper.delete(new LambdaQueryWrapper<SysDepartRoleUser>().in(SysDepartRoleUser::getDroleId, roleIdList));
+        }
+        return ok;
+    }
 
-	/**
-	 * delete 方法调用
-	 * @param id
-	 * @param idList
-	 */
-	private void checkChildrenExists(String id, List<String> idList) {
-		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-		query.eq(SysDepart::getParentId,id);
-		List<SysDepart> departList = this.list(query);
-		if(departList != null && departList.size() > 0) {
-			for(SysDepart depart : departList) {
-				idList.add(depart.getId());
-				this.checkChildrenExists(depart.getId(), idList);
-			}
-		}
-	}
+    /**
+     * delete 方法调用
+     *
+     * @param id
+     * @param idList
+     */
+    private void checkChildrenExists(String id, List<String> idList) {
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        query.eq(SysDepart::getParentId, id);
+        List<SysDepart> departList = this.list(query);
+        if (departList != null && departList.size() > 0) {
+            for (SysDepart depart : departList) {
+                idList.add(depart.getId());
+                this.checkChildrenExists(depart.getId(), idList);
+            }
+        }
+    }
 
-	@Override
-	public List<SysDepart> queryUserDeparts(String userId) {
-		return baseMapper.queryUserDeparts(userId);
-	}
+    @Override
+    public List<SysDepart> queryUserDeparts(String userId) {
+        return baseMapper.queryUserDeparts(userId);
+    }
 
-	@Override
-	public List<SysDepart> queryDepartsByUsername(String username) {
-		return baseMapper.queryDepartsByUsername(username);
-	}
+    @Override
+    public List<SysDepart> queryDepartsByUsername(String username) {
+        return baseMapper.queryDepartsByUsername(username);
+    }
 
-	/**
-	 * 根据用户所负责部门ids获取父级部门编码
-	 * @param departIds
-	 * @return
-	 */
-	private String[] getMyDeptParentOrgCode(String departIds){
-		//根据部门id查询所负责部门
-		LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
-		query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
-		query.in(SysDepart::getId, Arrays.asList(departIds.split(",")));
-		query.orderByAsc(SysDepart::getOrgCode);
-		List<SysDepart> list = this.list(query);
-		//查找根部门
-		if(list == null || list.size()==0){
-			return null;
-		}
-		String orgCode = this.getMyDeptParentNode(list);
-		String[] codeArr = orgCode.split(",");
-		return codeArr;
-	}
+    /**
+     * 根据用户所负责部门ids获取父级部门编码
+     *
+     * @param departIds
+     * @return
+     */
+    private String[] getMyDeptParentOrgCode(String departIds) {
+        //根据部门id查询所负责部门
+        LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
+        query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
+        query.in(SysDepart::getId, Arrays.asList(departIds.split(",")));
+        query.orderByAsc(SysDepart::getOrgCode);
+        List<SysDepart> list = this.list(query);
+        //查找根部门
+        if (list == null || list.size() == 0) {
+            return null;
+        }
+        String orgCode = this.getMyDeptParentNode(list);
+        String[] codeArr = orgCode.split(",");
+        return codeArr;
+    }
 
-	/**
-	 * 获取负责部门父节点
-	 * @param list
-	 * @return
-	 */
-	private String getMyDeptParentNode(List<SysDepart> list){
-		Map<String,String> map = new HashMap<>();
-		//1.先将同一公司归类
-		for(SysDepart dept : list){
-			String code = dept.getOrgCode().substring(0,3);
-			if(map.containsKey(code)){
-				String mapCode = map.get(code)+","+dept.getOrgCode();
-				map.put(code,mapCode);
-			}else{
-				map.put(code,dept.getOrgCode());
-			}
-		}
-		StringBuffer parentOrgCode = new StringBuffer();
-		//2.获取同一公司的根节点
-		for(String str : map.values()){
-			String[] arrStr = str.split(",");
-			parentOrgCode.append(",").append(this.getMinLengthNode(arrStr));
-		}
-		return parentOrgCode.substring(1);
-	}
+    /**
+     * 获取负责部门父节点
+     *
+     * @param list
+     * @return
+     */
+    private String getMyDeptParentNode(List<SysDepart> list) {
+        Map<String, String> map = new HashMap<>();
+        //1.先将同一公司归类
+        for (SysDepart dept : list) {
+            String code = dept.getOrgCode().substring(0, 3);
+            if (map.containsKey(code)) {
+                String mapCode = map.get(code) + "," + dept.getOrgCode();
+                map.put(code, mapCode);
+            } else {
+                map.put(code, dept.getOrgCode());
+            }
+        }
+        StringBuffer parentOrgCode = new StringBuffer();
+        //2.获取同一公司的根节点
+        for (String str : map.values()) {
+            String[] arrStr = str.split(",");
+            parentOrgCode.append(",").append(this.getMinLengthNode(arrStr));
+        }
+        return parentOrgCode.substring(1);
+    }
 
-	/**
-	 * 获取同一公司中部门编码长度最小的部门
-	 * @param str
-	 * @return
-	 */
-	private String getMinLengthNode(String[] str){
-		int min =str[0].length();
-		String orgCode = str[0];
-		for(int i =1;i<str.length;i++){
-			if(str[i].length()<=min){
-				min = str[i].length();
-				orgCode = orgCode+","+str[i];
-			}
-		}
-		return orgCode;
-	}
+    /**
+     * 获取同一公司中部门编码长度最小的部门
+     *
+     * @param str
+     * @return
+     */
+    private String getMinLengthNode(String[] str) {
+        int min = str[0].length();
+        String orgCode = str[0];
+        for (int i = 1; i < str.length; i++) {
+            if (str[i].length() <= min) {
+                min = str[i].length();
+                orgCode = orgCode + "," + str[i];
+            }
+        }
+        return orgCode;
+    }
 
     @Override
     public String selectIdByOrdCode(String orgCode) {