一键催收增加全部部门

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

View File

@ -118,4 +118,8 @@
#{department_id} #{department_id}
</foreach> </foreach>
</select> </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> </mapper>