package com.engine.organization.mapper.version;

import com.alibaba.fastjson.JSONObject;
import com.engine.organization.entity.version.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author weaver_cl
 * @Description:
 * @Date 2022/12/8
 * @Version V1.0
 **/
public interface CompanyVersionMapper {

    /**
    * 取分部版本最大记录
    */
    HrmSubCompanyVersion getMaxVersion(@Param("subComId") String subComId);

    /**
     * 新增分部版本
     */
    int insertHrmSubComVersion(HrmSubCompanyVersion hrmSubCompanyVersion);


    /**
     * 取部门版本最大记录
     */
    HrmDepartmentVersion getMaxDeptVersion(@Param("departmentid") String departmentid);


    /**
     * 新增部门版本
     */
    int insertHrmDeptVersion(HrmDepartmentVersion hrmDepartmentVersion);


    /**
     * 人员版本最大记录
     */
    HrmResourceVersion getMaxHrmVersion(@Param("resourceid") String resourceid);

    /**
     * 新增人员版本
     */
    int insertHrmResourceVersion(HrmResourceVersion hrmResourceVersion);

    /**
     * 获取分部信息
     */
    HrmSubCompanyDto getHrmSubComp(@Param("id") String id);

    /**
     * 获取部门信息
     */
    HrmDepartmentDto getHrmDepartment(@Param("id") String id);

    /**
     * 获取人员信息
     */
    HrmResourceDto getHrmResource(@Param("id") String id);

    /**
     * 获取分部版本记录
     */
    List<HrmSubCompanyVersion> getSubComVersionList(@Param("subComId") String subComId,@Param("version") String version);

    /**
     * 获取部门版本记录
     */
    List<HrmDepartmentVersion> getDeptVersionList(@Param("departmentid") String departmentid,@Param("version") String version);


    /**
     * 获取人员版本记录
     */
    List<HrmResourceVersion> getResourceVersionList(@Param("resourceid") String resourceid,@Param("version") String version);

}
