Browse Source

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

tags/正式版本
雍文秀 2 years ago
parent
commit
3834b101a3

+ 15
- 12
sexam/src/main/java/com/xhkjedu/sexam/service/paper/EPaperQtypeService.java View File

64
 
64
 
65
         List<EPaperQtype> qtypelist = paper.getQtypelist();
65
         List<EPaperQtype> qtypelist = paper.getQtypelist();
66
         List<EPaperQtypeQuestion> queslist = new ArrayList<>();//存放试题
66
         List<EPaperQtypeQuestion> queslist = new ArrayList<>();//存放试题
67
-        setEPaperBaseDetail(paper,espVo,qtypelist,queslist);
67
+        setEPaperBaseDetail(paper,espVo,qtypelist);
68
         //保存试卷信息
68
         //保存试卷信息
69
         ePaperMapper.insertUseGeneratedKeys(paper);
69
         ePaperMapper.insertUseGeneratedKeys(paper);
70
         int epid = paper.getId();
70
         int epid = paper.getId();
71
         paper.setEpid(epid);
71
         paper.setEpid(epid);
72
         //保存题型试题信息
72
         //保存题型试题信息
73
-        savePaperQtype(paper,qtypelist);
73
+        savePaperQtype(paper,qtypelist,queslist);
74
 
74
 
75
         //保存试卷分析
75
         //保存试卷分析
76
         if(paper.getPtype() == 1){
76
         if(paper.getPtype() == 1){
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
         if(paper.getPtype() == 2 && paper.getPfiles()!=null && paper.getPfiles().size()>0){
99
         if(paper.getPtype() == 2 && paper.getPfiles()!=null && paper.getPfiles().size()>0){
103
             paper.setHasfile(1);
100
             paper.setHasfile(1);
104
         }else {
101
         }else {
108
         paper.setSubjectid(eSubject.getSubjectid());
105
         paper.setSubjectid(eSubject.getSubjectid());
109
         paper.setEsid(eSubject.getEsid());
106
         paper.setEsid(eSubject.getEsid());
110
         int timestamp = N_Utils.getSecondTimestamp();
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
         paper.setPscore(pscore);
111
         paper.setPscore(pscore);
114
         paper.setCreatetime(timestamp);
112
         paper.setCreatetime(timestamp);
115
         paper.setHandletime(timestamp);
113
         paper.setHandletime(timestamp);
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
         for(EPaperQtype qtype : qtypelist){
125
         for(EPaperQtype qtype : qtypelist){
129
             qtype.setEpid(epaper.getEpid());
126
             qtype.setEpid(epaper.getEpid());
130
             qtype.setCreateid(epaper.getHandleid());
127
             qtype.setCreateid(epaper.getHandleid());
389
         List<EPaperQtype> qtypelist = paper.getQtypelist();
386
         List<EPaperQtype> qtypelist = paper.getQtypelist();
390
         List<EPaperQtypeQuestion> queslist = new ArrayList<>();//存放试题
387
         List<EPaperQtypeQuestion> queslist = new ArrayList<>();//存放试题
391
 
388
 
392
-        setEPaperBaseDetail(paper,espVo,qtypelist,queslist);
389
+        setEPaperBaseDetail(paper,espVo,qtypelist);
393
         //保存试卷信息
390
         //保存试卷信息
394
         ePaperMapper.insertUseGeneratedKeys(paper);
391
         ePaperMapper.insertUseGeneratedKeys(paper);
395
         int epid = paper.getId();
392
         int epid = paper.getId();
396
         paper.setEpid(epid);
393
         paper.setEpid(epid);
397
         //保存题型试题信息
394
         //保存题型试题信息
398
-        savePaperQtype(paper,qtypelist);
395
+        savePaperQtype(paper,qtypelist,queslist);
399
 
396
 
400
         //保存试卷分析
397
         //保存试卷分析
401
         if(paper.getPtype() == 1){
398
         if(paper.getPtype() == 1){
464
                        mq.setQtypename(q.getMqtypename());
461
                        mq.setQtypename(q.getMqtypename());
465
                        mq.setQstem(q.getMqstem());
462
                        mq.setQstem(q.getMqstem());
466
                        mq.setComplexity(q.getMcomplexity());
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
                        List<EPaperQPointVo> allpoint = new ArrayList<>();
468
                        List<EPaperQPointVo> allpoint = new ArrayList<>();
468
                        for(EPaperQtypeQuestionVo sq : sonqlist){
469
                        for(EPaperQtypeQuestionVo sq : sonqlist){
469
                            List<EPaperQPointVo> sqpoints = sq.getPoints();
470
                            List<EPaperQPointVo> sqpoints = sq.getPoints();
474
                            }
475
                            }
475
                            sq.setCtype(sq.getQctype());
476
                            sq.setCtype(sq.getQctype());
476
                        }
477
                        }
478
+                       Double mscore = sonqlist.stream().collect(Collectors.summingDouble(EPaperQtypeQuestionVo:: getScore));
479
+                       mq.setScore(mscore);
477
                        mq.setSonques(sonqlist);
480
                        mq.setSonques(sonqlist);
478
                        mq.setPoints(allpoint);
481
                        mq.setPoints(allpoint);
479
                        rtnqlist.add(mq);
482
                        rtnqlist.add(mq);

+ 9
- 0
sexam/src/main/java/com/xhkjedu/sexam/vo/paper/EPaperQtypeQuestionVo.java View File

85
     //母题处理题型
85
     //母题处理题型
86
     private Integer mctype;
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
     private List<EPaperQPointVo> points = new ArrayList<>();
98
     private List<EPaperQPointVo> points = new ArrayList<>();
90
 
99
 

+ 5
- 1
sexam/src/main/resources/mapper/paper/EPaperQtypeMapper.xml View File

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

Loading…
Cancel
Save