package cn.com.qmth.stmms.biz.mark.service;

import java.util.List;

import cn.com.qmth.stmms.biz.mark.model.TrialHistory;
import cn.com.qmth.stmms.biz.mark.model.TrialLibrary;
import cn.com.qmth.stmms.biz.mark.model.TrialTag;
import cn.com.qmth.stmms.biz.mark.model.TrialTrack;
import cn.com.qmth.stmms.biz.mark.query.TrialLibrarySearchQuery;

public interface TrialService {

    TrialLibrary findLibrary(Integer id);

    TrialLibrarySearchQuery findLibrary(TrialLibrarySearchQuery query);

    List<TrialLibrary> findUnMarkedLibrary(Integer examId, String subjectCode, Integer groupNumber, Integer markerId,
            int pageNumber, int pageSize);

    long countLibrary(Integer examId, String subjectCode, Integer groupNumber);

    List<TrialHistory> findHistory(Integer libraryId);

    TrialHistory findHistory(Integer libraryId, Integer markerId);

    long countHistory(Integer libraryId);

    long countMarkerHistory(Integer markerId);

    List<TrialHistory> findHistory(Integer examId, String subjectCode, Integer groupNumber, Integer markerId,
            int pageNumber, int pageSize);

    List<TrialTrack> findTrack(Integer libraryId, Integer markerId);

    List<TrialTag> findTag(Integer libraryId, Integer markerId);

}
