package com.ruoyi.ccdi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.ccdi.domain.CcdiEmployee;
import com.ruoyi.ccdi.domain.dto.CcdiEmployeeQueryDTO;
import com.ruoyi.ccdi.domain.vo.CcdiEmployeeVO;
import org.apache.ibatis.annotations.Param;

/**
 * 员工信息 数据层
 *
 * @author ruoyi
 * @date 2026-01-28
 */
public interface CcdiEmployeeMapper extends BaseMapper<CcdiEmployee> {

    /**
     * 分页查询员工列表（包含部门名称）
     *
     * @param page     分页对象
     * @param queryDTO 查询条件
     * @return 员工VO分页结果
     */
    Page<CcdiEmployeeVO> selectEmployeePageWithDept(@Param("page") Page<CcdiEmployeeVO> page,
                                                    @Param("query") CcdiEmployeeQueryDTO queryDTO);

    /**
     * 查询员工详情（包含亲属列表）
     *
     * @param employeeId 员工ID
     * @return 员工VO
     */
    CcdiEmployeeVO selectEmployeeWithRelatives(@Param("employeeId") Long employeeId);
}
