package com.engine.kq.service;

import weaver.hrm.User;

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

/**
 * 节假日设置
 */
public interface KQHolidaySetService {

    /**
     * 获取右键菜单
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> getRightMenu(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> getHolidaySetCalendar(Map<String,Object> params, User user);

    /**
     * 获取新建或者编辑的表单
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> getHolidaySetForm(Map<String,Object> params, User user);

    /**
     * 新建
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> addHolidaySet(Map<String,Object> params, User user);

    /**
     * 编辑
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> editHolidaySet(Map<String,Object> params, User user);

    /**
     * 删除
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> deleteHolidaySet(Map<String,Object> params, User user);

    /**
     * 获取节假日的统计数据
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> getHolidayCount(Map<String,Object> params, User user);

    /**
     * 获取导入的表单
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> getImportForm(Map<String,Object> params, User user);

    /**
     * 保存导入的数据
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> saveImport(Map<String,Object> params, HttpServletRequest request, User user);

    /**
     * 初始化某考勤组的节假日数据
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> initHolidaySet(Map<String,Object> params, User user);

    /**
     * 新建时判断所选时间范围内是否已经设置过数据
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> hasRepeactData(Map<String,Object> params, User user);

    /**
     * 获取同步的表单
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> getSyncForm(Map<String,Object> params, User user);

    /**
     * 保存同步
     * @param params
     * @param user
     * @return
     */
    public Map<String,Object> syncHolidaySet(Map<String,Object> params, User user);
}
