package com.ym.mec.biz.service;

import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
import com.ym.mec.common.service.BaseService;
import java.util.*;


public interface CourseScheduleEvaluateService extends BaseService<Long, CourseScheduleEvaluate> {

    boolean addStudyReport(CourseScheduleEvaluate courseScheduleEvaluate);

    CourseScheduleEvaluate getStudyReport(Integer classGroupId);

    /**
     * 根据课程组id获取报告列表
     *
     * @param groupId
     * @return
     */
    List<CourseScheduleEvaluate> findByGroupId(Integer groupId,Integer status);

    /**
     * 根据id获取报告
     *
     * @return
     */
    CourseScheduleEvaluate findById(Integer id);

    /**
     * 获取需评论的课程列表
     * @param teacherId
     * @return
     */
    List<CourseScheduleEvaluate> getNeedPostList(Integer teacherId);


    /**
     * 预生成学习报告
     * @param NowDate
     * @param afterDate
     * @return
     */
    List<CourseScheduleEvaluate> createEvaluate(Date nowDate);

    /**
     * 更新学习报告
     * @param courseScheduleEvaluate
     * @return
     */
    boolean updateStudyReport(CourseScheduleEvaluate courseScheduleEvaluate);

    /**
     * 推栋需填写报告给老师
     */
    void pushNeedPostReport();
}
