package com.ruoyi.credit.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.credit.domain.EmployeeLibrary;

/**
 * 员工库Mapper接口
 * 
 * @author ruoyi
 * @date 2025-12-22
 */
public interface EmployeeLibraryMapper 
{
    /**
     * 查询员工库
     * 
     * @param libraryId 员工库主键
     * @return 员工库
     */
    public EmployeeLibrary selectEmployeeLibraryByLibraryId(Long libraryId);

    /**
     * 根据公司ID查询员工库
     * 
     * @param companyId 公司ID
     * @return 员工库
     */
    public EmployeeLibrary selectEmployeeLibraryByCompanyId(Long companyId);

    /**
     * 查询员工库列表
     * 
     * @param employeeLibrary 员工库
     * @return 员工库集合
     */
    public List<EmployeeLibrary> selectEmployeeLibraryList(EmployeeLibrary employeeLibrary);

    /**
     * 新增员工库
     * 
     * @param employeeLibrary 员工库
     * @return 结果
     */
    public int insertEmployeeLibrary(EmployeeLibrary employeeLibrary);

    /**
     * 修改员工库
     * 
     * @param employeeLibrary 员工库
     * @return 结果
     */
    public int updateEmployeeLibrary(EmployeeLibrary employeeLibrary);

    /**
     * 删除员工库
     * 
     * @param libraryId 员工库主键
     * @return 结果
     */
    public int deleteEmployeeLibraryByLibraryId(Long libraryId);

    /**
     * 批量删除员工库
     * 
     * @param libraryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEmployeeLibraryByLibraryIds(Long[] libraryIds);

    /**
     * 更新员工库的员工总数
     * 
     * @param libraryId 员工库ID
     * @param totalEmployees 员工总数
     * @return 结果
     */
    public int updateEmployeeCount(@Param("libraryId") Long libraryId, @Param("totalEmployees") Integer totalEmployees);
}