package com.hzy.project.business.salary.mapper;

import java.util.List;
import com.hzy.project.business.salary.domain.Salary;
import com.hzy.project.business.salary.domain.SalaryDetail;
import com.hzy.project.business.salary.domain.SalaryVo;

/**
 * 工资Mapper接口
 * 
 * @author ruoyi
 * @date 2026-01-02
 */
public interface SalaryMapper 
{
    /**
     * 查询工资
     * 
     * @param salaryId 工资主键
     * @return 工资
     */
    public Salary selectSalaryBySalaryId(Long salaryId);

    /**
     * 查询工资列表
     * 
     * @param salary 工资
     * @return 工资集合
     */
    public List<SalaryVo> selectSalaryList(SalaryVo salary);

    /**
     * 新增工资
     * 
     * @param salary 工资
     * @return 结果
     */
    public int insertSalary(Salary salary);

    /**
     * 修改工资
     * 
     * @param salary 工资
     * @return 结果
     */
    public int updateSalary(Salary salary);

    /**
     * 删除工资
     * 
     * @param salaryId 工资主键
     * @return 结果
     */
    public int deleteSalaryBySalaryId(Long salaryId);

    /**
     * 批量删除工资
     * 
     * @param salaryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSalaryBySalaryIds(String[] salaryIds);

    /**
     * 批量删除工资明细
     * 
     * @param salaryIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSalaryDetailBySalaryIds(String[] salaryIds);
    
    /**
     * 批量新增工资明细
     * 
     * @param salaryDetailList 工资明细列表
     * @return 结果
     */
    public int batchSalaryDetail(List<SalaryDetail> salaryDetailList);
    

    /**
     * 通过工资主键删除工资明细信息
     * 
     * @param salaryId 工资ID
     * @return 结果
     */
    public int deleteSalaryDetailBySalaryId(Long salaryId);
}
