package com.ssj.service.weixin.zuoyb.service;

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

import com.ssj.bean.weixin.zyb.domain.ZuoybStudentWorkHowDetails;
import com.ssj.framework.core.common.service.BaseService;

/** 
 * @author  ZhangCaibao 
 * @version 2017年11月1日 下午3:23:52 
 * 类说明 
 */
public interface ZuoybStudentWorkHowDetailsService extends BaseService<ZuoybStudentWorkHowDetails, String>{
	
	public void deleteByStudentWorkId(String studentWorkId);
	/**
	 * 根据时间来获取会员选择的知识点
	* @param vipId
	* @param start
	* @param end
	* @param course
	* @return
	* 创建人：ZhangCaibao 
	* 2018年3月13日 上午11:30:01 
	* @List<ZuoybStudentWorkHow>
	 */
	public List<ZuoybStudentWorkHowDetails> getStartAndEndWorkHowAndCourse(String vipId,String start,String end,String course);
	
	

	/**
	 * @param studentWorkIds
	 * @return
	
	 * 方法说明:通过反馈集合查询知识点列表(去重)
	
	 * 创立日期:2018年5月16日 下午4:57:43
	 * 创建人:yangcan
	
	 */
	public List<ZuoybStudentWorkHowDetails> findByStudentWorkIdIn(List<String> studentWorkIds);


	/**
	 * 通过知识点id查询当天已经插入的知识点id对象
	 * @param howDetailIds
	 * @param zybWorkId
	 * @return
	 */
	public List<ZuoybStudentWorkHowDetails> findWorkHowDetail4Id (List<String> howDetailIds, int type, String zybWorkId);

	/**
	 * 查询错题关联的知识点，返回知识点名称和一级模块
	 * @param studentWorkId
	 * @return
	 */
	List<Map<String, String>> findWrongRelateKnow (String studentWorkId);

	/**
	 * 查询一段时间学生的知识维度情况
	 * @param vipId
	 * @param subject
	 * @param beginTime
	 * @param endTime
	 * @param type
	 * @return
	 */
	List<Map<String, Object>> getHomeworkKnowModuleData (String vipId, String subject, String beginTime, String endTime, int  type);

	/**
	 * 查询一段时间学生的知识维度情况
	 * @param vipId
	 * @param subject
	 * @param beginTime
	 * @param endTime
	 * @param type
	 * @return
	 */
	List<Map<String, Object>> getHomeworkKnowModuleDataV1 (String vipId, String subject, String beginTime, String endTime, int  type);


	/**
	 * 查询一段时间学生的错题知识维度情况
	 * @param vipId
	 * @param subject
	 * @param beginTime
	 * @param endTime
	 * @param type
	 * @return
	 */
	List<Map<String, Object>> getHomeworkKnowModuleDataWrongV1 (String vipId, String subject, String beginTime, String endTime, int  type);


	/**
	 * 查询知识点掌握情况
	 * @param vipId
	 * @param subject
	 * @param beginTime
	 * @param endTime
	 * @param type
	 * @return
	 */
	List<Map<String, Object>> getKnowPointGrasp (String vipId, String subject, String beginTime, String endTime, int  type);

	/**
	 * 查询知识点掌握情况
	 * @param vipId
	 * @param subject
	 * @param beginTime
	 * @param endTime
	 * @param type
	 * @return
	 */
	List<Map<String, Object>> getWrongKnowPointGrasp (String vipId, String subject, String beginTime, String endTime, int  type);

}
