package jnpf.attendance.mapper;

import jnpf.model.attendance.vo.attendance.AttendanceUserBalanceDetailVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author panpan
 */
public interface AttendanceUserBalanceMapper  {

    /**
     * 获取详情
     * @param id 主键
     * @return 详情
     */
    List<AttendanceUserBalanceDetailVo> getDetail(@Param("id") String id,@Param("userId") String userId);


    /**
     * 批量添加
     * @param list 列表
     */
    void batchAddBalanceDetail(@Param("list") List<AttendanceUserBalanceDetailVo> list);

    /**
     * 获取指定类型的余额
     * @param balanceId  LeaveBalanceId   查询存休时 为null
     * @param userId 用户Id
     * @param isRetirementLeave 是否统计存休 LeaveBalanceId不为空且对应的假期规则能使用存休抵扣时才为 true
     * @return 余额
     */
    BigDecimal getTotalBalance(@Param("balanceId") String balanceId,@Param("userId") String userId,@Param("isRetirementLeave")  boolean isRetirementLeave);
}
