package com.bonus.system.leaveReporting.dao;

import cn.hutool.core.date.DateTime;
import com.bonus.system.api.domain.SysRole;
import com.bonus.system.dept.entity.EightRoleBean;
import com.bonus.system.dept.entity.OrgUserVo;
import com.bonus.system.dept.entity.ProDeptRoleBean;
import com.bonus.system.dept.entity.ProDeptRoleDo;
import com.bonus.system.leaveReporting.entity.LeaveReportingBean;
import com.bonus.system.leaveReporting.entity.LeaveReportingImportBean;
import com.bonus.system.leaveReporting.entity.LeaveReportingKeyBean;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 休假报备-数据访问层
 * @author lsun
 */
@Repository("LeaveReportingDao")
public interface LeaveReportingDao {

    List<LeaveReportingBean> getLeaveReportingList(@Param("params")LeaveReportingBean bean);

    int insertLeaveReporting(LeaveReportingBean o);

    int updateLeaveReporting(LeaveReportingBean o);

    int deleteLeaveReportingById(Long id);

    LeaveReportingBean selectLeaveReportingById(Long id);

    LeaveReportingBean getPostName(Long id);

    List<LeaveReportingBean> getUserList(@Param("params")LeaveReportingBean bean);

    List<LeaveReportingBean> getFestivalAndHoliday(LeaveReportingBean bean);

    String getAttTypeByUserId(Long userId);

    /**
     * 判断休假报备数据是否被核对
     * @param bean
     * @return Integer
     * @author cwchen
     * @date 2025/2/12 14:34
     */
    List<Integer> isCheck(LeaveReportingBean bean);
}
