Browse Source

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

wn
王宁 1 week ago
parent
commit
3a6aaa03fb

+ 2
- 0
smarking/src/main/java/com/xhkjedu/smarking/model/report/reportclass/MsrClassTop.java View File

@@ -23,6 +23,8 @@ public class MsrClassTop extends BaseBean {
23 23
     private Integer classid;
24 24
     //科目ID(含总分)
25 25
     private String subjectid;
26
+    //参考人数
27
+    private Integer stunum;
26 28
     //班级前60%人数
27 29
     private Integer btnum;
28 30
     //班前60%所占班级人数比例

+ 2
- 0
smarking/src/main/java/com/xhkjedu/smarking/model/stupaper/MsPaperStudentBlock.java View File

@@ -33,6 +33,8 @@ public class MsPaperStudentBlock extends BaseBean {
33 33
     private Integer mpsid;
34 34
     //学生答案图片
35 35
     private String stuanswer;
36
+    //学生批改后图片
37
+    private String stumerge;
36 38
     //是否转换0默认1待转换2转换成功3转换失败
37 39
     private Integer converted;
38 40
     //是否批阅0默认1待批阅2批阅中3已批阅

+ 3
- 0
smarking/src/main/java/com/xhkjedu/smarking/service/papercheck/MsPaperCheckTeacherArbitrateService.java View File

@@ -145,6 +145,7 @@ public class MsPaperCheckTeacherArbitrateService {
145 145
         Integer hasgood = param.getHasgood();
146 146
         Integer hasbad = param.getHasbad();
147 147
         Integer mpsid;
148
+        String stumerge = param.getStumerge();
148 149
         if (correcttype.equals(3)) {//按题块批阅
149 150
             MsPaperStudentBlock block = msPaperStudentBlockMapper.selectByPrimaryKey(mpsbid);
150 151
             mpsid = block.getMpsid();
@@ -224,6 +225,7 @@ public class MsPaperCheckTeacherArbitrateService {
224 225
             psq.setFinalreason(finalreason);
225 226
             psq.setHasgood(hasgood);
226 227
             psq.setHasbad(hasbad);
228
+            psq.setStumerge(stumerge);
227 229
             msPaperStudentBlockMapper.updateByPrimaryKeySelective(psq);
228 230
             msPaperStudentQuestionMapper.checkByMptqidAndStudentId(studentQuestions, psq);
229 231
         } else {
@@ -260,6 +262,7 @@ public class MsPaperCheckTeacherArbitrateService {
260 262
             psq.setFinalreason(finalreason);
261 263
             psq.setHasgood(hasgood);
262 264
             psq.setHasbad(hasbad);
265
+            psq.setStumerge(stumerge);
263 266
             msPaperStudentQuestionMapper.updateByPrimaryKeySelective(psq);
264 267
         }
265 268
         msPaperCheckTeacherArbitrateMapper.correct(param);

+ 3
- 0
smarking/src/main/java/com/xhkjedu/smarking/service/papercheck/MsPaperCheckTeacherProblemService.java View File

@@ -124,6 +124,7 @@ public class MsPaperCheckTeacherProblemService {
124 124
         Double arbitratescore = param.getArbitratescore();
125 125
         Integer hasgood = param.getHasgood();
126 126
         Integer hasbad = param.getHasbad();
127
+        String stumerge = param.getStumerge();
127 128
         if (correcttype.equals(3)) {//按题块批阅
128 129
             List<MsPaperBlockQuestion> questions = param.getQuestions();
129 130
             List<MsPaperStudentQuestion> studentQuestions = new ArrayList<>();
@@ -165,6 +166,7 @@ public class MsPaperCheckTeacherProblemService {
165 166
             psq.setHasbad(hasbad);
166 167
             psq.setHasproblem(3);
167 168
             psq.setProblehid(handleid);
169
+            psq.setStumerge(stumerge);
168 170
             msPaperStudentBlockMapper.updateByPrimaryKeySelective(psq);
169 171
             msPaperStudentQuestionMapper.checkByMptqidAndStudentId(studentQuestions, psq);
170 172
         } else {
@@ -177,6 +179,7 @@ public class MsPaperCheckTeacherProblemService {
177 179
             psq.setHasbad(hasbad);
178 180
             psq.setHasproblem(3);
179 181
             psq.setProblehid(handleid);
182
+            psq.setStumerge(stumerge);
180 183
             msPaperStudentQuestionMapper.updateByPrimaryKeySelective(psq);
181 184
         }
182 185
         msPaperCheckTeacherProblemMapper.correct(param);

+ 5
- 0
smarking/src/main/java/com/xhkjedu/smarking/service/papercheck/MsPaperCheckTeacherTaskService.java View File

@@ -397,6 +397,7 @@ public class MsPaperCheckTeacherTaskService {
397 397
         Integer arbitratestate = null;
398 398
         MsCheckVo result = msPaperCheckTeacherTaskMapper.getCheckResult(param);
399 399
         Integer mpsid = result.getMpsid();
400
+        String stumerge = param.getStumerge();
400 401
         if (checktype.equals(1)) {//单评
401 402
             if (hasproblem.equals(0)) {
402 403
                 checked = 3;
@@ -415,6 +416,7 @@ public class MsPaperCheckTeacherTaskService {
415 416
                 block.setProblemtype(problemtype);
416 417
                 block.setProblemcomm(problemcomm);
417 418
                 block.setProbleid(probleid);
419
+                block.setStumerge(stumerge);
418 420
                 msPaperStudentBlockMapper.updateByPrimaryKeySelective(block);
419 421
                 block.setMpsid(mpsid);
420 422
                 block.setMblockid(param.getMblockid());
@@ -465,6 +467,7 @@ public class MsPaperCheckTeacherTaskService {
465 467
                 question.setProblemcomm(problemcomm);
466 468
                 question.setProbleid(probleid);
467 469
                 question.setStuscore(arbitratescore);
470
+                question.setStumerge(stumerge);
468 471
                 msPaperStudentQuestionMapper.updateByPrimaryKeySelective(question);
469 472
             }
470 473
         } else {//双评
@@ -602,6 +605,7 @@ public class MsPaperCheckTeacherTaskService {
602 605
                 block.setMpsid(mpsid);
603 606
                 block.setMblockid(param.getMblockid());
604 607
                 block.setArbitratestate(arbitratestate);
608
+                block.setStumerge(stumerge);
605 609
                 msPaperStudentBlockMapper.updateByPrimaryKeySelective(block);
606 610
 
607 611
                 msPaperStudentQuestionMapper.checkByMptqidAndStudentId(studentQuestions, block);//更新学生单题批阅信息
@@ -626,6 +630,7 @@ public class MsPaperCheckTeacherTaskService {
626 630
                 question.setStuscore(endscore);
627 631
                 question.setMpsqid(mpsbid);
628 632
                 question.setArbitratestate(arbitratestate);
633
+                question.setStumerge(stumerge);
629 634
                 msPaperStudentQuestionMapper.updateByPrimaryKeySelective(question);
630 635
             }
631 636
         }

+ 76
- 7
smarking/src/main/java/com/xhkjedu/smarking/service/report/reportother/MsrExamService.java View File

@@ -2,6 +2,8 @@ package com.xhkjedu.smarking.service.report.reportother;
2 2
 
3 3
 import com.alibaba.fastjson.JSON;
4 4
 import com.xhkjedu.smarking.mapper.exam.*;
5
+import com.xhkjedu.smarking.mapper.report.reportclass.MsrClassSubjectMapper;
6
+import com.xhkjedu.smarking.mapper.report.reportclass.MsrClassTopMapper;
5 7
 import com.xhkjedu.smarking.mapper.report.reportother.MsrExamMapper;
6 8
 import com.xhkjedu.smarking.mapper.report.reportother.MsrReportparamMapper;
7 9
 import com.xhkjedu.smarking.mapper.report.reportstu.MsrStudentMapper;
@@ -10,12 +12,15 @@ import com.xhkjedu.smarking.mapper.report.reportsubject.MsrSubjectMapper;
10 12
 import com.xhkjedu.smarking.mapper.stupaper.MsPaperStudentMapper;
11 13
 import com.xhkjedu.smarking.model.exam.*;
12 14
 import com.xhkjedu.smarking.model.paper.MsPaper;
15
+import com.xhkjedu.smarking.model.report.reportclass.MsrClassSubject;
16
+import com.xhkjedu.smarking.model.report.reportclass.MsrClassTop;
13 17
 import com.xhkjedu.smarking.model.report.reportother.MsrExam;
14 18
 import com.xhkjedu.smarking.model.report.reportother.MsrReportparam;
15 19
 import com.xhkjedu.smarking.model.report.reportstu.MsrStudent;
16 20
 import com.xhkjedu.smarking.model.report.reportsubject.MsrSubject;
17 21
 import com.xhkjedu.smarking.model.report.reportsubject.MsrSubjectClass;
18 22
 import com.xhkjedu.smarking.utils.MarkingUtil;
23
+import com.xhkjedu.smarking.vo.report.reportclass.ClassTopVo;
19 24
 import com.xhkjedu.smarking.vo.report.reportother.StuRankVo;
20 25
 import com.xhkjedu.smarking.vo.report.reportother.SzJsonVo;
21 26
 import com.xhkjedu.utils.N_Utils;
@@ -52,6 +57,11 @@ public class MsrExamService {
52 57
     private MsrReportparamMapper msrReportparamMapper;
53 58
     @Resource
54 59
     private MsrSubjectClassMapper msrSubjectClassMapper;
60
+    @Resource
61
+    private MsrClassSubjectMapper msrClassSubjectMapper;
62
+    @Resource
63
+    private MsrClassTopMapper msrClassTopMapper;
64
+
55 65
 
56 66
     /**
57 67
      * @Description 生成报告
@@ -248,14 +258,28 @@ public class MsrExamService {
248 258
         msrStudents.addAll(classSubjectStudents);
249 259
         if (N_Utils.isListNotEmpty(msrStudents)) msrStudentMapper.insertList(msrStudents);
250 260
 
251
-        //科目班级分数分布区间分析
261
+        //科目班级分数分布区间分析、班级学科分析
252 262
         //区间参数
253
-        List<MsrReportparam> qjParams = msrReportparamMapper.listReportparamByRpbelong(examid, "scoresection", "");
263
+        List<MsrReportparam> qjParams = msrReportparamMapper.listReportparamByRpbelong(examid, "scoresection", "xk");
254 264
         Map<String, List<SzJsonVo>> qjMap = new HashMap<>();
255 265
         for (MsrReportparam param : qjParams) {
256 266
             qjMap.put(param.getSubjectid(), JSON.parseArray(param.getSzjson(), SzJsonVo.class));
257 267
         }
258
-        List<MsrSubjectClass> msrSubjectClasses = new ArrayList<>();
268
+        List<MsrSubjectClass> msrSubjectClasses = new ArrayList<>();//科目班级分数分布区间分析
269
+        List<MsrClassSubject> msrClassSubjects = new ArrayList<>();//班级学科分析
270
+        List<MsrClassTop> msrClassTops = new ArrayList<>();//班级学科前60分析
271
+        Map<String, ClassTopVo> lsMap = new HashMap<>();//处于年级60%得分map
272
+        for (MsrSubject subject : msrSubjects) {
273
+            Double lsscore = subject.getLsscore();
274
+            String subjectid1 = subject.getSubjectid();
275
+            List<MsrStudent> lsstudents = msrStudents.stream().filter(s -> s.getSubjectid().equals(subjectid1) && s.getStuscore().compareTo(lsscore) >= 0).collect(Collectors.toList());
276
+            ClassTopVo classTopVo = new ClassTopVo();
277
+            classTopVo.setSubjectid(subjectid1);
278
+            classTopVo.setLsscore(lsscore);
279
+            classTopVo.setXtnum(lsstudents.size());
280
+            double average = lsstudents.stream().mapToDouble(MsrStudent::getStuscore).summaryStatistics().getAverage();
281
+            classTopVo.setXtavgscore(N_Utils.formatDouble(average, 2));
282
+        }
259 283
         Map<String, List<MsrStudent>> scCollect = msrStudents.stream().collect(Collectors.groupingBy(s -> s.getClassid() + "_" + s.getSubjectid()));
260 284
         for (Map.Entry<String, List<MsrStudent>> entry : scCollect.entrySet()) {
261 285
             String key = entry.getKey();
@@ -263,17 +287,62 @@ public class MsrExamService {
263 287
             subjectid = key.split("_")[1];
264 288
             List<SzJsonVo> list = qjMap.get(subjectid);
265 289
             List<MsrStudent> studentList = entry.getValue();
266
-            for (SzJsonVo vo : list) {
267
-                Object djvalue = vo.getDjvalue();
290
+            totalnum = studentList.size();//区间总人数
291
+            Double fullscore1 = studentList.get(0).getFullscore();
292
+            List<int[]> fdScore = MarkingUtil.fdScore(fullscore1, N_Utils.obj2Int(list.get(0).getDjvalue()));
293
+            for (int[] scores : fdScore) {
294
+                int minscore = scores[0];
295
+                int maxscore = scores[1];
296
+                String qjname = "[" + minscore + "," + maxscore;
297
+                double min = MarkingUtil.objToDouble(minscore);
298
+                double max = MarkingUtil.objToDouble(maxscore);
299
+                List<MsrStudent> qjstudents;
300
+                if (fullscore1.compareTo(max) == 0) {
301
+                    qjname += "]";
302
+                    qjstudents = studentList.stream().filter(s -> s.getStuscore().compareTo(min) >= 0).collect(Collectors.toList());
303
+                } else {
304
+                    qjname += ")";
305
+                    qjstudents = studentList.stream().filter(s -> s.getStuscore().compareTo(min) >= 0 && s.getStuscore().compareTo(max) < 0).collect(Collectors.toList());
306
+                }
307
+                int qjnum = qjstudents.size();
268 308
                 MsrSubjectClass msrSubjectClass = new MsrSubjectClass();
269 309
                 msrSubjectClass.setExamid(examid);
270
-                msrSubjectClass.setClassid(classid);
271 310
                 msrSubjectClass.setSubjectid(subjectid);
272
-                msrSubjectClass.setQjname(vo.getDjkey());
311
+                msrSubjectClass.setClassid(classid);
312
+                msrSubjectClass.setQjname(qjname);
313
+                msrSubjectClass.setQjnum(qjnum);
314
+                msrSubjectClass.setQjrate(N_Utils.getIntegerDivideAndMulitiply(qjnum, totalnum));
315
+                double qjavg = qjstudents.stream().mapToDouble(MsrStudent::getStuscore).summaryStatistics().getAverage();
316
+                msrSubjectClass.setQjavgrate(N_Utils.getDoubleDivideAndMulitiply(qjavg, fullscore1));
273 317
                 msrSubjectClasses.add(msrSubjectClass);
274 318
             }
319
+
320
+            MsrClassSubject msrClassSubject = new MsrClassSubject();
321
+            msrClassSubject.setExamid(examid);
322
+            msrClassSubject.setSubjectid(subjectid);
323
+            msrClassSubject.setClassid(classid);
324
+            msrClassSubject.setFullscore(fullscore1);
325
+            msrClassSubjects.add(msrClassSubject);
326
+
327
+            MsrClassTop msrClassTop = new MsrClassTop();
328
+            msrClassTop.setExamid(examid);
329
+            msrClassTop.setClassid(classid);
330
+            msrClassTop.setSubjectid(subjectid);
331
+            msrClassTop.setStunum(totalnum);
332
+            ClassTopVo classTopVo = lsMap.get(subjectid);//处于年级60%得分
333
+            Double lsscore = classTopVo.getLsscore();
334
+            List<MsrStudent> lsstudents = studentList.stream().filter(s -> s.getStuscore().compareTo(lsscore) >= 0).collect(Collectors.toList());
335
+            msrClassTop.setBtnum(lsstudents.size());
336
+            msrClassTop.setBtrate(N_Utils.getIntegerDivideAndMulitiply(msrClassTop.getBtnum(), totalnum));
337
+            double average = lsstudents.stream().mapToDouble(MsrStudent::getStuscore).summaryStatistics().getAverage();
338
+            msrClassTop.setBtavgscore(N_Utils.formatDouble(average, 2));
339
+            msrClassTop.setXtnum(classTopVo.getXtnum());
340
+            msrClassTop.setXtavgscore(classTopVo.getXtavgscore());
341
+            msrClassTops.add(msrClassTop);
275 342
         }
276 343
         msrSubjectClassMapper.insertList(msrSubjectClasses);
344
+        msrClassSubjectMapper.insertList(msrClassSubjects);
345
+        msrClassTopMapper.insertList(msrClassTops);
277 346
 
278 347
         examMapper.updateExamState(examid, 3);
279 348
     }

+ 2
- 0
smarking/src/main/java/com/xhkjedu/smarking/vo/papercheck/MsPaperCheckVo.java View File

@@ -81,4 +81,6 @@ public class MsPaperCheckVo {
81 81
     private Integer finalreason;
82 82
     //题块试题列表
83 83
     private List<MsPaperBlockQuestion> questions;
84
+    //学生批改后图片
85
+    private String stumerge;
84 86
 }

+ 20
- 0
smarking/src/main/java/com/xhkjedu/smarking/vo/report/reportclass/ClassTopVo.java View File

@@ -0,0 +1,20 @@
1
+package com.xhkjedu.smarking.vo.report.reportclass;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * @Description
7
+ * @Author ywx
8
+ * Date 2024/12/13 10:35
9
+ **/
10
+@Data
11
+public class ClassTopVo {
12
+    //科目ID(含总分)
13
+    private String subjectid;
14
+    //处于年级60%得分
15
+    private Double lsscore;
16
+    //校级前60%人数
17
+    private Integer xtnum;
18
+    //校前60%人数平均分
19
+    private Double xtavgscore;
20
+}

+ 7
- 7
smarking/src/main/resources/mapper/papercheck/MsPaperCheckTeacherArbitrateMapper.xml View File

@@ -88,14 +88,14 @@
88 88
     <!--获取待仲裁任务-->
89 89
     <select id="getCorrectArbitrate" resultType="java.util.Map">
90 90
         <if test="param.correcttype==3">
91
-            select pc.mpid,pc.mblockid,pc.correcttype,psb.stuanswer,psb.mpsbid,psb.arbitratescore,2 as answertype
91
+            select pc.mpid,pc.mblockid,pc.correcttype,psb.stuanswer,psb.stumerge,psb.mpsbid,psb.arbitratescore,2 as answertype
92 92
             from ms_paper_check pc inner join ms_paper_student_block psb on psb.mblockid = pc.mblockid and psb.mpid = pc.mpid
93 93
             where pc.mpid=#{param.mpid} and pc.arbitrateid=#{param.handleid}
94 94
             and (psb.arbitratestate=1 or (psb.arbitratestate=2 and psb.arbitrateid=#{param.handleid}))
95 95
             order by psb.mpsbid limit 1
96 96
         </if>
97 97
         <if test="param.correcttype==2">
98
-            select pc.mpid,pc.mblockid,pc.correcttype,psb.stuanswer,psb.mpsqid as mpsbid,psb.arbitratescore,psb.answertype
98
+            select pc.mpid,pc.mblockid,pc.correcttype,psb.stuanswer,psb.stumerge,psb.mpsqid as mpsbid,psb.arbitratescore,psb.answertype
99 99
             from ms_paper_check pc inner join ms_paper_student_question psb on psb.mptqid = pc.mblockid and psb.mpid = pc.mpid
100 100
             where pc.mpid=#{param.mpid} and pc.arbitrateid=#{param.handleid}
101 101
             and (psb.arbitratestate=1 or (psb.arbitratestate=2 and psb.arbitrateid=#{param.handleid}))
@@ -120,14 +120,14 @@
120 120
     <!--教师阅卷-待仲裁-上一份-->
121 121
     <select id="getPreArbitrate" resultType="java.util.Map">
122 122
         <if test="param.correcttype==3">
123
-            select pcta.mpid,pcta.mblockid,#{param.correcttype} as correcttype,pcta.taskorder,psb.stuanswer,psb.mpsbid,psb.arbitratescore,2 as answertype
123
+            select pcta.mpid,pcta.mblockid,#{param.correcttype} as correcttype,pcta.taskorder,psb.stuanswer,psb.stumerge,psb.mpsbid,psb.arbitratescore,2 as answertype
124 124
             from ms_paper_student_block psb inner join ms_paper_check_teacher_arbitrate pcta on pcta.mpid=psb.mpid and pcta.mpsbid=psb.mpsbid
125 125
             where pcta.mpid=#{param.mpid} and pcta.teacherid=#{param.handleid} and pcta.mblockid=#{param.mblockid}
126 126
             and pcta.checkstate=3 and #{param.taskorder}>pcta.taskorder
127 127
             order by pcta.taskorder desc limit 1
128 128
         </if>
129 129
         <if test="param.correcttype==2">
130
-            select pcta.mpid,pcta.mblockid,#{param.correcttype} as correcttype,pcta.taskorder,psb.stuanswer,pcta.mpsbid,psb.arbitratescore,psb.answertype
130
+            select pcta.mpid,pcta.mblockid,#{param.correcttype} as correcttype,pcta.taskorder,psb.stuanswer,psb.stumerge,pcta.mpsbid,psb.arbitratescore,psb.answertype
131 131
             from ms_paper_student_question psb inner join ms_paper_check_teacher_arbitrate pcta on pcta.mpid=psb.mpid and pcta.mpsbid=psb.mpsqid
132 132
             where pcta.mpid=#{param.mpid} and pcta.teacherid=#{param.handleid} and pcta.mblockid=#{param.mblockid}
133 133
             and pcta.checkstate=3 and #{param.taskorder}>pcta.taskorder
@@ -176,13 +176,13 @@
176 176
     <!--学科组长-获取待仲裁任务-->
177 177
     <select id="getCorrectLeaderArbitrate" resultType="java.util.Map">
178 178
         <if test="param.correcttype==3">
179
-            select psb.mpid,psb.mblockid,#{param.correcttype} as correcttype,psb.stuanswer,psb.mpsbid,psb.arbitratescore,2 as answertype
179
+            select psb.mpid,psb.mblockid,#{param.correcttype} as correcttype,psb.stuanswer,psb.stumerge,psb.mpsbid,psb.arbitratescore,2 as answertype
180 180
             from ms_paper_student_block psb
181 181
             where psb.mpid=#{param.mpid} and (psb.arbitratestate=1 or (psb.arbitratestate=2 and psb.arbitrateid=#{param.handleid}))
182 182
             order by psb.mpsbid limit 1
183 183
         </if>
184 184
         <if test="param.correcttype==2">
185
-            select psb.mpid,psb.mpsqid as mblockid,#{param.correcttype} as correcttype,psb.stuanswer,psb.mpsqid as mpsbid,psb.arbitratescore,psb.answertype
185
+            select psb.mpid,psb.mpsqid as mblockid,#{param.correcttype} as correcttype,psb.stuanswer,psb.stumerge,psb.mpsqid as mpsbid,psb.arbitratescore,psb.answertype
186 186
             from ms_paper_student_question psb
187 187
             where psb.mpid=#{param.mpid} and (psb.arbitratestate=1 or (psb.arbitratestate=2 and psb.arbitrateid=#{param.handleid}))
188 188
             order by psb.mpsqid limit 1
@@ -201,7 +201,7 @@
201 201
     </select>
202 202
     <!--仲裁历史详情-->
203 203
     <select id="detailHistory" resultType="java.util.Map">
204
-        select pcta.mpid,pcta.mblockid,#{param.correcttype} as correcttype,pcta.taskorder,psq.stuanswer,pcta.mpsbid,psq.arbitratescore
204
+        select pcta.mpid,pcta.mblockid,#{param.correcttype} as correcttype,pcta.taskorder,psq.stuanswer,psq.stumerge,pcta.mpsbid,psq.arbitratescore
205 205
         ,if(#{param.correcttype}=3,2,psq.answertype) as answertype
206 206
         from ms_paper_check_teacher_arbitrate pcta
207 207
         <if test="param.correcttype==3">

+ 3
- 3
smarking/src/main/resources/mapper/papercheck/MsPaperCheckTeacherProblemMapper.xml View File

@@ -68,7 +68,7 @@
68 68
     </select>
69 69
     <!--获取疑难卷任务-->
70 70
     <select id="getCorrectProblem" resultType="java.util.Map">
71
-        select psb.stuanswer,psb.hasproblem,psb.problemtype,psb.problemcomm
71
+        select psb.stuanswer,psb.stumerge,psb.hasproblem,psb.problemtype,psb.problemcomm
72 72
         <if test="param.correcttype==3">
73 73
             ,psb.mblockid,psb.mpsbid,2 as answertype
74 74
         </if>
@@ -110,7 +110,7 @@
110 110
     </select>
111 111
     <!--获取上一份疑难卷-->
112 112
     <select id="getPreProblem" resultType="java.util.Map">
113
-        select psq.stuanswer,psq.hasproblem,psq.problemtype,psq.problemcomm
113
+        select psq.stuanswer,psq.stumerge,psq.hasproblem,psq.problemtype,psq.problemcomm
114 114
         ,pctp.mpid,pctp.mblockid,pctp.mpsbid,pctp.taskorder,pctp.checkscore
115 115
         ,if(#{param.correcttype}=3,2,psq.answertype) as answertype
116 116
         ,u.username as studentname,u.examno,u2.username as teachername
@@ -140,7 +140,7 @@
140 140
     </select>
141 141
     <!--历史记录详情-->
142 142
     <select id="detailHistory" resultType="java.util.Map">
143
-        select psq.stuanswer,psq.hasproblem,psq.problemtype,psq.problemcomm
143
+        select psq.stuanswer,psq.stumerge,psq.hasproblem,psq.problemtype,psq.problemcomm
144 144
         ,pctp.mpid,pctp.mblockid,pctp.mpsbid,pctp.taskorder,pctp.checkscore
145 145
         ,if(#{param.correcttype}=3,2,psq.answertype) as answertype
146 146
         ,u.username as studentname,u.examno,u2.username as teachername

+ 8
- 8
smarking/src/main/resources/mapper/papercheck/MsPaperCheckTeacherTaskMapper.xml View File

@@ -377,7 +377,7 @@
377 377
     <!--教师阅卷-按题块-获取待批试题-->
378 378
     <select id="getCorrectBlock" resultType="com.xhkjedu.smarking.vo.papercheck.MsPaperCheckVo">
379 379
         <if test="param.dispenseway!=null and param.dispenseway!=2">
380
-            select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
380
+            select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
381 381
             ,2 as answertype
382 382
             ,pctt.mpid,pctt.mblockid,pctt.mpsbid,pctt.mptqid,pctt.checktype
383 383
             from ms_paper_student_block psq inner join ms_paper_check_teacher_task pctt on psq.mpsbid = pctt.mpsbid and psq.mpid=pctt.mpid
@@ -387,7 +387,7 @@
387 387
             limit 1
388 388
         </if>
389 389
         <if test="param.dispenseway!=null and param.dispenseway==2">
390
-            select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
390
+            select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
391 391
             ,2 as answertype
392 392
             ,psq.mblockid,psq.mpsbid,psq.firstcid
393 393
             from ms_paper_student_block psq
@@ -513,7 +513,7 @@
513 513
     <!--教师阅卷-按试题-获取待批试题-->
514 514
     <select id="getCorrectQuestion" resultType="com.xhkjedu.smarking.vo.papercheck.MsPaperCheckVo">
515 515
         <if test="param.dispenseway!=null and param.dispenseway!=2">
516
-            select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
516
+            select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
517 517
             ,psq.answertype
518 518
             ,pctt.mpid,pctt.mblockid,pctt.mpsbid,pctt.mptqid,pctt.checktype
519 519
             from ms_paper_student_question psq inner join ms_paper_check_teacher_task pctt on psq.mpsqid = pctt.mpsbid and psq.mpid=pctt.mpid
@@ -523,7 +523,7 @@
523 523
             limit 1
524 524
         </if>
525 525
         <if test="param.dispenseway!=null and param.dispenseway==2">
526
-            select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
526
+            select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
527 527
             ,psq.answertype
528 528
             ,psq.mptqid as mblockid,psq.mpsqid as mpsbid,psq.mptqid,psq.firstcid
529 529
             from ms_paper_student_question psq
@@ -559,7 +559,7 @@
559 559
     <!--教师阅卷-按班级-获取待批试题-->
560 560
     <select id="getCorrectClassQuestion" resultType="com.xhkjedu.smarking.vo.papercheck.MsPaperCheckVo">
561 561
         <if test="param.dispenseway!=null and param.dispenseway!=2">
562
-            select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
562
+            select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
563 563
             ,psq.answertype
564 564
             ,pctt.mpid,pctt.mblockid,pctt.mpsbid,pctt.mptqid,pctt.checktype
565 565
             from ms_paper_student_question psq inner join ms_paper_check_teacher_task pctt on psq.mpsqid = pctt.mpsbid and psq.mpid=pctt.mpid
@@ -569,7 +569,7 @@
569 569
             limit 1
570 570
         </if>
571 571
         <if test="param.dispenseway!=null and param.dispenseway==2">
572
-            select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
572
+            select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
573 573
             ,psq.answertype
574 574
             ,c.classid as mblockid,psq.mpsqid as mpsbid,psq.mptqid,psq.firstcid
575 575
             from ms_paper_student_question psq inner join ms_class c on c.examid=psq.examid and c.subjectid=psq.subjectid
@@ -618,7 +618,7 @@
618 618
     </select>
619 619
     <!--教师阅卷-上一份-->
620 620
     <select id="getPreCorrect" resultType="java.util.Map">
621
-        select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
621
+        select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
622 622
         <if test="param.correcttype==3">
623 623
             ,2 as answertype
624 624
         </if>
@@ -657,7 +657,7 @@
657 657
     </select>
658 658
     <!--教师阅卷-历史详情-->
659 659
     <select id="detailHistory" resultType="java.util.Map">
660
-        select psq.stuanswer,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
660
+        select psq.stuanswer,psq.stumerge,psq.hasgood,psq.hasbad,psq.hasproblem,psq.problemtype,psq.problemcomm
661 661
         <if test="param.correcttype==3">
662 662
              ,2 as answertype
663 663
         </if>

+ 3
- 0
smarking/src/main/resources/mapper/stupaper/MsPaperStudentQuestionMapper.xml View File

@@ -208,6 +208,9 @@
208 208
         <if test="block.checked!=null and block.checked!=0">
209 209
             ,checked=#{block.checked}
210 210
         </if>
211
+        <if test="block.stumerge!=null and block.stumerge!=''">
212
+            ,stumerge=#{block.stumerge}
213
+        </if>
211 214
         where mblockid=#{block.mblockid} and mpsid=#{block.mpsid} and mptqid in
212 215
         <foreach collection="list" item="q" separator="," open="(" close=")">#{q.mptqid}</foreach>
213 216
     </update>

Loading…
Cancel
Save