派生自 projectDept/qhighschool

胡仁荣
2022-11-24 06d6372b451b964738cbfe2adb37e1da85d856ed
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
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
package com.qxueyou.scc.exercise.service;
 
import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.Map;
 
import com.alibaba.fastjson.JSONArray;
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.base.model.ResultJson;
import com.qxueyou.scc.exercise.model.ExerciseGroup;
import com.qxueyou.scc.exercise.model.ExerciseItem;
import com.qxueyou.scc.exercise.model.ExerciseItemOption;
import com.qxueyou.scc.exercise.model.ExerciseItemStatistics;
import com.qxueyou.scc.exercise.model.ExerciseParseResult;
 
/**
 * Á·Ï°service
 * @author zhiyong
 *
 */
public interface IExerciseService {
    
 
    /**
     * ÐÂÔöÁ·Ï°×é
     * @param name Á·Ï°×éÃû³Æ
     * @param type Á·Ï°×éÀàÐÍ
     * @param lessonId ¿Î³Ìid
     * @param chapterId Õ½Úid
     * @param singleType Á·Ï°ÊÇ·ñÖ»±£´æÕ½ÚÁ·Ï°
     * @return
     */
    Result insertExerciseGroup(String name, short type,String lessonId, String chapterId);
    
    /**
     * ÐÂÔöÁ·Ï°×é
     * @param name Á·Ï°×éÃû³Æ
     * @param type Á·Ï°×éÀàÐÍ
     * @param lessonId ¿Î³Ìid
     * @param chapterId Õ½Úid
     * @param singleType Á·Ï°ÊÇ·ñÖ»±£´æÕ½ÚÁ·Ï°
     * @param Ä£Ä⿼ÊÔ   Ê±¼äÉèÖÃ
     * @return
     */
    Result insertExerciseGroup(String groupId,String name, short type,String lessonId,
            String chapterId,String attribute1,boolean repeatFlag);
    
    /**ÐÂÔö»ú¹¹Á·Ï°×é
     * name Á·Ï°×éÃû³Æ
     * type Á·Ï°×éÀàÐÍ
     * collegeCourseId ¿ÆÄ¿id
     * attribute1  Ä£ÄâÁ·Ï°Ê±¼ä
     * **/
    Result insertOrgExercise(ExerciseGroup group, boolean repeatFlag);
    
    Result insertAppointExercise(String groupId [],String orgId [],String classIds[]);
    /**
     * ¶ÁÈ¡Á·Ï°×éËùÓÐϰÌâ
     * @param groupId Á·Ï°×éid
     * @return
     */
    List<ExerciseItem> readExerciseItems(String groupId);
    
    
    /**
     * ¶ÁÈ¡Á·Ï°×éËùÓÐϰÌâ,´ø±àºÅ
     * @param groupId Á·Ï°×éid
     * @return
     */
    List<ExerciseItem> readExerciseItemsWithNo(String groupId);
    
    /**
     * ²åÈëExerciseItem
     * @param item
     * @param lstOptions
     * @return
     */
    Result insertExerciseItem(String groupId, ExerciseItem item,List<ExerciseItemOption> lstOptions,String analysis);
    
 
    /**
     * ÅúÁ¿±£´æÌâÄ¿
     * @param groupId
     * @param items
     * @return
     */
    public Result saveExerciseItemBatch(String groupId,List<ExerciseItem> items);
    
    
    /**
     * ¸üÐÂÁ·Ï°
     * @param item
     * @param lstOptions
     * @return
     */
    Result updateExerciseItem(ExerciseItem item, List<ExerciseItemOption> lstOptions,String analysis) ;
    
    
    /**
     * É¾³ýϰÌâ
     * @param strings Ï°Ìâid
     * @return
     */
    Result deleteExerciseItems(String[] exerciceIds,String[] reIds,String groupId);
 
    /**
     * µ¼ÈëϰÌâ
     * @param groupId Á·Ï°×éid
     * @param file Îļþ
     * @return
     */
    Result doImportItems(String groupId, File file);
    
    /**
     * ×é×°ExerciseGroupµÄlist
     * @param groupId Ö÷¼ü
     * @return
     */
    List<ExerciseGroup> initExerciseGroup(String groupId);
    
    /**
     * ÅúÁ¿É¾³ýExerciseGroup
     * @param groupId Ö÷¼ü£¬¶à¸öidʱÒÔ","·Ö¸ô
     * @return
     */
    Result deleteExerciseGroup(String groupId) ;
    
    /**
     * ÅúÁ¿É¾³ýExerciseGroup
     * @param groupId Ö÷¼ü£¬¶à¸öidʱÒÔ","·Ö¸ô
     * @param type ¶à¸ötypeʱÒÔ","·Ö¸ô
     * @return
     */
    Result deleteExerciseGroup(String groupId,String type,String deleteType,Integer delAll, String orgIds[], String classIds[]) ;
    
    /**
     * £ººǫ́
     * ²åÈëÆÀ¹ÀÄ£°åʱµ÷ÓÃ
     * @param name
     * @param type
     * @return
     */
    ExerciseGroup insertExerciseGroup(String name,short type) ;
    
    /**
     * ²éѯÁ·Ï°ÁÐ±í£¬»¹Ðè²éѯÁªÏµÏÂÃæÏ°Ìâ¸öÊý
     * @param hql
     * @param args
     * @return
     */
    List<ExerciseGroup> queryExerciceGroupList(String hql,List<Object> args);
    
    /**
     * Ìí¼ÓÁ·Ï°Í¼Æ¬
     * @param imgPath
     * @param imgObjId
     * @param imgObjType
     * @return
     */
    List<Map<String,Object>> doAddExerciseObjImg(String[] imgPath, String imgObjId, int imgObjType);
    
    
    /**
     * Ìí¼ÓÁ·Ï°Í¼Æ¬
     * @param imgPath
     * @param imgObjId
     * @param imgObjType
     * @return
     */
    List<Map<String,Object>> doAddEvaExerciseObjImg(String[] imgPath, String imgObjId, int imgObjType);
    
    /**
     * É¾³ýÁ·Ï°Í¼Æ¬
     * @return
     */
    Result dodelExerciseObjImg(String imgObjId);
    
    
    
    /**
     * É¾³ýÁ·Ï°Í¼Æ¬ Îʾí
     * @return
     */
    ResultJson dodelEvaExerciseObjImg(String imgObjId);
    
    /**
     * µ¼ÈëϰÌâÄ£¿é£ºÉî¶È½âÎöwordÎĵµ
     * @param groupId
     * @param file
     * @param uuid
     * @return
     */
    Result doDeepAnalysisDoc(String groupId,String fullPath);
    
    /**
     * µ¼ÈëϰÌâÄ£¿é£º½«½âÎö½á¹û·µ»Øµ½Ç°Ì¨
     * @param groupId
     * @param file
     * @return
     */
    ExerciseParseResult doParseItems(String groupId, String fullPath , String module );
    
    /**
     * µ¼ÈëϰÌâÄ£¿é£º Ð£ÑéϰÌ⣬½«½âÎö½á¹û·µ»Øµ½Ç°Ì¨
     * @param content
     * @return
     */
    ExerciseParseResult validateExercise(String content);
    
    /**
     * ¸´ÖÆÀúÊ·Á·Ï°
     * @param fromClassId
     * @return
     */
    Result executeCopyExercise(String groupId, String subjectId, String subjectName, String chapterId) ;
    
    /**
     * Ñ§Ô±µÃ·ÖÏêÇéÁбí
     * @param groupId
     * @return
     */
    List<Map<String, Object>> resultList(String groupId);
    
    /**
     * ³õʼ»¯Æ½¾ù³É¼¨ºÍ×î¸ß³É¼¨
     * @param groupId
     * @return
     */
    Map<String, Object> initScore(String groupId);
    
    /**
     * ÌâÄ¿µÃ·ÖÏêÇé
     * @param groupId
     * @return
     */
    List<ExerciseItemStatistics> itemDetailList(String groupId);
    
    /**
     * ¼ÓÔØÌâĿѡÏîÏêÇé - °à¼¶¡¢»ú¹¹
     * @param groupId
     * @return
     */
    List<Map<String,Object>> loadOptionsList( String exerciseItemId);
 
    Result addExerciseGroupExtendTime(String groupId, String exerciseTime,boolean repeatFlag);
    
    /**
     * ÆÀ¼ÛÄ£¿éϰÌâÐÞ¸Ä
     * 
     * @param item
     * @param lstOptions
     * @return
     */
    ResultJson updateExerciseItem4Evaluate(ExerciseItem item, List<ExerciseItemOption> lstOptions,String analysis);
 
    /**
     * ÆÀ¼ÛÄ£¿éϰÌâÐÂÔö
     * 
     * @param groupId
     * @param item
     * @param lstOptions
     * @return
     */
    ResultJson insertExerciseItem4Evaluate(String groupId, ExerciseItem item, 
            List<ExerciseItemOption> lstOptions,String analysis,JSONArray titleImgs);
    
    /**
     * ²é¿´ÎʾíÏêÇé
     * 
     * @param groupId ÎÊÌâ×éid
     * @param evaluateTemId Ä£°åid
     * @return
     */
    List<ExerciseItem> readExerciseItems4Evaluate(String groupId);
    
    /**
     * ²éѯÎʾíÓû§Á·Ï°ÏêÇé
     * @param recordId
     * @param evaluateId
     * @return
     */
    ResultJson queryUserEvaExerciseDetail(String recordId,String evaluateId);
    
    /**
     * ²éѯÎʾíͼƬ
     * @param imgObjId
     * @param imgObjType
     * @return
     */
    List<Map<String,Object>> queryEvaExerciseObjImg(String imgObjId, int imgObjType);
 
    /**
     * ±à¼­Á·Ï°±£´æ
     */
    Result doSaveEditGroup(String groupId, String groupName);
    
    /**
     * ÅÅÐò
     * 
     * @param ids ÅÅÐòid
     * @param index ÐòºÅ
     * @return
     */
    Result doOrder(List<String> ids,  List<Integer> index);
    
    /**
     * ÎʾíÄ£°åÁ·Ï°ÌâÅÅÐò
     * 
     * @param ids ÅÅÐòid
     * @param index ÐòºÅ
     * @return
     */
    Result doitemOrder(List<String> ids,  List<Integer> index,String groupId);
    
    /**
     * ¿½±´Á·Ï°
     * 
     * @param id
     * @param subjectId
     * @param collegeCourseId
     * @param chapterId
     * @return
     * @throws IllegalAccessException
     * @throws InstantiationException
     * @throws InvocationTargetException
     * @throws NoSuchMethodException
     */
    Result doCopyExerciseGroup(String id, String subjectId, String collegeCourseId, String chapterId) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException;
    
    /**
     * ±£´æÁ·Ï°½Ó¿Ú
     * 
     * @param group
     * @return
     */
    public Result saveExerciseGroup(ExerciseGroup group);
    
    /**
     * £¨ºǫ́¹ÜÀíϵͳ£©
     *  ¹ÜÀíԱͬ²½Ï°Ìâµ½°à¼¶
     * 
     * @param exerciseItemId
     * @return
     */
    public Result doSynExercise(String[] exerciseItemIds) throws IllegalAccessException, InvocationTargetException;
    
    /**
     * ¿½±´Á·Ï°Ìâ
     * 
     * @param items
     * @param newGroupId
     * @param oldGroupId
     * @throws NoSuchMethodException 
     * @throws InvocationTargetException 
     * @throws InstantiationException 
     * @throws IllegalAccessException 
     */
    public void doCopyExerciseItem(String newGroupId, String oldGroupId, List<ExerciseItem> items, int type) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException;
    
    /**
     * Êý¾Ýͬ²½½Ó¿Ú£¬Í¬²½Ï·¢µ½°à¼¶µÄÊý¾Ý
     * 
     * @param orgId
     * @param groupId
     * @return
     */
    public Result doSynExerciseItem(String orgId, String groupId);
    
    /**
     * ÎʾíÆÀ¹À  ¸´ÖÆÁ·Ï°
     * @param groupId
     * @return
     */
    public String doCopyExerciseByEvaluate(String groupId);
}