package jnpf.authority.service;

import jnpf.model.authority.dto.permission.OrganizeWithPositionsDTO;
import jnpf.permission.eum.v2.UserWorkStatusEnums;
import jnpf.permission.vo.organize.OrganizeAndPositionListVO;
import jnpf.permission.vo.v2.position.PositionBaseInfoVO;
import jnpf.permission.vo.v2.position.PositionListOrganizeUserVO;
import jnpf.permission.vo.v2.position.PositionListUserVO;

import java.util.List;

/**
 * 带权限的岗位功能
 *
 * @author Flynn Chan
 * @create 2025-05-07
 */
public interface FtbPermissionPositionService {

    List<PositionListUserVO> authListPositionTreeUser(List<UserWorkStatusEnums> workStatusEnums, Boolean includeResigned);

    List<PositionBaseInfoVO> authListPositionAuth();

    List<PositionListOrganizeUserVO> listPositionOrganizeUser(List<UserWorkStatusEnums> filterUserWorkStatusEnumsList);

    List<OrganizeAndPositionListVO> authOrganizeWithPositions(OrganizeWithPositionsDTO thisDto);
}
