|
@@ -64,13 +64,13 @@ public class EPaperQtypeService {
|
64
|
64
|
|
65
|
65
|
List<EPaperQtype> qtypelist = paper.getQtypelist();
|
66
|
66
|
List<EPaperQtypeQuestion> queslist = new ArrayList<>();//存放试题
|
67
|
|
- setEPaperBaseDetail(paper,espVo,qtypelist,queslist);
|
|
67
|
+ setEPaperBaseDetail(paper,espVo,qtypelist);
|
68
|
68
|
//保存试卷信息
|
69
|
69
|
ePaperMapper.insertUseGeneratedKeys(paper);
|
70
|
70
|
int epid = paper.getId();
|
71
|
71
|
paper.setEpid(epid);
|
72
|
72
|
//保存题型试题信息
|
73
|
|
- savePaperQtype(paper,qtypelist);
|
|
73
|
+ savePaperQtype(paper,qtypelist,queslist);
|
74
|
74
|
|
75
|
75
|
//保存试卷分析
|
76
|
76
|
if(paper.getPtype() == 1){
|
|
@@ -95,10 +95,7 @@ public class EPaperQtypeService {
|
95
|
95
|
}
|
96
|
96
|
|
97
|
97
|
//设置试卷基本信息
|
98
|
|
- private void setEPaperBaseDetail(EPaper paper,EExamSubjectPaperVo eSubject,List<EPaperQtype> qtypelist,List<EPaperQtypeQuestion> queslist){
|
99
|
|
- qtypelist.forEach(q ->{
|
100
|
|
- queslist.addAll(q.getQuestions());
|
101
|
|
- });
|
|
98
|
+ private void setEPaperBaseDetail(EPaper paper,EExamSubjectPaperVo eSubject,List<EPaperQtype> qtypelist){
|
102
|
99
|
if(paper.getPtype() == 2 && paper.getPfiles()!=null && paper.getPfiles().size()>0){
|
103
|
100
|
paper.setHasfile(1);
|
104
|
101
|
}else {
|
|
@@ -108,8 +105,9 @@ public class EPaperQtypeService {
|
108
|
105
|
paper.setSubjectid(eSubject.getSubjectid());
|
109
|
106
|
paper.setEsid(eSubject.getEsid());
|
110
|
107
|
int timestamp = N_Utils.getSecondTimestamp();
|
111
|
|
- double pscore = queslist.stream().collect(Collectors.summingDouble(EPaperQtypeQuestion:: getScore));
|
112
|
|
- paper.setPnum(queslist.size());
|
|
108
|
+ double pscore = qtypelist.stream().collect(Collectors.summingDouble(EPaperQtype:: getEptscore));
|
|
109
|
+ int pnum = qtypelist.stream().collect(Collectors.summingInt(EPaperQtype:: getEptnum));
|
|
110
|
+ paper.setPnum(pnum);
|
113
|
111
|
paper.setPscore(pscore);
|
114
|
112
|
paper.setCreatetime(timestamp);
|
115
|
113
|
paper.setHandletime(timestamp);
|
|
@@ -123,8 +121,7 @@ public class EPaperQtypeService {
|
123
|
121
|
}
|
124
|
122
|
|
125
|
123
|
//保存试卷题型试题信息
|
126
|
|
- private void savePaperQtype(EPaper epaper,List<EPaperQtype> qtypelist){
|
127
|
|
- List<EPaperQtypeQuestion> qtqs = new ArrayList<>();
|
|
124
|
+ private void savePaperQtype(EPaper epaper,List<EPaperQtype> qtypelist,List<EPaperQtypeQuestion> qtqs){
|
128
|
125
|
for(EPaperQtype qtype : qtypelist){
|
129
|
126
|
qtype.setEpid(epaper.getEpid());
|
130
|
127
|
qtype.setCreateid(epaper.getHandleid());
|
|
@@ -389,13 +386,13 @@ public class EPaperQtypeService {
|
389
|
386
|
List<EPaperQtype> qtypelist = paper.getQtypelist();
|
390
|
387
|
List<EPaperQtypeQuestion> queslist = new ArrayList<>();//存放试题
|
391
|
388
|
|
392
|
|
- setEPaperBaseDetail(paper,espVo,qtypelist,queslist);
|
|
389
|
+ setEPaperBaseDetail(paper,espVo,qtypelist);
|
393
|
390
|
//保存试卷信息
|
394
|
391
|
ePaperMapper.insertUseGeneratedKeys(paper);
|
395
|
392
|
int epid = paper.getId();
|
396
|
393
|
paper.setEpid(epid);
|
397
|
394
|
//保存题型试题信息
|
398
|
|
- savePaperQtype(paper,qtypelist);
|
|
395
|
+ savePaperQtype(paper,qtypelist,queslist);
|
399
|
396
|
|
400
|
397
|
//保存试卷分析
|
401
|
398
|
if(paper.getPtype() == 1){
|
|
@@ -464,6 +461,10 @@ public class EPaperQtypeService {
|
464
|
461
|
mq.setQtypename(q.getMqtypename());
|
465
|
462
|
mq.setQstem(q.getMqstem());
|
466
|
463
|
mq.setComplexity(q.getMcomplexity());
|
|
464
|
+ mq.setQanalyze(q.getMqanalyze());
|
|
465
|
+ mq.setQanswer(q.getMqanswer());
|
|
466
|
+ mq.setQorder(q.getQorder());
|
|
467
|
+ mq.setQlevel(q.getMqlevel());
|
467
|
468
|
List<EPaperQPointVo> allpoint = new ArrayList<>();
|
468
|
469
|
for(EPaperQtypeQuestionVo sq : sonqlist){
|
469
|
470
|
List<EPaperQPointVo> sqpoints = sq.getPoints();
|
|
@@ -474,6 +475,8 @@ public class EPaperQtypeService {
|
474
|
475
|
}
|
475
|
476
|
sq.setCtype(sq.getQctype());
|
476
|
477
|
}
|
|
478
|
+ Double mscore = sonqlist.stream().collect(Collectors.summingDouble(EPaperQtypeQuestionVo:: getScore));
|
|
479
|
+ mq.setScore(mscore);
|
477
|
480
|
mq.setSonques(sonqlist);
|
478
|
481
|
mq.setPoints(allpoint);
|
479
|
482
|
rtnqlist.add(mq);
|