Browse Source

完善编辑试卷时科目状态以及删除垃圾数据

ywx
王宁 2 months ago
parent
commit
68ec6fe4e1

+ 5
- 0
smarking/src/main/java/com/xhkjedu/smarking/mapper/exam/MsSubjectMapper.java View File

48
 
48
 
49
     //更改考试科目阅卷设置状态
49
     //更改考试科目阅卷设置状态
50
     void updateCheckSetByMsId(@Param("msid") Integer msid, @Param("checkset") Integer checkset,@Param("correcttype") Integer correcttype);
50
     void updateCheckSetByMsId(@Param("msid") Integer msid, @Param("checkset") Integer checkset,@Param("correcttype") Integer correcttype);
51
+    //更改阅卷设置状态
52
+    void updateCheckSetByMpId(@Param("mpid") Integer mpid, @Param("checkset") Integer checkset);
51
 
53
 
52
     //试监控-考试基本信息
54
     //试监控-考试基本信息
53
     Map<String,Object> getExamSubjectByMsid(@Param("msid") Integer msid);
55
     Map<String,Object> getExamSubjectByMsid(@Param("msid") Integer msid);
63
 
65
 
64
     //获取考试科目信息
66
     //获取考试科目信息
65
     List<Map<String,Object>> listByExamId(@Param("examid") Integer examid);
67
     List<Map<String,Object>> listByExamId(@Param("examid") Integer examid);
68
+
69
+    //修改试卷结构后更改后续操作状态
70
+    int updatePaperFollowup(@Param("mpid")Integer mpid);
66
 }
71
 }

+ 3
- 0
smarking/src/main/java/com/xhkjedu/smarking/mapper/papercheck/MsPaperCheckTeacherMapper.java View File

31
 
31
 
32
     //题块阅卷教师列表(复制用)
32
     //题块阅卷教师列表(复制用)
33
     List<MsPaperCheckTeacher> listCheckTeacher2(@Param("mpid") Integer mpid,@Param("mblockid") Integer mblockid);
33
     List<MsPaperCheckTeacher> listCheckTeacher2(@Param("mpid") Integer mpid,@Param("mblockid") Integer mblockid);
34
+
35
+    //根据试卷ID删除阅卷教师
36
+    int deleteByMpid(@Param("mpid") Integer mpid);
34
 }
37
 }

+ 2
- 0
smarking/src/main/java/com/xhkjedu/smarking/model/paper/MsPaperQtype.java View File

21
     private Integer mptid;
21
     private Integer mptid;
22
     //试卷id
22
     //试卷id
23
     private Integer mpid;
23
     private Integer mpid;
24
+    //处理题型
25
+    private Integer ctype;
24
     //题型名称
26
     //题型名称
25
     private String mptname;
27
     private String mptname;
26
     //题型下试题数量
28
     //题型下试题数量

+ 20
- 5
smarking/src/main/java/com/xhkjedu/smarking/service/paper/MsPaperQtypeService.java View File

4
 import com.xhkjedu.exception.MissingParametersException;
4
 import com.xhkjedu.exception.MissingParametersException;
5
 import com.xhkjedu.smarking.mapper.exam.MsSubjectMapper;
5
 import com.xhkjedu.smarking.mapper.exam.MsSubjectMapper;
6
 import com.xhkjedu.smarking.mapper.paper.*;
6
 import com.xhkjedu.smarking.mapper.paper.*;
7
+import com.xhkjedu.smarking.mapper.papercheck.MsPaperCheckTeacherMapper;
7
 import com.xhkjedu.smarking.mapper.stupaper.MsPaperStudentMapper;
8
 import com.xhkjedu.smarking.mapper.stupaper.MsPaperStudentMapper;
8
 import com.xhkjedu.smarking.mapper.stupaper.MsPaperStudentQuestionMapper;
9
 import com.xhkjedu.smarking.mapper.stupaper.MsPaperStudentQuestionMapper;
9
 import com.xhkjedu.smarking.mapper.system.SchoolMapper;
10
 import com.xhkjedu.smarking.mapper.system.SchoolMapper;
54
     private MsPaperStudentQuestionMapper msPaperStudentQuestionMapper;
55
     private MsPaperStudentQuestionMapper msPaperStudentQuestionMapper;
55
     @Resource
56
     @Resource
56
     private MsPaperStudentMapper msPaperStudentMapper;
57
     private MsPaperStudentMapper msPaperStudentMapper;
58
+    @Resource
59
+    private MsPaperCheckTeacherMapper msPaperCheckTeacherMapper;
60
+    @Resource
61
+    private MsPaperBlockMapper msPaperBlockMapper;
62
+    @Resource
63
+    private MsTemplateMapper msTemplateMapper;
57
     private final ConvertUtil convertUtil;
64
     private final ConvertUtil convertUtil;
58
 
65
 
59
     public MsPaperQtypeService(ConvertUtil convertUtil) {
66
     public MsPaperQtypeService(ConvertUtil convertUtil) {
75
         PExamSubjectVo exam = msPaperMapper.getExamSubjectForPaper(mpid);
82
         PExamSubjectVo exam = msPaperMapper.getExamSubjectForPaper(mpid);
76
         //线下考试,发布成绩(生成报告)之前可以修改试卷结构
83
         //线下考试,发布成绩(生成报告)之前可以修改试卷结构
77
         if(exam.getExammode() < 3 && exam.getExamstate() > 2){
84
         if(exam.getExammode() < 3 && exam.getExamstate() > 2){
78
-            throw new MissingParametersException("考试已结束禁止操作");
85
+            throw new MissingParametersException("考试统分禁止操作");
79
         }
86
         }
80
 
87
 
81
-        if(exam.getExammode() == 3 && exam.getExamstate() > 0){
82
-            throw new MissingParametersException("考试已开始禁止操作");
88
+        if(exam.getExammode() == 3 && exam.getPstate() == 2){
89
+            throw new MissingParametersException("试卷已提交禁止操作");
83
         }
90
         }
84
 
91
 
85
          //先删除原有题型、分析
92
          //先删除原有题型、分析
86
         msPaperQtypeMapper.deleteByMpId(mpid);
93
         msPaperQtypeMapper.deleteByMpId(mpid);
87
         msPaperAnalyzeMapper.deleteByMpId(mpid);
94
         msPaperAnalyzeMapper.deleteByMpId(mpid);
95
+
96
+
88
         //根据考试类型(线上和线下),是否删除文件
97
         //根据考试类型(线上和线下),是否删除文件
89
         if(paper.getPtype() == 2){
98
         if(paper.getPtype() == 2){
90
             msPaperFileMapper.deleteByMpid(mpid);
99
             msPaperFileMapper.deleteByMpid(mpid);
117
             userBasketMapper.deleteByUseridAndSubjectid(paper.getCreateid(),exam.getSubjectid());
126
             userBasketMapper.deleteByUseridAndSubjectid(paper.getCreateid(),exam.getSubjectid());
118
         }
127
         }
119
 
128
 
129
+        msPaperCheckTeacherMapper.deleteByMpid(mpid);//删除批阅教师
120
         if(exam.getExammode() < 3){
130
         if(exam.getExammode() < 3){
121
-            //如果是线下考试更改了试卷结构,则清空后续所有操作
131
+            //如果是线下考试更改了试卷结构,则清空题块、试卷模板
122
             msPaperMapper.deleteTemplageBlockByMpid(mpid);
132
             msPaperMapper.deleteTemplageBlockByMpid(mpid);
123
             msPaperStudentMapper.deletePaperStuByMpid(mpid);
133
             msPaperStudentMapper.deletePaperStuByMpid(mpid);
134
+            msSubjectMapper.updatePaperFollowup(mpid);
135
+        }else{
136
+            msSubjectMapper.updateCheckSetByMpId(mpid,0);
124
         }
137
         }
125
 
138
 
126
         if(N_Utils.isListNotEmpty(imgs) && imgs.size()>1){
139
         if(N_Utils.isListNotEmpty(imgs) && imgs.size()>1){
195
     }
208
     }
196
 
209
 
197
     //保存试卷分析--题库
210
     //保存试卷分析--题库
198
-    public void savePaperAnalyzeForQuestion(MsPaper paper){
211
+    private void savePaperAnalyzeForQuestion(MsPaper paper){
199
         Integer mpid = paper.getMpid();
212
         Integer mpid = paper.getMpid();
200
         //保存之前先清除之前的试卷分析
213
         //保存之前先清除之前的试卷分析
201
         msPaperAnalyzeMapper.deleteByMpId(paper.getMpid());
214
         msPaperAnalyzeMapper.deleteByMpId(paper.getMpid());
1150
                 questionMap.put("loseoption",questionVo.getLoseoption());
1163
                 questionMap.put("loseoption",questionVo.getLoseoption());
1151
                 questionMap.put("scoreset",questionVo.getScoreset());
1164
                 questionMap.put("scoreset",questionVo.getScoreset());
1152
                 questionMap.put("complexity",questionVo.getComplexity());
1165
                 questionMap.put("complexity",questionVo.getComplexity());
1166
+                questionMap.put("optionnum",questionVo.getOptionnum());
1153
                 questionMap.put("points",questionVo.getPoints());
1167
                 questionMap.put("points",questionVo.getPoints());
1154
                 questionsList.add(questionMap);
1168
                 questionsList.add(questionMap);
1155
             }
1169
             }
1160
             typeMap.put("mptorder",qtypeVo.getMptorder());
1174
             typeMap.put("mptorder",qtypeVo.getMptorder());
1161
             typeMap.put("mptnum",qtypeVo.getMptnum());
1175
             typeMap.put("mptnum",qtypeVo.getMptnum());
1162
             typeMap.put("mptscore",qtypeVo.getMptscore());
1176
             typeMap.put("mptscore",qtypeVo.getMptscore());
1177
+            typeMap.put("ctype",qtypeVo.getCtype());
1163
             typeMap.put("questions",questionsList);
1178
             typeMap.put("questions",questionsList);
1164
             qtypes.add(typeMap);
1179
             qtypes.add(typeMap);
1165
         }
1180
         }

+ 2
- 0
smarking/src/main/java/com/xhkjedu/smarking/vo/paper/MsPaperQtypeVo.java View File

16
     //考试试卷题型表
16
     //考试试卷题型表
17
     private Integer mptid;
17
     private Integer mptid;
18
 
18
 
19
+    private Integer ctype;
20
+
19
     //题型名称
21
     //题型名称
20
     private String mptname;
22
     private String mptname;
21
 
23
 

+ 2
- 0
smarking/src/main/java/com/xhkjedu/smarking/vo/paper/PExamSubjectVo.java View File

26
     //单科状态0未开始1进行中2已结束
26
     //单科状态0未开始1进行中2已结束
27
     private Integer msstate;
27
     private Integer msstate;
28
 
28
 
29
+    private Integer pstate;//试卷设置状态0未开始1设置中2已完成3退回
30
+
29
 }
31
 }

+ 12
- 2
smarking/src/main/resources/mapper/exam/MsSubjectMapper.xml View File

12
     <!--考试进度总览-->
12
     <!--考试进度总览-->
13
     <select id="examOverview" resultType="java.util.Map">
13
     <select id="examOverview" resultType="java.util.Map">
14
         select s.msid,s.subjectid,s.subjectname,s.sdate,s.begintime,s.endtime,s.pstate,s.ptstate,
14
         select s.msid,s.subjectid,s.subjectname,s.sdate,s.begintime,s.endtime,s.pstate,s.ptstate,
15
-        s.pbstate,s.checkset,s.checkstate,s.invigilatestate,p.answered,s.teacherid,
16
-        u.username as teachername,p.mpid,p.hasfile,e.exammode,s.leaderid,u2.username as leadername
15
+        s.pbstate,s.checkset,s.checkstate,s.invigilatestate,p.answered,p.ptype,s.teacherid,
16
+        u.username as teachername,p.mpid,p.hasfile,e.exammode,e.examstate,s.leaderid,u2.username as leadername
17
         ,if(ps.batchid is not null,ps.mpsid,null) scannum,count(ps.mpsid) stunum
17
         ,if(ps.batchid is not null,ps.mpsid,null) scannum,count(ps.mpsid) stunum
18
         from ms_subject s left join t_user u on s.teacherid=u.userid
18
         from ms_subject s left join t_user u on s.teacherid=u.userid
19
         left join t_user u2 on s.leaderid=u2.userid
19
         left join t_user u2 on s.leaderid=u2.userid
94
         set s.checkset=#{checkset},p.correcttype=#{correcttype}
94
         set s.checkset=#{checkset},p.correcttype=#{correcttype}
95
         where s.msid=#{msid}
95
         where s.msid=#{msid}
96
     </update>
96
     </update>
97
+    <!--更改阅卷设置状态-->
98
+    <update id="updateCheckSetByMpId">
99
+        update ms_subject s inner join ms_paper p on s.msid=p.msid
100
+            set s.checkset=#{checkset} where p.mpid=#{mpid}
101
+    </update>
97
 
102
 
98
     <!--考试监控-考试基本信息-->
103
     <!--考试监控-考试基本信息-->
99
     <select id="getExamSubjectByMsid" resultType="java.util.Map">
104
     <select id="getExamSubjectByMsid" resultType="java.util.Map">
142
         where ms.msstate=1 and ms.msid in
147
         where ms.msstate=1 and ms.msid in
143
         <foreach collection="msids" item="msid" separator="," open="(" close=")">#{msid}</foreach>
148
         <foreach collection="msids" item="msid" separator="," open="(" close=")">#{msid}</foreach>
144
     </update>
149
     </update>
150
+    <!--修改试卷结构后更改后续操作状态-->
151
+    <update id="updatePaperFollowup">
152
+        update ms_subject s inner join ms_paper p on s.msid=p.msid
153
+            set s.ptstate=0,s.pbstate=0,s.checkset=0 where p.mpid=#{mpid}
154
+    </update>
145
 
155
 
146
 </mapper>
156
 </mapper>

+ 2
- 3
smarking/src/main/resources/mapper/paper/MsPaperMapper.xml View File

16
 
16
 
17
     <!--获取试卷详细信息-->
17
     <!--获取试卷详细信息-->
18
     <select id="getPaperInfoByMsid" resultType="java.util.Map">
18
     <select id="getPaperInfoByMsid" resultType="java.util.Map">
19
-        select s.examid,s.msid,s.subjectname,s.sdate,s.begintime,s.endtime,e.gradeid,e.examtype,p.mpid,
19
+        select s.examid,s.msid,s.subjectid,s.subjectname,s.sdate,s.begintime,s.endtime,e.gradeid,e.examtype,p.mpid,
20
         p.ptype,p.pnum,p.pscore,u.username as teachername,u.username as handlename
20
         p.ptype,p.pnum,p.pscore,u.username as teachername,u.username as handlename
21
         from ms_subject s left join ms_paper p on s.msid=p.msid
21
         from ms_subject s left join ms_paper p on s.msid=p.msid
22
         left join ms_exam e on s.examid=e.examid
22
         left join ms_exam e on s.examid=e.examid
28
 
28
 
29
     <!--获取考试科目对应考试状态信息-->
29
     <!--获取考试科目对应考试状态信息-->
30
     <select id="getExamSubjectForPaper" resultType="com.xhkjedu.smarking.vo.paper.PExamSubjectVo">
30
     <select id="getExamSubjectForPaper" resultType="com.xhkjedu.smarking.vo.paper.PExamSubjectVo">
31
-        select s.subjectid,e.exammode,e.examstate
31
+        select s.subjectid,s.pstate,e.exammode,e.examstate
32
         from ms_subject s left join ms_exam e on s.examid=e.examid
32
         from ms_subject s left join ms_exam e on s.examid=e.examid
33
         left join ms_paper p on s.msid = p.msid
33
         left join ms_paper p on s.msid = p.msid
34
         where p.mpid=#{mpid}
34
         where p.mpid=#{mpid}
38
     <delete id="deleteTemplageBlockByMpid">
38
     <delete id="deleteTemplageBlockByMpid">
39
         delete from ms_template where mpid=#{mpid};
39
         delete from ms_template where mpid=#{mpid};
40
         delete from ms_paper_block where mpid=#{mpid};
40
         delete from ms_paper_block where mpid=#{mpid};
41
-        delete from ms_paper_check where mpid=#{mpid};
42
     </delete>
41
     </delete>
43
 
42
 
44
     <!--获取考试试卷题量和分值-->
43
     <!--获取考试试卷题量和分值-->

+ 3
- 2
smarking/src/main/resources/mapper/paper/MsPaperQtypeMapper.xml View File

91
         <result column="mptnum" property="mptnum"></result>
91
         <result column="mptnum" property="mptnum"></result>
92
         <result column="mptorder" property="mptorder"></result>
92
         <result column="mptorder" property="mptorder"></result>
93
         <result column="mptscore" property="mptscore"></result>
93
         <result column="mptscore" property="mptscore"></result>
94
+        <result column="mptctype" property="ctype"></result>
94
         <collection property="questions" ofType="com.xhkjedu.smarking.vo.paper.MsPaperQtypeQuestionVo" javaType="java.util.List">
95
         <collection property="questions" ofType="com.xhkjedu.smarking.vo.paper.MsPaperQtypeQuestionVo" javaType="java.util.List">
95
             <result column="mptqid" property="mptqid"></result>
96
             <result column="mptqid" property="mptqid"></result>
96
             <result column="mptid" property="mptid"></result>
97
             <result column="mptid" property="mptid"></result>
113
         </collection>
114
         </collection>
114
     </resultMap>
115
     </resultMap>
115
     <select id="listPaperQtypeQuesitonsForFj" resultMap="fjtypeQuestions">
116
     <select id="listPaperQtypeQuesitonsForFj" resultMap="fjtypeQuestions">
116
-        select  t.mptid,t.mpid,t.mptname,t.mptnum,t.mptorder,t.mptscore,q.mptqid,q.qtypeid,q.qtypename,
117
-                q.ctype,q.qscore,q.qn,q.qorder,q.qanswer,q.optionnum,q.complexity,q.loseoption,q.scoreset
117
+        select  t.mptid,t.mpid,t.ctype as mptctype,t.mptname,t.mptnum,t.mptorder,t.mptscore,q.mptqid,q.qtypeid,q.qtypename,
118
+                q.ctype,q.qscore,q.qn,q.qorder,q.optionnum,q.qanswer,q.optionnum,q.complexity,q.loseoption,q.scoreset
118
         from ms_paper_qtype_question q left join ms_paper_qtype t on t.mptid=q.mptid
119
         from ms_paper_qtype_question q left join ms_paper_qtype t on t.mptid=q.mptid
119
         where t.mpid=#{mpid} order by t.mptorder,q.qorder
120
         where t.mpid=#{mpid} order by t.mptorder,q.qorder
120
     </select>
121
     </select>

+ 5
- 0
smarking/src/main/resources/mapper/papercheck/MsPaperCheckTeacherMapper.xml View File

41
     <select id="listCheckTeacher2" resultType="com.xhkjedu.smarking.model.papercheck.MsPaperCheckTeacher">
41
     <select id="listCheckTeacher2" resultType="com.xhkjedu.smarking.model.papercheck.MsPaperCheckTeacher">
42
         select * from ms_paper_check_teacher where mpid = #{mpid} and mblockid = #{mblockid}
42
         select * from ms_paper_check_teacher where mpid = #{mpid} and mblockid = #{mblockid}
43
     </select>
43
     </select>
44
+
45
+    <!--根据试卷ID删除阅卷教师-->
46
+    <delete id="deleteByMpid">
47
+        delete from ms_paper_check_teacher where mpid = #{mpid}
48
+    </delete>
44
 </mapper>
49
 </mapper>

Loading…
Cancel
Save