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

import java.util.List;

import cn.com.qmth.stmms.biz.exam.model.Marker;
import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
import cn.com.qmth.stmms.biz.mark.model.Task;
import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;

public interface TaskService {

    boolean submit(Task task);

    List<Task> findByQuery(MarkLibrarySearchQuery query);

    Task build(MarkLibrary library);

    boolean setCurrent(Marker marker, int libraryId);

    void removeCurrent(Marker marker, int libraryId);

    int countCurrent(int examId, String subjectCode);

    int countCurrent(Marker marker);

    void clearCurrent(int examId, String subjectCode);

    void clearCurrent(Marker marker);
    
    void clearTaskMap(long cleanMapinterval) throws Exception;
}
