工作5天了。。。稍微有点熟悉这个框架了。。(这个是递归删除部门。)
2014-01-07 12:01
405 查看
昨天在张工的提示下完成了递归删除部门。。。。现在真的体会到基础真的 好重要啊。。。。这个代码说不定以后还用的到呢。。。
@Override public void delete(String departmentId) { Department department = this.get(departmentId); if (null != department) { // 关联关系 List<DepartmentDepartments> departmentDepartmentss = this.departmentDepartmentsDao.searchByProperty("parentDepartment.id", departmentId, true); if(departmentDepartmentss.size()>0){ delDept(departmentDepartmentss); department.setIsDeleted(true); this.save(department); //删除和部门关联的人 List<DepartmentPersons> departmentPersons = this.departmentPersonsDao.searchByProperty("department.id", departmentId, true); this.departmentPersonsDao.removeAll(departmentPersons); this.departmentDepartmentsDao.remove(this.departmentDepartmentsDao.searchByProperty("department.id", departmentId, true).get(0)); }else{ department.setIsDeleted(true); this.save(department); //删除和部门关联的人 List<DepartmentPersons> departmentPersons = this.departmentPersonsDao.searchByProperty("department.id", departmentId, true); this.departmentPersonsDao.removeAll(departmentPersons); this.departmentDepartmentsDao.remove(this.departmentDepartmentsDao.searchByProperty("department.id", departmentId, true).get(0)); return; } // TODO 仅删除自己,自己的关联---需要递归 } } public void delDept(List<DepartmentDepartments> departmentDepartments) { for (DepartmentDepartments departments : departmentDepartments) { List<DepartmentDepartments> lstDept = this.departmentDepartmentsDao.searchByProperty("parentDepartment.id", departments.getDepartmentID(), true); if (lstDept.size() > 0) { delDept(lstDept); Department department=departments.getDepartment(); if(null != department){ department.setIsDeleted(true); this.save(department); } List<DepartmentPersons> departmentPersons = this.departmentPersonsDao.searchByProperty("department.id", departments.getDepartmentID(), true); this.departmentPersonsDao.removeAll(departmentPersons); this.departmentDepartmentsDao.remove(departments); } else { //break; Department department=departments.getDepartment(); if(null != department){ department.setIsDeleted(true); this.save(department); } List<DepartmentPersons> departmentPersons = this.departmentPersonsDao.searchByProperty("department.id", departments.getDepartmentID(), true); this.departmentPersonsDao.removeAll(departmentPersons); this.departmentDepartmentsDao.remove(departments); } } }
相关文章推荐
- 一种常见的布局,抄的网易前端框架里面的,不得不说看一些符合国情的框架要远远比看一些外国的提升要快的多,毕竟这个是工作中用的到的而不是理论哈桑用得到的
- 新同事对我们开发模式不熟悉,转贴这个文章希望对他有点启发
- 移植gtk,这个配置有点早,可以了解一下他的工作流程
- 递归删除SVN工作目录下的.svn目录
- 这是一个文字游戏?“这个工作你们部门牵头xx”
- 这是一个文字游戏?“这个工作你们部门牵头xx”
- 2010-07-15 10:58 递归删除SVN工作目录下的.svn目录
- 这是一个文字游戏?“这个工作你们部门牵头xx”
- 递归删除SVN工作目录下的.svn目录
- yii2 ElasticSearch delete 稍微有点托比的es删除数据
- 这个稍微有点档次了:解析 STM32 的启动过程
- javascript在线版Excel工具集-在工作表中删除空白行
- Scrapy(爬虫框架)中,Spider类中parse()方法的工作机制
- 部门质量管理工作模板
- 从0开始写一个基于注解的轻量级分布式RPC框架(1)RPC原理和准备工作
- 递归创建目录、删除目录
- caffe整体框架的学习的博客,这个博客山寨了一个caffe框架
- 给定一个单向链表,目前已经有一个指针,指向某一个节点(记作A),现在要删除这个节点A,如何操作。
- 递归删除某个目录及目录下的所有子目录和文件
- 使用递归删除目录