|
@@ -36,7 +36,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
|
|
|
|
//新增部门
|
|
//新增部门
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, 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();
|
|
@@ -47,9 +47,18 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
Department department = new Department()
|
|
Department department = new Department()
|
|
.setDepartmentName(departmentName)
|
|
.setDepartmentName(departmentName)
|
|
.setSuperiorId(superiorId)
|
|
.setSuperiorId(superiorId)
|
|
|
|
+ .setManagerId(managerId)
|
|
.setCompanyId(companyId);
|
|
.setCompanyId(companyId);
|
|
if (departmentMapper.insert(department) == 0) {
|
|
if (departmentMapper.insert(department) == 0) {
|
|
- httpRespMsg.setError("修改失败");
|
|
|
|
|
|
+ httpRespMsg.setError("添加失败");
|
|
|
|
+ } else {
|
|
|
|
+ //修改负责人的部门
|
|
|
|
+ if (managerId != null) {
|
|
|
|
+ User manager = new User();
|
|
|
|
+ manager.setId(managerId);
|
|
|
|
+ manager.setManageDeptId(department.getDepartmentId());
|
|
|
|
+ userMapper.updateById(manager);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
httpRespMsg.setError("无所选父级部门");
|
|
httpRespMsg.setError("无所选父级部门");
|
|
@@ -63,7 +72,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
|
|
|
|
//更新部门
|
|
//更新部门
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg updateDepartment(Integer departmentId, String departmentName, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg updateDepartment(Integer departmentId, String departmentName,String managerId, 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();
|
|
@@ -71,8 +80,34 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
if (!department.getCompanyId().equals(companyId)) {
|
|
if (!department.getCompanyId().equals(companyId)) {
|
|
httpRespMsg.setError("不能修改其他公司的部门");
|
|
httpRespMsg.setError("不能修改其他公司的部门");
|
|
} else {
|
|
} else {
|
|
- if (departmentMapper.updateById(department.setDepartmentName(departmentName)) == 0) {
|
|
|
|
|
|
+ department.setDepartmentName(departmentName);
|
|
|
|
+ department.setManagerId(managerId);
|
|
|
|
+ if (departmentMapper.updateById(department) == 0) {
|
|
httpRespMsg.setError("修改失败");
|
|
httpRespMsg.setError("修改失败");
|
|
|
|
+ } else {
|
|
|
|
+ //修改负责人的部门
|
|
|
|
+ if (managerId != null) {
|
|
|
|
+ User manager = userMapper.selectById(managerId);
|
|
|
|
+ if (!departmentId.equals(manager.getManageDeptId())) {
|
|
|
|
+ //部门负责人发生变化了,找到之前的部门的负责人,取消管理的部门
|
|
|
|
+ User manageDeptOldUser= userMapper.selectOne(new QueryWrapper<User>().eq("manage_dept_id", departmentId));
|
|
|
|
+ if (manageDeptOldUser != null) {
|
|
|
|
+ manageDeptOldUser.setManageDeptId(0);
|
|
|
|
+ userMapper.updateById(manageDeptOldUser);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //新的部门负责人设置管理的部门
|
|
|
|
+ manager.setManageDeptId(departmentId);
|
|
|
|
+ userMapper.updateById(manager);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //取消了部门管理员
|
|
|
|
+ User manageDeptOldUser= userMapper.selectOne(new QueryWrapper<User>().eq("manage_dept_id", departmentId));
|
|
|
|
+ if (manageDeptOldUser != null) {
|
|
|
|
+ manageDeptOldUser.setManageDeptId(0);
|
|
|
|
+ userMapper.updateById(manageDeptOldUser);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (NullPointerException e) {
|
|
} catch (NullPointerException e) {
|
|
@@ -100,6 +135,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
userMapper.update(new User().setDepartmentId(0).setDepartmentCascade("0"), new QueryWrapper<User>()
|
|
userMapper.update(new User().setDepartmentId(0).setDepartmentCascade("0"), new QueryWrapper<User>()
|
|
.eq("company_id", companyId)
|
|
.eq("company_id", companyId)
|
|
.eq("department_id", departmentId));
|
|
.eq("department_id", departmentId));
|
|
|
|
+ //修改部门负责人
|
|
|
|
+ userMapper.update(new User().setManageDeptId(0), new QueryWrapper<User>()
|
|
|
|
+ .eq("manage_dept_id", departmentId));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (NullPointerException e) {
|
|
} catch (NullPointerException e) {
|
|
@@ -242,6 +280,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
//这俩东西并没有继承关系
|
|
//这俩东西并没有继承关系
|
|
return new DepartmentVO()
|
|
return new DepartmentVO()
|
|
.setId(department.getDepartmentId())
|
|
.setId(department.getDepartmentId())
|
|
|
|
+ .setManagerId(department.getManagerId())
|
|
.setLabel(department.getDepartmentName())
|
|
.setLabel(department.getDepartmentName())
|
|
.setParentId(department.getSuperiorId());
|
|
.setParentId(department.getSuperiorId());
|
|
}
|
|
}
|
|
@@ -293,16 +332,16 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
List<Map<String, Object>> list = departmentMapper
|
|
List<Map<String, Object>> list = departmentMapper
|
|
.getCostByUser(getBranchDepartment(departmentId, companyId), startDate, endDate);
|
|
.getCostByUser(getBranchDepartment(departmentId, companyId), startDate, endDate);
|
|
Map<String, List<Map<String, Object>>> tempMap = new HashMap<>();
|
|
Map<String, List<Map<String, Object>>> tempMap = new HashMap<>();
|
|
- Double totalCostMoney = (double) 0;
|
|
|
|
|
|
+ BigDecimal totalCostMoney = new BigDecimal(0);
|
|
for (Map<String, Object> map : list) {
|
|
for (Map<String, Object> map : list) {
|
|
if (tempMap.containsKey(map.get("user"))) {
|
|
if (tempMap.containsKey(map.get("user"))) {
|
|
//这个名字已经装进数组中了
|
|
//这个名字已经装进数组中了
|
|
List<Map<String, Object>> tempList = tempMap.get(map.get("user"));
|
|
List<Map<String, Object>> tempList = tempMap.get(map.get("user"));
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
dataMap.put("project", map.get("project"));
|
|
dataMap.put("project", map.get("project"));
|
|
- Double money = (Double) map.getOrDefault("money", 0);
|
|
|
|
|
|
+ BigDecimal money = (BigDecimal) map.getOrDefault("money", 0);
|
|
Double time = (Double) map.getOrDefault("time", 0);
|
|
Double time = (Double) map.getOrDefault("time", 0);
|
|
- totalCostMoney += money;
|
|
|
|
|
|
+ totalCostMoney = totalCostMoney.add(money);
|
|
dataMap.put("money", money);
|
|
dataMap.put("money", money);
|
|
dataMap.put("time", time);
|
|
dataMap.put("time", time);
|
|
tempList.add(dataMap);
|
|
tempList.add(dataMap);
|
|
@@ -312,9 +351,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
if (map.containsKey("project")) {
|
|
if (map.containsKey("project")) {
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
Map<String, Object> dataMap = new HashMap<>();
|
|
dataMap.put("project", map.get("project"));
|
|
dataMap.put("project", map.get("project"));
|
|
- Double money = (Double) map.getOrDefault("money", 0);
|
|
|
|
|
|
+ BigDecimal money = (BigDecimal) map.getOrDefault("money", 0);
|
|
Double time = (Double) map.getOrDefault("time", 0);
|
|
Double time = (Double) map.getOrDefault("time", 0);
|
|
- totalCostMoney += money;
|
|
|
|
|
|
+ totalCostMoney = totalCostMoney.add(money);
|
|
dataMap.put("money", money);
|
|
dataMap.put("money", money);
|
|
dataMap.put("time", time);
|
|
dataMap.put("time", time);
|
|
tempList.add(dataMap);
|
|
tempList.add(dataMap);
|