|
@@ -76,6 +76,8 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
private UserWorkTypeMapper userWorkTypeMapper;
|
|
private UserWorkTypeMapper userWorkTypeMapper;
|
|
@Resource
|
|
@Resource
|
|
private PlanService planService;
|
|
private PlanService planService;
|
|
|
|
+ @Resource
|
|
|
|
+ private DepartmentQualityManagerMapper departmentQualityManagerMapper;
|
|
|
|
|
|
@Value("${corpId}")
|
|
@Value("${corpId}")
|
|
private String corpId;
|
|
private String corpId;
|
|
@@ -83,7 +85,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
private String providerSecret;
|
|
private String providerSecret;
|
|
//新增部门
|
|
//新增部门
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg insertDepartment(String departmentName, Integer superiorId, String managerId, String reportAuditUserid,String otherManagerIds,String qualityManagerIds, 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();
|
|
@@ -135,7 +137,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
|
|
|
|
//更新部门
|
|
//更新部门
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg updateDepartment(Integer departmentId, String departmentName,String managerId, String reportAuditUserid,String otherManagerIds, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg updateDepartment(Integer departmentId, String departmentName,String managerId, String reportAuditUserid,String otherManagerIds,String qualityManagerIds, 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();
|
|
@@ -246,6 +248,20 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
}else{
|
|
}else{
|
|
departmentOtherManagerMapper.delete(new QueryWrapper<DepartmentOtherManager>().eq("department_id",departmentId));
|
|
departmentOtherManagerMapper.delete(new QueryWrapper<DepartmentOtherManager>().eq("department_id",departmentId));
|
|
}
|
|
}
|
|
|
|
+ if(qualityManagerIds!=null&&!qualityManagerIds.equals("")){
|
|
|
|
+ String[] split = qualityManagerIds.split(",");
|
|
|
|
+ List<String> list = Arrays.asList(split);
|
|
|
|
+ departmentQualityManagerMapper.delete(new QueryWrapper<DepartmentQualityManager>().eq("department_id",departmentId));
|
|
|
|
+ for (String s : list) {
|
|
|
|
+ DepartmentQualityManager departmentQualityManager=new DepartmentQualityManager();
|
|
|
|
+ departmentQualityManager.setDepartmentId(department.getDepartmentId());
|
|
|
|
+ departmentQualityManager.setQualityId(s);
|
|
|
|
+ departmentQualityManager.setCompanyId(companyId);
|
|
|
|
+ departmentQualityManagerMapper.insert(departmentQualityManager);
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ departmentQualityManagerMapper.delete(new QueryWrapper<DepartmentQualityManager>().eq("department_id",departmentId));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} catch (NullPointerException e) {
|
|
} catch (NullPointerException e) {
|
|
@@ -330,16 +346,16 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
return departmentMapper.selectCount(new QueryWrapper<Department>().eq("superior_id", id)) > 0;
|
|
return departmentMapper.selectCount(new QueryWrapper<Department>().eq("superior_id", id)) > 0;
|
|
}
|
|
}
|
|
|
|
|
|
- private void fillSubDepartmentList(List<Department> allDepts, DepartmentVO parentDept, List<DepartmentOtherManager> otherManagerList) {
|
|
|
|
|
|
+ private void fillSubDepartmentList(List<Department> allDepts, DepartmentVO parentDept, List<DepartmentOtherManager> otherManagerList, List<DepartmentQualityManager> qualityManagerList) {
|
|
Integer id = parentDept.getId();
|
|
Integer id = parentDept.getId();
|
|
List<Department> collect = allDepts.stream().filter(all -> all.getSuperiorId() != null && all.getSuperiorId().intValue() == id).collect(Collectors.toList());
|
|
List<Department> collect = allDepts.stream().filter(all -> all.getSuperiorId() != null && all.getSuperiorId().intValue() == id).collect(Collectors.toList());
|
|
List<DepartmentVO> subResult = new ArrayList<>();
|
|
List<DepartmentVO> subResult = new ArrayList<>();
|
|
if (collect.size() > 0) {
|
|
if (collect.size() > 0) {
|
|
collect.forEach(c->{
|
|
collect.forEach(c->{
|
|
- DepartmentVO vo = formatDepartmentToVO(c, otherManagerList);
|
|
|
|
|
|
+ DepartmentVO vo = formatDepartmentToVO(c, otherManagerList,qualityManagerList);
|
|
subResult.add(vo);
|
|
subResult.add(vo);
|
|
//继续添加当前部门的子部门
|
|
//继续添加当前部门的子部门
|
|
- fillSubDepartmentList(allDepts, vo, otherManagerList);
|
|
|
|
|
|
+ fillSubDepartmentList(allDepts, vo, otherManagerList,qualityManagerList);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
if (subResult.size() > 0) {
|
|
if (subResult.size() > 0) {
|
|
@@ -357,14 +373,15 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>()
|
|
List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>()
|
|
.eq("company_id", companyId));
|
|
.eq("company_id", companyId));
|
|
List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
|
|
List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
|
|
|
|
+ List<DepartmentQualityManager> departmentQualityManagerList = departmentQualityManagerMapper.selectList(new QueryWrapper<DepartmentQualityManager>().eq("company_id", companyId));
|
|
//结果列表
|
|
//结果列表
|
|
List<DepartmentVO> list = new ArrayList<>();
|
|
List<DepartmentVO> list = new ArrayList<>();
|
|
//获取全部的顶层部门
|
|
//获取全部的顶层部门
|
|
List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
|
|
List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
|
|
rootDepartments.forEach(root->{
|
|
rootDepartments.forEach(root->{
|
|
- DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList);
|
|
|
|
|
|
+ DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList,departmentQualityManagerList);
|
|
list.add(rootDeptVO);
|
|
list.add(rootDeptVO);
|
|
- fillSubDepartmentList(departmentList, rootDeptVO, departmentOtherManagerList);
|
|
|
|
|
|
+ fillSubDepartmentList(departmentList, rootDeptVO, departmentOtherManagerList,departmentQualityManagerList);
|
|
});
|
|
});
|
|
//递归排序
|
|
//递归排序
|
|
sortResultDeptList(list);
|
|
sortResultDeptList(list);
|
|
@@ -406,13 +423,14 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", user.getCompanyId()));
|
|
List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", user.getCompanyId()));
|
|
|
|
+ List<DepartmentQualityManager> departmentQualityManagerList = departmentQualityManagerMapper.selectList(new QueryWrapper<DepartmentQualityManager>().eq("company_id", user.getCompanyId()));
|
|
//结果列表
|
|
//结果列表
|
|
List<DepartmentVO> list = new ArrayList<>();
|
|
List<DepartmentVO> list = new ArrayList<>();
|
|
List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
|
|
List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
|
|
rootDepartments.forEach(root->{
|
|
rootDepartments.forEach(root->{
|
|
- DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList);
|
|
|
|
|
|
+ DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList,departmentQualityManagerList);
|
|
list.add(rootDeptVO);
|
|
list.add(rootDeptVO);
|
|
- fillSubDepartmentList(departmentList, rootDeptVO, departmentOtherManagerList);
|
|
|
|
|
|
+ fillSubDepartmentList(departmentList, rootDeptVO, departmentOtherManagerList,departmentQualityManagerList);
|
|
});
|
|
});
|
|
//返回数据
|
|
//返回数据
|
|
httpRespMsg.data = list;
|
|
httpRespMsg.data = list;
|
|
@@ -425,9 +443,10 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
}
|
|
}
|
|
|
|
|
|
//将部门PO转化为部门VO
|
|
//将部门PO转化为部门VO
|
|
- private DepartmentVO formatDepartmentToVO(Department department, List<DepartmentOtherManager> departmentOtherManagerList) {
|
|
|
|
|
|
+ private DepartmentVO formatDepartmentToVO(Department department, List<DepartmentOtherManager> departmentOtherManagerList, List<DepartmentQualityManager> departmentQualityManagerList) {
|
|
//获取该部门的其他管理者
|
|
//获取该部门的其他管理者
|
|
List<String> collect = departmentOtherManagerList.stream().filter(dm -> dm.getDepartmentId().equals(department.getDepartmentId())).map(vo -> vo.getOtherManagerId()).collect(Collectors.toList());
|
|
List<String> collect = departmentOtherManagerList.stream().filter(dm -> dm.getDepartmentId().equals(department.getDepartmentId())).map(vo -> vo.getOtherManagerId()).collect(Collectors.toList());
|
|
|
|
+ List<String> collect1 = departmentQualityManagerList.stream().filter(dm -> dm.getDepartmentId().equals(department.getDepartmentId())).map(vo -> vo.getQualityId()).collect(Collectors.toList());
|
|
//这俩东西并没有继承关系
|
|
//这俩东西并没有继承关系
|
|
return new DepartmentVO()
|
|
return new DepartmentVO()
|
|
.setId(department.getDepartmentId())
|
|
.setId(department.getDepartmentId())
|
|
@@ -435,6 +454,7 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
.setLabel(department.getDepartmentName())
|
|
.setLabel(department.getDepartmentName())
|
|
.setParentId(department.getSuperiorId())
|
|
.setParentId(department.getSuperiorId())
|
|
.setOtherManagerIds(collect)
|
|
.setOtherManagerIds(collect)
|
|
|
|
+ .setQualityManagerIds(collect1)
|
|
.setReportAuditUserid(department.getReportAuditUserid())
|
|
.setReportAuditUserid(department.getReportAuditUserid())
|
|
.setDdDeptid(department.getDdDeptid())
|
|
.setDdDeptid(department.getDdDeptid())
|
|
.setSeq(department.getSeq());
|
|
.setSeq(department.getSeq());
|
|
@@ -960,13 +980,14 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
|
|
List<Department> allDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
|
|
List<Department> allDepartmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id",companyId));
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId).eq("is_active",1));
|
|
List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
|
|
List<DepartmentOtherManager> departmentOtherManagerList = departmentOtherManagerMapper.selectList(new QueryWrapper<DepartmentOtherManager>().eq("company_id", companyId));
|
|
|
|
+ List<DepartmentQualityManager> departmentQualityManagerList = departmentQualityManagerMapper.selectList(new QueryWrapper<DepartmentQualityManager>().eq("company_id", companyId));
|
|
//结果列表
|
|
//结果列表
|
|
List<DepartmentVO> list = new ArrayList<>();
|
|
List<DepartmentVO> list = new ArrayList<>();
|
|
List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
|
|
List<Department> rootDepartments = departmentList.stream().filter(dept -> dept.getSuperiorId() == null).collect(Collectors.toList());
|
|
rootDepartments.forEach(root->{
|
|
rootDepartments.forEach(root->{
|
|
- DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList);
|
|
|
|
|
|
+ DepartmentVO rootDeptVO = formatDepartmentToVO(root, departmentOtherManagerList,departmentQualityManagerList);
|
|
list.add(rootDeptVO);
|
|
list.add(rootDeptVO);
|
|
- fillSubDepartmentList(allDepartmentList, rootDeptVO, departmentOtherManagerList);
|
|
|
|
|
|
+ fillSubDepartmentList(allDepartmentList, rootDeptVO, departmentOtherManagerList,departmentQualityManagerList);
|
|
});
|
|
});
|
|
//处理部门下人员列表
|
|
//处理部门下人员列表
|
|
List<DepartmentVO> userListWithDept = getUserListWithDept(userList, list);
|
|
List<DepartmentVO> userListWithDept = getUserListWithDept(userList, list);
|