package jnpf.attendance.service; import jnpf.exception.HandleException; import jnpf.model.attendance.dto.BatchSaveGroupAdmin; import jnpf.model.attendance.dto.GroupFilterDto; import jnpf.model.attendance.dto.SaveGroupAdmin; import jnpf.model.attendance.dto.SaveSuperAdminDto; import jnpf.model.attendance.vo.AttendanceManagerDetailVo; import jnpf.model.attendance.vo.AttendanceUserVo; import jnpf.model.attendance.vo.CurUserPermissionVo; import jnpf.model.attendance.vo.permission.ActionPermissionVo; import jnpf.model.attendance.vo.permission.ApprovalSettingVo; import jnpf.model.attendance.vo.permission.AttendanceTeamSetVo; import jnpf.model.attendance.vo.permission.app.ManagerPermissionVo; import jnpf.model.authority.vo.role.FtbPermissionPositionMenuVO; import java.util.List; import java.util.Map; public interface AttendanceSuperAdminService { /** * 添加考勤组考勤管理员 * @param saveSuperAdminDto 保存信息 */ void add(SaveSuperAdminDto saveSuperAdminDto) throws HandleException; /** * 删除超级管理员 * @param userIds 用户id */ void delete(List userIds); /** * 获取考勤组超级管理员列表 * @return List */ List querySuperAdmin(String name); /** * 保存考勤组管理员 * @param saveGroupAdmin 保存信息 */ void addGroupAdmin(SaveGroupAdmin saveGroupAdmin) throws Exception; /** * 批量添加考勤组管理员 * @param batchSaveGroupAdmin 保存信息 */ void batchAddGroupAdmin(BatchSaveGroupAdmin batchSaveGroupAdmin); /** * 修改考勤组管理员权限 * @param saveGroupAdmin 保存信息 */ void updateGroupAdmin(SaveGroupAdmin saveGroupAdmin); /** * 删除考勤组管理员 */ void deleteGroupAdmin(SaveGroupAdmin saveGroupAdmin); /** * 查看考勤组下管理员列表 * @param groupId 考勤组 * @return List */ Map listGroupAdmin(String groupId); /** * 获取管理员,包含当前组管理员、上级子组权限管理员、超级管理员,其中key为 -1时超级管理员集合 * @param groupIds 考勤组id集合 * @return Map> key为 groupId value为管理员userId集合 */ Map> queryUserForCurrAndUpChildAndSuper(List groupIds); /** * 根据指定条件查询权限信息 * 该方法通过接收群组ID、父权限代码和子权限代码列表作为参数, * 查询并返回一个映射,其中键为群组ID,值为该群组下匹配指定权限代码的权限列表 * * @param groupIds 群组ID列表,用于指定需要查询权限的群组 * @param parentCodes 父权限代码列表,用于指定需要查询的父权限范围 * @param childCodes 子权限代码列表,用于指定需要查询的子权限范围 * @return 返回一个映射,每个键值对表示一个群组及其对应的权限列表 */ Map> queryPermissionBySpecify(List groupIds, List parentCodes, List childCodes); /** * 获取当前登录用户权限 * @param groupId 考勤组id * @return CurUserPermissionVo */ CurUserPermissionVo getByUserId(String groupId); /** * 是否是考勤超级管理员 * @param userId 用户id * @return Boolean */ Boolean isSuperAdmin(String userId); /** * 考勤组管理员详情 * @param groupId 考勤组id * @param userId 用户id * @return AttendanceGroupVo */ AttendanceManagerDetailVo adminDetail(String groupId, String userId); /** * 获取当前用户权限 * @param userId 用户id * @param levelCodeList 考勤组层级编码 * @param permissionName 权限名称 * @return CurUserPermissionVo */ CurUserPermissionVo queryPermissionByUserId(String userId, List levelCodeList, String permissionName); /** * 是否有查看权限 * @param groupId 考勤组id * @return Boolean */ Boolean isViewPermission(String groupId); /** * 获取操作权限 * @param groupId 考勤组id * @return ActionPermissionVo */ ActionPermissionVo getActionPermission(String groupId); /** * 是否是考勤组超级管理员||系统超级管理员 * @return Boolean */ Boolean isGlobalSetting(); /** * 是否是考勤组管理员 * @return ManagerPermissionVo */ ManagerPermissionVo isManager(); /** * 获取考勤组审批设置 * @param groupId 考勤组id * @param type 审批类型 1.常规补卡审批 2.调整出勤结果审批 3.外勤审批 4.请假审批 5.加班审批 * @return ApprovalSettingVo */ ApprovalSettingVo getApprovalSettingInfo(String groupId, Integer type); /** * 根据用户id集合查询所属的权限-查询所有权限 * @param userIds 用户id集合 * @return FtbPermissionPositionMenuVO.FtbPermissionPositionMenuInnerVO */ List queryPermissionListByUserIds(List userIds); /** * 获取考勤组设置 * * @param dto 考勤组id * @return AttendanceTeamSetVo */ AttendanceTeamSetVo getTeamSet(GroupFilterDto dto); /** * 设置月报通知 * * @param dto 考勤组id * @return Boolean */ Boolean setMonthNotice(GroupFilterDto dto); }