您的位置:首页 > 其它

工作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);
}
}
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: