177 lines
5.5 KiB
Java
177 lines
5.5 KiB
Java
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<String> userIds);
|
||
|
||
/**
|
||
* 获取考勤组超级管理员列表
|
||
* @return List<AttendanceUserVo>
|
||
*/
|
||
List<AttendanceUserVo> 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<AttendanceGroupAdminVo>
|
||
*/
|
||
Map<String, Object> listGroupAdmin(String groupId);
|
||
|
||
/**
|
||
* 获取管理员,包含当前组管理员、上级子组权限管理员、超级管理员,其中key为 -1时超级管理员集合
|
||
* @param groupIds 考勤组id集合
|
||
* @return Map<String, List < String>> key为 groupId value为管理员userId集合
|
||
*/
|
||
Map<String, List<String>> queryUserForCurrAndUpChildAndSuper(List<String> groupIds);
|
||
|
||
/**
|
||
* 根据指定条件查询权限信息
|
||
* 该方法通过接收群组ID、父权限代码和子权限代码列表作为参数,
|
||
* 查询并返回一个映射,其中键为群组ID,值为该群组下匹配指定权限代码的权限列表
|
||
*
|
||
* @param groupIds 群组ID列表,用于指定需要查询权限的群组
|
||
* @param parentCodes 父权限代码列表,用于指定需要查询的父权限范围
|
||
* @param childCodes 子权限代码列表,用于指定需要查询的子权限范围
|
||
* @return 返回一个映射,每个键值对表示一个群组及其对应的权限列表
|
||
*/
|
||
Map<String, List<String>> queryPermissionBySpecify(List<String> groupIds, List<String> parentCodes, List<String> 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<String> 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<FtbPermissionPositionMenuVO.FtbPermissionPositionMenuInnerVO> queryPermissionListByUserIds(List<String> userIds);
|
||
|
||
/**
|
||
* 获取考勤组设置
|
||
*
|
||
* @param dto 考勤组id
|
||
* @return AttendanceTeamSetVo
|
||
*/
|
||
AttendanceTeamSetVo getTeamSet(GroupFilterDto dto);
|
||
|
||
/**
|
||
* 设置月报通知
|
||
*
|
||
* @param dto 考勤组id
|
||
* @return Boolean
|
||
*/
|
||
Boolean setMonthNotice(GroupFilterDto dto);
|
||
}
|