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

import java.util.Date;
import java.util.List;

import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
import cn.com.qmth.stmms.biz.mark.model.PictureConfigItem;

public interface MarkGroupService {

    MarkGroup save(MarkGroup markGroup);

    MarkGroup findOne(int examId, String subjectCode, int number);

    long countByExamAndSubject(int examId, String subjectCode);

    List<MarkGroup> findByExam(int examId);

    List<MarkGroup> findByExamAndSubject(int examId, String code);

    List<MarkGroup> findByExamAndSubjectWithDouble(int examId, String code);

    long countByExam(int examId);

    void updatePicList(int examId, String subjectCode, int number, List<PictureConfigItem> picList);

    void updateTitle(int examId, String subjectCode, int number, String title);

    void updateBuildTime(int examId, String subjectCode, int number, Date time);

    void resetBuildTime(int examId, String subjectCode);

    void updateDoubleRate(int examId, String subjectCode, Integer number, Double doubleRate);

    void updateArbitrateThreshold(int examId, String subjectCode, Integer number, Double arbitrateThreshold);

    long sumLibraryCount(Integer examId);

    long sumMarkedCount(Integer examId);

}
