|
@@ -8,6 +8,7 @@ import com.xhkjedu.sexam.mapper.paper.EPaperAnalyzeMapper;
|
8
|
8
|
import com.xhkjedu.sexam.mapper.paper.EPaperFileMapper;
|
9
|
9
|
import com.xhkjedu.sexam.mapper.paper.EPaperMapper;
|
10
|
10
|
import com.xhkjedu.sexam.mapper.reportstu.ERstudentMapper;
|
|
11
|
+import com.xhkjedu.sexam.model.paper.EPaper;
|
11
|
12
|
import com.xhkjedu.sexam.vo.paper.QuestionOrderVo;
|
12
|
13
|
import com.xhkjedu.sexam.vo.paper.QuestionPointVo;
|
13
|
14
|
import com.xhkjedu.utils.N_Utils;
|
|
@@ -210,13 +211,26 @@ public class EReportStudentService {
|
210
|
211
|
map.put("stuanswertxt", q.get("stuanswertxt").toString());
|
211
|
212
|
map.put("answer", q.get("answer").toString());
|
212
|
213
|
map.put("qstem", q.get("qstem").toString());
|
213
|
|
- map.put("qoption", q.get("qoption").toString());
|
214
|
|
- map.put("qanalyze", q.get("qanalyze").toString());
|
215
|
|
- map.put("hashear", Integer.parseInt(q.get("hashear").toString()));
|
216
|
|
- map.put("hearfile", q.get("hearfile").toString());
|
|
214
|
+ if(N_Utils.isNotEmpty(q.get("qoption"))){
|
|
215
|
+ map.put("qoption", q.get("qoption").toString());
|
|
216
|
+ }else{
|
|
217
|
+ map.put("qoption", "");
|
|
218
|
+ }
|
|
219
|
+ if(N_Utils.isNotEmpty(q.get("qanalyze"))){
|
|
220
|
+ map.put("qanalyze", q.get("qanalyze").toString());
|
|
221
|
+ }else{
|
|
222
|
+ map.put("qanalyze", "");
|
|
223
|
+ }
|
|
224
|
+
|
|
225
|
+ Integer hashear = Integer.parseInt(q.get("hashear").toString());
|
|
226
|
+ map.put("hashear", hashear);
|
|
227
|
+ if(hashear == 1){
|
|
228
|
+ map.put("hearfile", q.get("hearfile").toString());
|
|
229
|
+ }
|
|
230
|
+
|
217
|
231
|
map.put("qlevel", qlevel);
|
218
|
|
- map.put("classavgscore", Integer.parseInt(q.get("classavgscore").toString()));
|
219
|
|
- map.put("gradeavgscore", Integer.parseInt(q.get("gradeavgscore").toString()));
|
|
232
|
+ map.put("classavgscore", Double.parseDouble(q.get("classavgscore").toString()));
|
|
233
|
+ map.put("gradeavgscore", Double.parseDouble(q.get("gradeavgscore").toString()));
|
220
|
234
|
if (q.get("points") != null) {
|
221
|
235
|
List<Map> points = (List<Map>) q.get("points");
|
222
|
236
|
map.put("points", points);
|
|
@@ -236,10 +250,27 @@ public class EReportStudentService {
|
236
|
250
|
mq.put("ctype", Integer.parseInt(q.get("mctype").toString()));
|
237
|
251
|
mq.put("qstem", q.get("mqstem").toString());
|
238
|
252
|
mq.put("qoption", q.get("mqoption").toString());
|
239
|
|
- mq.put("qanswer", q.get("mqanswer").toString());
|
240
|
|
- mq.put("qanalyze", q.get("mqanalyze").toString());
|
241
|
|
- mq.put("hashear", Integer.parseInt(q.get("mhashear").toString()));
|
242
|
|
- mq.put("hearfile", q.get("mhearfile").toString());
|
|
253
|
+ if(N_Utils.isNotEmpty(q.get("mqoption"))){
|
|
254
|
+ mq.put("qoption", q.get("mqoption").toString());
|
|
255
|
+ }else{
|
|
256
|
+ mq.put("qoption", "");
|
|
257
|
+ }
|
|
258
|
+ if(N_Utils.isNotEmpty(q.get("mqanalyze"))){
|
|
259
|
+ mq.put("qanalyze", q.get("mqanalyze").toString());
|
|
260
|
+ }else{
|
|
261
|
+ mq.put("qanalyze", "");
|
|
262
|
+ }
|
|
263
|
+ if(N_Utils.isNotEmpty(q.get("mqanswer"))){
|
|
264
|
+ mq.put("qanalyze", q.get("mqanswer").toString());
|
|
265
|
+ }else{
|
|
266
|
+ mq.put("qanalyze", "");
|
|
267
|
+ }
|
|
268
|
+
|
|
269
|
+ Integer hashear = Integer.parseInt(q.get("mhashear").toString());
|
|
270
|
+ mq.put("hashear", hashear);
|
|
271
|
+ if(hashear == 1){
|
|
272
|
+ mq.put("hearfile", q.get("mhearfile").toString());
|
|
273
|
+ }
|
243
|
274
|
if (q.get("points") != null) {
|
244
|
275
|
List<Map> points = (List<Map>) q.get("points");
|
245
|
276
|
mq.put("points", points);
|
|
@@ -282,7 +313,6 @@ public class EReportStudentService {
|
282
|
313
|
map.put("num",queslist.size());
|
283
|
314
|
}
|
284
|
315
|
map.remove("questions");
|
285
|
|
- return list;
|
286
|
316
|
}
|
287
|
317
|
return list;
|
288
|
318
|
}
|
|
@@ -302,11 +332,11 @@ public class EReportStudentService {
|
302
|
332
|
List<Map> pointqueslist = new ArrayList<>();
|
303
|
333
|
for(Map pointmap : pointlist){
|
304
|
334
|
//知识点包含的试题
|
305
|
|
- List<QuestionOrderVo> ques = (List<QuestionOrderVo>) pointmap.get("ques");
|
|
335
|
+ List<Map> ques = (List<Map>) pointmap.get("ques");
|
306
|
336
|
List<Integer> eptqidlist = new ArrayList<>();//知识点关联的所有试题
|
307
|
|
- for(QuestionOrderVo qovo : ques){
|
308
|
|
- Integer[] eptqids = qovo.getEptqids();
|
309
|
|
- eptqidlist.addAll(Arrays.asList(eptqids));
|
|
337
|
+ for(Map qovo : ques){
|
|
338
|
+ List<Integer> eptqids = (List<Integer>) qovo.get("eptqids");
|
|
339
|
+ eptqidlist.addAll(eptqids);
|
310
|
340
|
}
|
311
|
341
|
//获取知识点下试题
|
312
|
342
|
List<Map> poinques = list.stream().filter(s -> eptqidlist.contains(Integer.parseInt(s.get("eptqid").toString()))).collect(Collectors.toList());
|