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

import com.ym.mec.biz.dal.dto.WaitCourseTrainPlanDto;
import com.ym.mec.biz.dal.entity.MusicGroupTrainPlan;
import com.ym.mec.biz.dal.entity.MusicGroupTrainPlanSaveDto;
import com.ym.mec.common.dal.BaseDAO;
import org.apache.ibatis.annotations.Param;

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

public interface MusicGroupTrainPlanDao extends BaseDAO<Integer, MusicGroupTrainPlan> {


    int add(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);

    /**
     * 课程数量大于课程规划
     * @param musicGroupTrainPlanSaveDto
     * @return
     */
    List<WaitCourseTrainPlanDto> queryWaitCourseTrainPlan(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);

    /**
     * 课程数量小于课程规划
     * @param musicGroupTrainPlanSaveDto
     * @return
     */
    List<WaitCourseTrainPlanDto> queryWaitCourseTrainPlan1(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);

    List<String> findAllPlan(Map<String, Object> paramMap);

    int countPlanNum(@Param("dto") MusicGroupTrainPlanSaveDto musicGroupTrainPlanSaveDto);

    List<MusicGroupTrainPlan> queryPlan(@Param("schoolTerm") MusicGroupTrainPlanSaveDto schoolTerm);
}