Преглед изворни кода

Merge remote-tracking branch 'origin/master' into ywx

tags/正式版本
雍文秀 пре 2 година
родитељ
комит
3834b101a3

+ 15
- 12
sexam/src/main/java/com/xhkjedu/sexam/service/paper/EPaperQtypeService.java Прегледај датотеку

@@ -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);

+ 9
- 0
sexam/src/main/java/com/xhkjedu/sexam/vo/paper/EPaperQtypeQuestionVo.java Прегледај датотеку

@@ -85,6 +85,15 @@ public class EPaperQtypeQuestionVo {
85 85
     //母题处理题型
86 86
     private Integer mctype;
87 87
 
88
+    //母题答案
89
+    private String mqanswer;
90
+
91
+    //母题解析
92
+    private String mqanalyze;
93
+
94
+    //母题类型
95
+    private Integer mqlevel;
96
+
88 97
     //试题关联知识点
89 98
     private List<EPaperQPointVo> points = new ArrayList<>();
90 99
 

+ 5
- 1
sexam/src/main/resources/mapper/paper/EPaperQtypeMapper.xml Прегледај датотеку

@@ -34,6 +34,9 @@
34 34
             <result column="mqtypeid" property="mqtypeid"></result>
35 35
             <result column="mqtypename" property="mqtypename"></result>
36 36
             <result column="mctype" property="mctype"></result>
37
+            <result column="mqanswer" property="mqanswer"></result>
38
+            <result column="mqanalyze" property="mqanalyze"></result>
39
+            <result column="mqlevel" property="mqlevel"></result>
37 40
             <collection property="points" ofType="com.xhkjedu.sexam.vo.paper.EPaperQPointVo" javaType="java.util.List"
38 41
                         column="questionid" select="listQuestionPoints">
39 42
                 <result column="pointid" property="pointid"></result>
@@ -46,7 +49,8 @@
46 49
         select t.eptid,t.epid,t.ctype,t.eptname,t.eptnum,t.eptorder,t.eptscore,tq.eptqid,tq.questionid,tq.answer,
47 50
                tq.score,tq.qorder,q.qtypeid,q.qtypename,q.ctype qctype,q.qstem,q.qoption,q.qanswer,q.qanalyze,
48 51
                q.complexity,q.qlevel,q.sorder,q.questionpid,fq.snum,fq.qstem as mqstem,fq.complexity as mcomplexity,
49
-               fq.qtypeid mqtypeid,fq.qtypename mqtypename,fq.ctype mctype
52
+               fq.qtypeid mqtypeid,fq.qtypename mqtypename,fq.ctype mctype,fq.qanalyze mqanalyze,fq.qanswer mqanswer,
53
+               fq.qlevel mqlevel
50 54
         from e_paper_qtype_question tq left join e_paper_qtype t on t.eptid=tq.eptid
51 55
         left join t_question q on tq.questionid=q.questionid
52 56
         left JOIN t_question fq on q.questionpid=fq.questionid

Loading…
Откажи
Сачувај