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 KQGroupService {

    /**
     * 获取考勤组Tab页签
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getTabs(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> save(Map<String, Object> params, User user);

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

    /**
     * 新建编辑表单
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getForm(Map<String, Object> params, User user);

    /**
     * 导入考勤方式
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> importExcel(Map<String, Object> params, User user);

    /**
     * 导出考勤方式
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> exportExcel(Map<String, Object> params, HttpServletRequest request, HttpServletResponse response, User user);

    /**
     * 导出考勤方式
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getGroupTree(Map<String, Object> params, User user);

    /**
     * 获取排班周期新建编辑表单
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getShiftCycleForm(Map<String, Object> params, User user);

    /**
     * 获取考勤组tab
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getMainTabs(Map<String, Object> params, User user);

    /**
     * 获取考勤组人员搜索条件
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getGroupMemeberCondition(Map<String, Object> params, User user);

    /**
     * 获取添加考勤组成员表单
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getAddMemberCondition(Map<String, Object> params, User user);

    /**
     * 获取考勤组人员信息
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> getGroupMemberList(Map<String, Object> params, User user);

    /**
     * 保存考勤组人员
     *
     * @param params
     * @param user
     * @return
     */
    public Map<String, Object> saveAddMenber(Map<String, Object> params, User user);
}
