package com.sy.coinage.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

import com.sy.coinage.core.vo.OptVO;
import com.sy.coinage.sys.model.*;
import com.sy.coinage.sys.req.DeptListReq;
import com.sy.coinage.sys.vo.DeptListVO;

/**
 * 部门Service
 */
public interface IDeptService extends IService<Dept> {

    /**
     * 部门分页列表
     */
    IPage<DeptListVO> pageList(DeptListReq req, Integer tenantId);

    /**
     * 部门树形列表
     */
    List<DeptListVO> treeList(Integer orgId, Integer tenantId);

    /**
     * 部门树形选项
     */
    List<OptVO> treeOpt(Integer orgId, Integer tenantId);

    /**
     * 部门选项
     */
    List<OptVO> opt(Integer orgId, Integer tenantId);

    void validName(Integer id, String name, Integer tenantId);

    Dept getByCode(Integer id);
}
