package com.ym.mec.biz.dal.dao;

import com.ym.mec.biz.dal.entity.Organization;
import com.ym.mec.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

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

public interface OrganizationDao extends BaseDAO<Integer, Organization> {

    /**
     * 根据父级id查询子级列表
     * @param parentId
     * @return
     */
    List<Organization> findByParentId(@Param("parentId") Integer parentId, @Param("delFlag") String delFlag);

    List<Organization> findOrgans(@Param("organIds") List<Integer> organIds);

    /**
     * 根据分部id字符串查询
     * @param organIds
     * @return
     */
    List<String> findByOrganIds(String organIds);

    /**
     *
     * @param userId
     * @return
     */
    List<Organization> queryEmployeeOrgan(@Param("userId") Integer userId);

    /**
     * 根据分部编号获取分部名称map
     * @param organIds
     * @return
     */
    List<Map<Integer,String>> findOrganNameMap(String organIds);

    /**
     * 根据分部编号获取分部名称map
     * @param organIds
     * @return
     */
    List<Map<Integer,String>> findOrganNameMapList(@Param("organIds") Set<Integer> organIds);

    /**
     * 获取分部名称
     * @param organId
     * @return
     */
	String getOrganName(String organId);
	
	List<Organization> findAllOrgans();

	List<Organization> getActivityOrgans();
}
