package com.bonus.system.holiday.service;

import com.alibaba.fastjson2.JSONArray;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.system.dept.entity.EightRoleBean;
import com.bonus.system.dept.entity.EightRoleVo;
import com.bonus.system.dept.entity.ProDeptRoleBean;
import com.bonus.system.dept.entity.ProDeptRoleDo;
import com.bonus.system.holiday.entity.HolidayBean;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 项目部角色业务层
 * @author fly
 */
public interface HolidayService {

    /**
     * 获取假期列表
     * @param bean 参数
     * @return list bean
     */
    List<HolidayBean> getHolidayList(HolidayBean bean);

    /**
     * 添加请假数据
     * @param o 参数
     * @return list bean
     */
    int insertHoliday(HolidayBean o);

    /**
     * 根据id查询请假数据
     * @param id
     * @return
     */
    HolidayBean selectHolidayById(Long id);

    /**
     * 修改请假数据
     * @param o
     * @return
     */
    int updateHoliday(HolidayBean o);

    /**
     * 删除请假数据
     * @param id
     * @return
     */
    int deleteHolidayById(Long id);

    /**
     * 修改请假状态
     * @param o
     * @return
     */
    int changeStatus(HolidayBean o);

    AjaxResult excelUpload(MultipartFile file, HttpServletRequest request, HttpServletResponse response);

    List<HolidayBean> getHolidayListCheck(HolidayBean bean);

    /**
     * 流程相关->轮休审批/临时外出审核->一键审批
     * @param o
     * @return void
     * @author cwchen
     * @date 2025/2/11 14:19
     */
    AjaxResult batchCheckStatus(HolidayBean o);
}
