package com.engine.kq.service;

import weaver.hrm.User;

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

/**
 * 员工假期余额报表
 */
public interface KQBalanceOfLeaveRpService {

    /**
     * 获取右键菜单
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getRightMenu(Map<String, Object> params, User user);

    /**
     * 获取TAB页签
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getTab(Map<String, Object> params, User user);

    /**
     * 获取查询条件
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getSearchCondition(Map<String, Object> params, User user);

    /**
     * 获取查询列表
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getSearchList(Map<String, Object> params, User user);

    /**
     * 获取使用记录详情
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getUsageRecordDetail(Map<String, Object> params, User user);

    /**
     * 获取分页组件
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getPageInfo(Map<String, Object> params, User user);

    /**
     * 获取假期使用记录的分页组件
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getDetailPageInfo(Map<String, Object> params, User user);

    /**
     * 获取假期使用记录的查询条件
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getChangeType(Map<String, Object> params, User user);

    /**
     * 导出Excel文件
     *
     * @param params
     * @param user
     * @param response
     * @return
     */
    public Map<String, Object> exportExcel(Map<String, Object> params, User user, HttpServletRequest request, HttpServletResponse response);
}
