package com.engine.organization.service;

import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam;
import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam;
import com.engine.organization.entity.searchtree.SearchTreeParams;

import java.util.Map;

/**
 * @author:dxfeng
 * @createTime: 2022/06/20
 * @version: 1.0
 */
public interface HrmResourceService {

    /**
     * 列表左侧树
     *
     * @param params
     * @return
     */
    Map<String, Object> getSearchTree(SearchTreeParams params);

    /**
     * 人员列表
     *
     * @param params
     * @return
     */
    Map<String, Object> listPage(HrmResourceSearchParam params);

    /**
     * 获取新增表单
     *
     * @return
     */
    Map<String, Object> getSaveForm();

    /**
     * 新增
     *
     * @param params
     * @return
     */
    Long saveBaseForm(Map<String, Object> params);

    /**
     * 获取基本信息表单
     *
     * @param params
     * @return
     */
    Map<String, Object> getBaseForm(Map<String, Object> params);

    /**
     * 更新
     *
     * @param params
     * @return
     */
    int updateForm(Map<String, Object> params);

    /**
     * 获取搜索条件
     *
     * @param params
     * @return
     */
    Map<String, Object> getSearchCondition(Map<String, Object> params);

    /**
     * 获取列表页面按钮信息
     *
     * @return
     */
    Map<String, Object> getHasRight();

    /**
     * 拓展表单
     */
    Map<String, Object> getTabForm(Map<String, Object> params);

    /**
     * 新增拓展表单
     *
     * @param params
     * @return
     */
    long saveTabForm(HrmRelationSaveParam params);

    /**
     * 更新拓展表单
     *
     * @param params
     * @return
     */
    long updateTabForm(HrmRelationSaveParam params);
}
