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

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

import com.ym.mec.biz.dal.dto.OrganFullJobResourceNumDto;
import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalender;
import org.apache.ibatis.annotations.Param;

import com.ym.mec.biz.dal.entity.CooperationOrgan;
import com.ym.mec.common.dal.BaseDAO;

public interface CooperationOrganDao extends BaseDAO<Integer, CooperationOrgan> {


    /**
     * 根据机构编号获取合作单位(教学点)列表
     *
     * @param organId
     * @return
     */
    List<CooperationOrgan> queryByOrganId(@Param("organId") String organId);

    /**
     * 根据合作机构编号列表获取合作机构名称
     *
     * @param organIds
     * @return
     */
    List<Map<Integer, String>> queryNameByIds(String organIds);


    List<OrganFullJobResourceNumDto> getOrganFullJobResourceNum();

    /**
     * 获取全部使用中合作单位
     *
     * @return
     */
    List<CooperationOrgan> getAllCooperationOrgan();

    /**
     * 获取合作单位乐团的学校缴费
     *
     * @param cooperationOrganId
     * @return
     */
    List<MusicGroupPaymentCalender> getCooperationOrganCalender4School(@Param("cooperationOrganId") Integer cooperationOrganId);

    /**
     * 根据合作单位ids获取合作单位
     *
     * @param ids
     * @return
     */
    List<CooperationOrgan> getCooperationOrganByIds(@Param("ids") List<Integer> ids);

    /**
     * 修改合作单位乐团主管
     *
     * @param transferUserId
     * @param levelUserId
     * @param organId
     */
    void batchUpdateEduId(@Param("transferUserId") Integer transferUserId, @Param("levelUserId") Integer levelUserId, @Param("organId") Integer organId);

    /**
     * 获取乐团主管的合作单位
     *
     * @return
     */
    List<CooperationOrgan> getCooperationOrganByEduTeacherId(@Param("userId") Integer userId);
}
