package com.jpsoft.shinestar.modules.base.dao;

import com.jpsoft.shinestar.modules.base.entity.CompanyStructureInfo;
import com.jpsoft.shinestar.modules.common.dto.Sort;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @author 墨鱼_mo
 * @date 2020-10-14 15:30
 */
@Repository
public interface CompanyStructureInfoDAO {

    int insert(CompanyStructureInfo entity);

    int update(CompanyStructureInfo entity);

    int exist(String id);

    CompanyStructureInfo get(String id);

    int delete(String id);

    List<CompanyStructureInfo> list();

    List<CompanyStructureInfo> search(Map<String, Object> searchParams, List<Sort> sortList);

    List<CompanyStructureInfo> findTopStructureByCompanyId(String companyId);

    List<CompanyStructureInfo> findByCompanyId(String companyId);

    List<CompanyStructureInfo> findByParentId(String id);

    CompanyStructureInfo findByCompanyIdAndName(String companyId,String structureName);

    List<CompanyStructureInfo> findByCompanyIdAndPositionName(@Param("companyId") String companyId, @Param("positionName") String positionName);
}
