一键催收增加全部部门

This commit is contained in:
wulin 2020-12-16 18:22:16 +08:00
parent bdc3cfce1d
commit ef28a6dba1
5 changed files with 50 additions and 25 deletions

View File

@ -68,4 +68,6 @@ public interface DepartmentsStaffRelateDao extends BaseMapper<DepartmentsStaffRe
List<StaffEntity> selectLeadersByDepartmentId(@Param("depId") String depId);
List<Long> selectLongStaffIdsByDepartments(@Param("departmentIds") List<String> departmentIds);
List<Long> selectAllStaffIds();
}

View File

@ -46,5 +46,7 @@ public interface DepartmentsStaffRelateService extends IService<DepartmentsStaff
List<StaffEntity> selectLeadersByDepartmentId(String depId);
List<Long> selectLongStaffIdsByDepartments(List<String> departmentIds);
List<Long> selectAllStaffIds();
}

View File

@ -114,4 +114,9 @@ public class DepartmentsStaffRelateServiceImpl extends ServiceImpl<DepartmentsSt
}
return departmentsStaffRelateDao.selectLongStaffIdsByDepartments(departmentIds);
}
@Override
public List<Long> selectAllStaffIds(){
return departmentsStaffRelateDao.selectAllStaffIds();
}
}

View File

@ -203,7 +203,7 @@ public class AssessManagerController extends AbstractController{
Long userId = getUserId();
log.info("一键催办" + userId);
StaffRole staffRole = staffRoleService.selectStaffRoleById(userId);
boolean isManagementDepartment = false;
int isManagementDepartment = 0;
List<String> departmentIds = new ArrayList<>();
if(staffRole != null){
//查询管理的部门信息
@ -220,37 +220,49 @@ public class AssessManagerController extends AbstractController{
}
}else if(staffRole.getDepartmentId().intValue() == 1){
//管理所在部门及子部门
isManagementDepartment = true;
isManagementDepartment = 1;//所在部门及子部门
}else if(staffRole.getDepartmentId().intValue() == 0){
isManagementDepartment = 2;//所有部门
}
}
//看下是否为部门领导
DepartmentsStaffRelateEntity departmentsStaffRelateEntity
= departmentsStaffRelateService.selectByStaffId(userId);
if (departmentsStaffRelateEntity != null && (isManagementDepartment ||
departmentsStaffRelateEntity.getIsLeader().intValue() == 1)) {//特定部门的
//获取所在部门下面的所有人员id
departmentIds.add(departmentsStaffRelateEntity.getDepartmentId());
}
if(departmentIds.size() > 0){
//去重
log.info("去重前数据{}", departmentIds.size());
departmentIds = departmentIds.stream().distinct().collect(Collectors.toList());
log.info("去重后数据{}", departmentIds.size());
List<Long> staffIds = null;
if(isManagementDepartment == 2){
//管理所有部门
log.info("管理所有部门");
staffIds = departmentsStaffRelateService.selectAllStaffIds();
}else{
//看下是否为部门领导
log.info("管理所指定部门");
DepartmentsStaffRelateEntity departmentsStaffRelateEntity
= departmentsStaffRelateService.selectByStaffId(userId);
if (departmentsStaffRelateEntity != null && (isManagementDepartment == 1 ||
departmentsStaffRelateEntity.getIsLeader().intValue() == 1)) {//特定部门的
//获取所在部门下面的所有人员id
departmentIds.add(departmentsStaffRelateEntity.getDepartmentId());
}
if(departmentIds.size() > 0){
//去重
log.info("去重前数据{}", departmentIds.size());
departmentIds = departmentIds.stream().distinct().collect(Collectors.toList());
log.info("去重后数据{}", departmentIds.size());
List<String> childIds = new ArrayList<>();
//获取子部门信息
for (String pareId:departmentIds
) {
childIds.addAll(getChildsId(pareId));
}
if(childIds.size() > 0){
departmentIds.addAll(childIds);
List<String> childIds = new ArrayList<>();
//获取子部门信息
for (String pareId:departmentIds
) {
childIds.addAll(getChildsId(pareId));
}
if(childIds.size() > 0){
departmentIds.addAll(childIds);
}
}
//根据部门获取所有员工的id
staffIds = departmentsStaffRelateService.selectLongStaffIdsByDepartments(departmentIds);
}
//根据部门获取所有员工的id
List<Long> staffIds = departmentsStaffRelateService.selectLongStaffIdsByDepartments(departmentIds);
log.info("查询到有权限可以推送的人员数量为{}", staffIds.size());
//下面查询当前startId当前flowProcess下面有多少人员id
List<ResultRecord> resultRecords = resultRecordMapper.selectStaffIdsByStartIdAndFlowProcess(startId, flowProcess);

View File

@ -118,4 +118,8 @@
#{department_id}
</foreach>
</select>
<select id="selectAllStaffIds" resultType="com.lz.modules.app.entity.DepartmentsStaffRelateEntity">
select staff_id from lz_departments_staff_relate where is_delete = 0
</select>
</mapper>