派生自 projectDept/qhighschool

EricsHu
2023-06-06 f6c19ce9e8ec6ccbcc9f6eaa3d168b27bba214eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
package com.qxueyou.scc.exam.service;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
 
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.exam.model.ExamInfo;
import com.qxueyou.scc.exam.model.ExamResultV;
 
/**
 * 考试服务类
 *
 * @author kevin
 * @createTime 2018-03-11
 */
public interface IExamService {
    /**
     * 新增考试
     *
     * @param examInfo
     *
     * @return 新增考试ID
     */
    String addExam(ExamInfo examInfo);
    void addRemedy(String examId, Date startTime, Date endTime);
 
    /**
     * 删除考试
     *
     * @param elxamIds
     *            考试id
     * @return
     */
    Result deleteExam(String[] examIds);
 
    /**
     * 更新考试信息
     *
     * @param noticeId
     *            考试id
     * @return
     */
    Result updateExam(ExamInfo examInfo);
 
    /**
     * 考试id 查询考试
     *
     * @param examId
     * @return
     */
    ExamInfo queryExamDetail(String examId);
    ExamInfo queryReExam();
 
    /**
     * 设置考试试卷
     *
     * @param param
     * @return
     */
    Result updateExamPaperInfo(ExamInfo param);
 
    /**
     * 开始考试
     *
     * @param examBatchId
     * @param classId
     * @return
     */
    Result doStartExam(String examBatchId, String classId,String studentUserId);
 
    Result doStartReExam(String examId,String studentUserId);
 
    /**
     * 发布考试
     *
     * @param examIds
     *            考试的Ids
     * @return 1表示发布成功,0表示发布失败
     */
    Result doPublishExam(String[] examIds);
 
    /**
     * 撤回发布的考试
     *
     * @param examIds
     *            考试的Ids
     * @return 1表示撤回成功,0表示撤回失败失败
     */
    Result doRevokeExam(String[] examIds);
 
    /**
     * 首页获取学生考试的总条数
     *
     * @param classId
     * @param userId
     * @return
     */
    int getExamCount(String classId, String userId);
 
    /**
     * 首页获取学生逾期未交的考试个数
     *
     * @param classId
     * @param userId
     * @return
     */
    int getUnCommitExamCount(String classId, String userId);
 
    /**
     * 首页获取学生待完成的考试个数
     *
     * @param classId
     * @param userId
     * @return
     */
    int getToBeCommitExamCount(String classId, String userId);
 
    /**
     * 首页获取学生已经提交的考试个数
     *
     * @param classId
     * @param userId
     * @return
     */
    int getCommitExamCount(String classId, String userId);
 
    /**
     * 后台查询考试列表
     * @param keyword
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<ExamInfo> list(String keyword,String classId,String subjectId,Short status,Integer pageSize,Integer pageNum);
 
    /**
     * 后台查询考试数量
     * @param keyword
     * @param creatorId
     * @return
     */
    int listCount(String keyword,String classId,String subjectId,Short status);
 
    /**
     * 获取考试成绩列表
     * @param examId
     * @param examBatchIds
     * @param classId
     * @param keyword
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<ExamResultV> listResult(String examId,String[] examBatchIds, String classId, String keyword, Integer pageSize,
            Integer pageNum);
 
    /**
     * 获取考试成绩列表数量
     * @param examId
     * @param examBatchIds
     * @param classId
     * @param keyword
     * @return
     */
    int listResultCount(String examId,String[] examBatchIds, String classId, String keyword);
 
    /**
     * 查询学生考试列表数量
     * @param keyword 考试名称过滤
     * @param classIds 班级过滤
     * @param subjectId
     * @param status
     * @return
     */
    int listStudentExamCount(String keyword, String[] classIds,String subjectId,Integer status);
 
    /**
     * 查询学生考试列表
     * @param keyword
     * @param classIds
     * @param subjectId
     * @param status
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<ExamResultV> listStudentExam(String keyword, String[] classIds,String subjectId,Integer status, Integer pageSize,Integer pageNum,String userId);
 
    List<ExamResultV> studentExam( String [] classIds);
 
    /**
     * 查询考试结果状态数量
     * @param lstExamIds
     * @return
     */
    Map<String, Integer> queryExamResultStatusCount(List<String> lstExamIds);
 
    Result getReExamRecordList(String examId, String userId);
}