|
@@ -43,14 +43,18 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
if (superiorId == null || departmentMapper.selectCount(new QueryWrapper<Department>()
|
|
if (superiorId == null || departmentMapper.selectCount(new QueryWrapper<Department>()
|
|
.eq("department_id", superiorId)
|
|
.eq("department_id", superiorId)
|
|
.eq("company_id", companyId)) == 1) {
|
|
.eq("company_id", companyId)) == 1) {
|
|
-// String
|
|
|
|
Department department = new Department()
|
|
Department department = new Department()
|
|
.setDepartmentName(departmentName)
|
|
.setDepartmentName(departmentName)
|
|
.setSuperiorId(superiorId)
|
|
.setSuperiorId(superiorId)
|
|
.setCompanyId(companyId);
|
|
.setCompanyId(companyId);
|
|
- if (departmentMapper.insert(department) == 0) {
|
|
|
|
- httpRespMsg.setError("新增失败");
|
|
|
|
|
|
+ departmentMapper.insert(department);
|
|
|
|
+ //更新最顶级部门
|
|
|
|
+ Integer masterId = department.getDepartmentId();
|
|
|
|
+ while (superiorId != null) {
|
|
|
|
+ masterId = superiorId;
|
|
|
|
+ superiorId = departmentMapper.selectById(masterId).getSuperiorId();
|
|
}
|
|
}
|
|
|
|
+ departmentMapper.updateById(department.setMasterId(masterId));
|
|
} else {
|
|
} else {
|
|
httpRespMsg.setError("无所选父级部门");
|
|
httpRespMsg.setError("无所选父级部门");
|
|
}
|
|
}
|
|
@@ -61,37 +65,17 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|
|
}
|
|
}
|
|
|
|
|
|
- //对比部门上级id是否被修改过了
|
|
|
|
- private boolean compareSuperiorId(Integer id1, Integer id2) {
|
|
|
|
- if (id1 == null) {
|
|
|
|
- return id2 == null;
|
|
|
|
- } else if (id2 == null) {
|
|
|
|
- return false;
|
|
|
|
- } else {
|
|
|
|
- return id1.equals(id2);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
//更新部门
|
|
//更新部门
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg updateDepartment(Integer departmentId, String departmentName, Integer superiorId,
|
|
|
|
- HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg updateDepartment(Integer departmentId, String departmentName, HttpServletRequest request) {
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
try {
|
|
try {
|
|
Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
|
|
Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
|
|
Department department = departmentMapper.selectById(departmentId);
|
|
Department department = departmentMapper.selectById(departmentId);
|
|
if (!department.getCompanyId().equals(companyId)) {
|
|
if (!department.getCompanyId().equals(companyId)) {
|
|
httpRespMsg.setError("不能修改其他公司的部门");
|
|
httpRespMsg.setError("不能修改其他公司的部门");
|
|
- } else if (!compareSuperiorId(department.getSuperiorId(), superiorId) && checkBranch(departmentId)) {
|
|
|
|
- httpRespMsg.setError("不能在有子级部门时修改父级部门");
|
|
|
|
- } else if (superiorId != null && departmentMapper.selectCount(new QueryWrapper<Department>()
|
|
|
|
- .eq("department_id", superiorId)
|
|
|
|
- .eq("company_id", companyId)) == 0) {
|
|
|
|
- httpRespMsg.setError("无所选父级部门");
|
|
|
|
} else {
|
|
} else {
|
|
- if (departmentMapper.updateById(department
|
|
|
|
- .setDepartmentName(departmentName)
|
|
|
|
- .setSuperiorId(superiorId)) == 0) {
|
|
|
|
|
|
+ if (departmentMapper.updateById(department.setDepartmentName(departmentName)) == 0) {
|
|
httpRespMsg.setError("修改失败");
|
|
httpRespMsg.setError("修改失败");
|
|
}
|
|
}
|
|
}
|
|
}
|