Sfoglia il codice sorgente

教师阅卷列表

ywx
雍文秀 1 settimana fa
parent
commit
ed5ca5535f

+ 17
- 3
smarking/src/main/resources/mapper/papercheck/MsPaperCheckTeacherTaskMapper.xml Vedi File

@@ -195,11 +195,15 @@
195 195
     </select>
196 196
     <!--教师阅卷-待/已阅卷列表-->
197 197
     <select id="listCorrect" resultType="java.util.Map">
198
-        select s.msid,s.subjectname,s.sdate,s.begintime,s.endtime,e.examname,e.gradeid,e.examtype,e.exammode
198
+        select t.msid,t.subjectname,t.sdate,t.begintime,t.endtime,t.examname,t.gradeid,t.examtype,t.exammode
199
+        ,t.mpid,t.checktype,t.dispenseway,t.numtype,t.correcttype
200
+        ,truncate(t.checkedNum*100/t.totalNum,2) as checkrate
201
+        from(select s.msid,s.subjectname,s.sdate,s.begintime,s.endtime,e.examname,e.gradeid,e.examtype,e.exammode
199 202
         ,pc.mpid,pc.checktype,pc.dispenseway,pc.numtype,pc.correcttype
200
-        ,truncate((count(distinct if(psb.firstcid = #{param.handleid} and psb.firstcime>0,psb.mpsbid,null))
201
-        +count(distinct if(pc.checktype=2 and psb.secondcid = #{param.handleid} and psb.secondctime>0,psb.mpsbid,null))
203
+        ,truncate((count(distinct if(psb.firstcime>0 or psb.secondctime>0,psb.mpsbid,null))
202 204
         )*100/count(distinct psb.mpsbid),2) as checkrate
205
+        ,count(distinct if(psb.firstcime>0 or psb.secondctime>0,psb.mpsbid,null)) as checkedNum
206
+        ,count(distinct psb.mpsbid) as totalNum
203 207
         from ms_subject s inner join ms_exam e on s.examid = e.examid
204 208
         inner join ms_paper_check pc on pc.msid = s.msid
205 209
         inner join ms_paper_check_teacher pct on pc.mblockid = pct.mblockid and pct.mpid=pc.mpid
@@ -214,6 +218,8 @@
214 218
         ,pc.mpid,pc.checktype,pc.dispenseway,pc.numtype,pc.correcttype
215 219
         ,truncate((count(distinct if(psb.firstcime>0 or psb.secondctime>0,psb.mpsqid,null))
216 220
         )*100/count(distinct psb.mpsqid),2) as checkrate
221
+        ,count(distinct if(psb.firstcime>0 or psb.secondctime>0,psb.mpsqid,null)) as checkedNum
222
+        ,count(distinct psb.mpsqid) as totalNum
217 223
         from ms_subject s inner join ms_exam e on s.examid = e.examid
218 224
         inner join ms_paper_check pc on pc.msid = s.msid
219 225
         inner join ms_paper_check_teacher pct on pc.mblockid = pct.mblockid and pct.mpid=pc.mpid
@@ -228,6 +234,8 @@
228 234
         ,pc.mpid,pc.checktype,pc.dispenseway,pc.numtype,pc.correcttype
229 235
         ,truncate((count(distinct if(psb.firstcime>0 or psb.secondctime>0,psb.mpsqid,null))
230 236
         )*100/count(distinct psb.mpsqid),2) as checkrate
237
+        ,count(distinct if(psb.firstcime>0 or psb.secondctime>0,psb.mpsqid,null)) as checkedNum
238
+        ,count(distinct psb.mpsqid) as totalNum
231 239
         from ms_subject s inner join ms_exam e on s.examid = e.examid
232 240
         inner join ms_paper_check pc on pc.msid = s.msid
233 241
         inner join ms_paper_check_teacher pct on pc.mblockid = pct.mblockid and pct.mpid=pc.mpid
@@ -242,6 +250,8 @@
242 250
         select s.msid,s.subjectname,s.sdate,s.begintime,s.endtime,e.examname,e.gradeid,e.examtype,e.exammode
243 251
         ,pc.mpid,pc.checktype,pc.dispenseway,pc.numtype,pc.correcttype
244 252
         ,truncate((count(distinct if(pctt.checkstate=3,pctt.mpcttid,null)))*100/count(distinct pctt.mpcttid),2) as checkrate
253
+        ,count(distinct if(pctt.checkstate=3,pctt.mpcttid,null)) as checkedNum
254
+        ,count(distinct pctt.mpcttid) as totalNum
245 255
         from ms_subject s inner join ms_exam e on s.examid = e.examid
246 256
         inner join ms_paper_check pc on pc.msid = s.msid
247 257
         inner join ms_paper_check_teacher_task pctt on pc.mblockid = pctt.mblockid and pctt.mpid=pc.mpid
@@ -250,6 +260,10 @@
250 260
         group by s.msid
251 261
         <if test="param.checktype==0">having 100>checkrate</if>
252 262
         <if test="param.checktype==1">having 100=checkrate</if>
263
+        )t
264
+        group by t.msid
265
+        <if test="param.checktype==0">having 100>checkrate</if>
266
+        <if test="param.checktype==1">having 100=checkrate</if>
253 267
         order by msid desc
254 268
     </select>
255 269
     <!--教师阅卷-待阅卷详情-->

Loading…
Annulla
Salva