package dao;

import model.LeaveRequest;
import model.ApprovalStatus;
import java.util.Date;
import java.util.List;

/**
 * 请假申请DAO接口
 */
public interface LeaveRequestDAO extends BaseDAO<LeaveRequest> {
    /**
     * 根据学生ID查询请假记录
     * @param studentId 学生ID
     * @return 请假记录列表
     */
    List<LeaveRequest> findByStudentId(int studentId);

    /**
     * 根据审批状态查询请假记录
     * @param status 审批状态
     * @return 请假记录列表
     */
    List<LeaveRequest> findByStatus(ApprovalStatus status);


    /**
     * 更新请假申请状态
     * @param id 请假申请ID
     * @param status 新状态
     * @param approverComment 审批意见
     * @return 影响的行数
     */
    int updateStatus(int id, ApprovalStatus status, String approverComment);
}
