Procházet zdrojové kódy

Merge remote-tracking branch 'cloud-schoolapi/ywx'

tags/正式版本
王宁 před 2 roky
rodič
revize
146bd48760
18 změnil soubory, kde provedl 268 přidání a 47 odebrání
  1. 1
    1
      sexam/src/main/java/com/xhkjedu/sexam/controller/exam/EBaseController.java
  2. 40
    22
      sexam/src/main/java/com/xhkjedu/sexam/controller/exam/ESubjectBadstudentController.java
  3. 15
    0
      sexam/src/main/java/com/xhkjedu/sexam/controller/paperstudent/EPaperStudentController.java
  4. 30
    0
      sexam/src/main/java/com/xhkjedu/sexam/controller/paperstudent/EScanbatchController.java
  5. 11
    0
      sexam/src/main/java/com/xhkjedu/sexam/mapper/exam/ESubjectBadstudentMapper.java
  6. 1
    1
      sexam/src/main/java/com/xhkjedu/sexam/mapper/exam/ESubjectMapper.java
  7. 3
    0
      sexam/src/main/java/com/xhkjedu/sexam/mapper/paperstudent/EPaperStudentMapper.java
  8. 8
    0
      sexam/src/main/java/com/xhkjedu/sexam/mapper/paperstudent/EScanerrorMapper.java
  9. 8
    1
      sexam/src/main/java/com/xhkjedu/sexam/model/paperstudent/EScanerror.java
  10. 2
    2
      sexam/src/main/java/com/xhkjedu/sexam/service/exam/EBaseService.java
  11. 20
    16
      sexam/src/main/java/com/xhkjedu/sexam/service/exam/ESubjectBadstudentService.java
  12. 4
    0
      sexam/src/main/java/com/xhkjedu/sexam/service/paperstudent/EPaperStudentService.java
  13. 74
    3
      sexam/src/main/java/com/xhkjedu/sexam/service/paperstudent/EScanbatchService.java
  14. 28
    0
      sexam/src/main/resources/mapper/exam/ESubjectBadstudentMapper.xml
  15. 1
    0
      sexam/src/main/resources/mapper/exam/ESubjectMapper.xml
  16. 4
    0
      sexam/src/main/resources/mapper/paperstudent/EPaperStudentMapper.xml
  17. 2
    1
      sexam/src/main/resources/mapper/paperstudent/EScanbatchMapper.xml
  18. 16
    0
      sexam/src/main/resources/mapper/paperstudent/EScanerrorMapper.xml

+ 1
- 1
sexam/src/main/java/com/xhkjedu/sexam/controller/exam/EBaseController.java Zobrazit soubor

@@ -107,7 +107,7 @@ public class EBaseController {
107 107
                 return new ResultVo(1, e.getMessage());
108 108
             }
109 109
         }
110
-        eBaseService.setExam(subjects);
110
+        eBaseService.setExam(subjects, createid);
111 111
         
112 112
         noticeService.batchSave(noticeList, msgList, schoolid, createid, 2);
113 113
         return new ResultVo(0, "设置成功");

+ 40
- 22
sexam/src/main/java/com/xhkjedu/sexam/controller/exam/ESubjectBadstudentController.java Zobrazit soubor

@@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
4 4
 import com.github.pagehelper.PageInfo;
5 5
 import com.xhkjedu.sexam.model.exam.ESubjectBadstudent;
6 6
 import com.xhkjedu.sexam.service.exam.ESubjectBadstudentService;
7
+import com.xhkjedu.utils.N_Utils;
7 8
 import com.xhkjedu.utils.PageUtil;
8 9
 import com.xhkjedu.vo.PageResult;
9 10
 import com.xhkjedu.vo.ResultVo;
@@ -14,36 +15,53 @@ import org.springframework.web.bind.annotation.RestController;
14 15
 
15 16
 import javax.annotation.Resource;
16 17
 import java.util.List;
18
+import java.util.Map;
17 19
 
18 20
 @RestController
19
-@RequestMapping("/e_badstudent")
21
+@RequestMapping("/ebs")
20 22
 public class ESubjectBadstudentController {
21 23
     @Resource
22 24
     private ESubjectBadstudentService eSubjectBadstudentService;
23 25
 
26
+    /**
27
+     * 保存违规学生记录
28
+     *
29
+     * @return com.xhkjedu.vo.ResultVo
30
+     * @Param [badstudent]
31
+     * @Author ywx
32
+     * @Date 2022/8/17 10:50
33
+     **/
24 34
     @PostMapping("/add")
25
-    public ResultVo add(@RequestBody ESubjectBadstudent eSubjectBadstudent) {
26
-        eSubjectBadstudentService.save(eSubjectBadstudent);
27
-        return new ResultVo(0,"保存成功");
35
+    public ResultVo add(@RequestBody ESubjectBadstudent badstudent) {
36
+        N_Utils.validation(new Object[]{badstudent.getStudentid(), "学生id", 1, badstudent.getEsid(), "考试科目id", 1
37
+                , badstudent.getClassid(), "班级id", 1, badstudent.getExamid(), "考试id", 1
38
+                , badstudent.getBadtype(), "违规类型", 1
39
+        });
40
+        eSubjectBadstudentService.save(badstudent);
41
+        return new ResultVo(0, "保存成功");
28 42
     }
29 43
 
30
-    @PostMapping("/delete")
31
-    public ResultVo delete(@RequestBody ESubjectBadstudent eSubjectBadstudent) {
32
-        eSubjectBadstudentService.deleteById(eSubjectBadstudent.getId());
33
-        return new ResultVo(0,"删除成功");
34
-    }
35
-
36
-    @PostMapping("/update")
37
-    public ResultVo update(@RequestBody ESubjectBadstudent eSubjectBadstudent) {
38
-        eSubjectBadstudentService.update(eSubjectBadstudent);
39
-        return new ResultVo(0,"修改成功");
40
-    }
41
-
42
-    @PostMapping("/list")
43
-    public ResultVo list(@RequestBody ESubjectBadstudent eSubjectBadstudent) {
44
-        PageHelper.startPage(eSubjectBadstudent.getPage(), eSubjectBadstudent.getPageSize());
45
-        List<ESubjectBadstudent> list = eSubjectBadstudentService.listAll();
46
-        PageResult pageResult = PageUtil.getPageResult(new PageInfo(list));
47
-        return new ResultVo(0,"获取列表成功",pageResult);
44
+    /**
45
+     * 实时监控
46
+     *
47
+     * @return com.xhkjedu.vo.ResultVo
48
+     * @Param [badstudent]
49
+     * @Author ywx
50
+     * @Date 2022/8/17 11:44
51
+     **/
52
+    @PostMapping("/list_sjk")
53
+    public ResultVo listJk(@RequestBody ESubjectBadstudent badstudent) {
54
+        Integer examid = badstudent.getExamid();
55
+        Integer esid = badstudent.getEsid();
56
+        Integer classid = badstudent.getClassid();
57
+        Integer page = badstudent.getPage();
58
+        Integer pageSize = badstudent.getPageSize();
59
+        N_Utils.validation(new Object[]{examid, "考试id", 1, page, "页码", 1, pageSize, "显示条数", 1});
60
+        PageHelper.startPage(page, pageSize);
61
+        List<Map> list = eSubjectBadstudentService.listStu(esid, classid, badstudent.getCreatename());
62
+        PageResult pageResult = PageUtil.getPageResult(new PageInfo<>(list));
63
+        Map map = eSubjectBadstudentService.getJkDetail(examid, esid);
64
+        map.put("pageResult", pageResult);
65
+        return new ResultVo(0, "获取成功", map);
48 66
     }
49 67
 }

+ 15
- 0
sexam/src/main/java/com/xhkjedu/sexam/controller/paperstudent/EPaperStudentController.java Zobrazit soubor

@@ -175,4 +175,19 @@ public class EPaperStudentController {
175 175
         }
176 176
     }
177 177
 
178
+    /**
179
+     * 学生进场
180
+     *
181
+     * @return com.xhkjedu.vo.ResultVo
182
+     * @Param [eps]
183
+     * @Author ywx
184
+     * @Date 2022/8/17 11:49
185
+     **/
186
+    @PostMapping("/in")
187
+    public ResultVo inPaper(@RequestBody EPaperStudent eps) {
188
+        Integer epsid = eps.getEpsid();
189
+        N_Utils.validation(new Object[]{epsid, "学生试卷id", 1});
190
+        ePaperStudentService.updateSstate(epsid, 1);
191
+        return new ResultVo(0, "进场成功");
192
+    }
178 193
 }

+ 30
- 0
sexam/src/main/java/com/xhkjedu/sexam/controller/paperstudent/EScanbatchController.java Zobrazit soubor

@@ -111,4 +111,34 @@ public class EScanbatchController {
111 111
             return new ResultVo(0, "获取成功", pageResult);
112 112
         }
113 113
     }
114
+
115
+    /**
116
+     * 获取扫描答卷识别异常详情
117
+     *
118
+     * @return com.xhkjedu.vo.ResultVo
119
+     * @Param [eps]
120
+     * @Author ywx
121
+     * @Date 2022/8/17 9:44
122
+     **/
123
+    @PostMapping("/edetail")
124
+    public ResultVo getScanErrorDetail(@RequestBody EPaperStudent eps) {
125
+        Integer epid = eps.getEpid();
126
+        N_Utils.validation(new Object[]{epid, "试卷id", 1});
127
+        Map map = eScanbatchService.getScanErrorDetail(epid);
128
+        return new ResultVo(0, "获取详情成功", map);
129
+    }
130
+
131
+    /**
132
+     * 批量标记待处理的扫描异常为已处理
133
+     *
134
+     * @return com.xhkjedu.vo.ResultVo
135
+     * @Param [serrorids]
136
+     * @Author ywx
137
+     * @Date 2022/8/17 10:32
138
+     **/
139
+    @PostMapping("/bhe")
140
+    public ResultVo batchHandleError(@RequestBody List<Integer> serrorids) {
141
+        eScanbatchService.batchHandleError(serrorids);
142
+        return new ResultVo(0, "处理成功");
143
+    }
114 144
 }

+ 11
- 0
sexam/src/main/java/com/xhkjedu/sexam/mapper/exam/ESubjectBadstudentMapper.java Zobrazit soubor

@@ -2,6 +2,17 @@ package com.xhkjedu.sexam.mapper.exam;
2 2
 
3 3
 import com.xhkjedu.sexam.base.TkMapper;
4 4
 import com.xhkjedu.sexam.model.exam.ESubjectBadstudent;
5
+import org.apache.ibatis.annotations.Param;
6
+
7
+import java.util.List;
8
+import java.util.Map;
5 9
 
6 10
 public interface ESubjectBadstudentMapper extends TkMapper<ESubjectBadstudent> {
11
+    //试卷学生
12
+    List<Map> listStu(@Param("esid") Integer esid, @Param("classid") Integer classid, @Param("studentname") String studentname);
13
+
14
+    //试卷异常次数
15
+    Integer getErrNumByEsId(@Param("esid") Integer esid);
16
+
17
+    Map getPaperRate(@Param("esid") Integer esid);
7 18
 }

+ 1
- 1
sexam/src/main/java/com/xhkjedu/sexam/mapper/exam/ESubjectMapper.java Zobrazit soubor

@@ -9,7 +9,7 @@ import java.util.Map;
9 9
 
10 10
 public interface ESubjectMapper extends TkMapper<ESubject> {
11 11
     //考试设置
12
-    void setExam(@Param("subjects") List<ESubject> subjects);
12
+    void setExam(@Param("subjects") List<ESubject> subjects, @Param("handleid") Integer handleid);
13 13
 
14 14
     //更新考试科目状态
15 15
     void updateExamSubjectState(@Param("esstate") Integer esstate, @Param("esid") Integer esid);

+ 3
- 0
sexam/src/main/java/com/xhkjedu/sexam/mapper/paperstudent/EPaperStudentMapper.java Zobrazit soubor

@@ -66,4 +66,7 @@ public interface EPaperStudentMapper extends TkMapper<EPaperStudent> {
66 66
 
67 67
     //搜索考试学生获取学生试卷id
68 68
     List<Map> getStuSubjectPaperByname(@Param("ps")EPaperStudent ps);
69
+
70
+    //修改学生试卷状态
71
+    void updateSstate(@Param("epsid") Integer epsid, @Param("sstate") Integer sstate);
69 72
 }

+ 8
- 0
sexam/src/main/java/com/xhkjedu/sexam/mapper/paperstudent/EScanerrorMapper.java Zobrazit soubor

@@ -2,8 +2,16 @@ package com.xhkjedu.sexam.mapper.paperstudent;
2 2
 
3 3
 import com.xhkjedu.sexam.base.TkMapper;
4 4
 import com.xhkjedu.sexam.model.paperstudent.EScanerror;
5
+import org.apache.ibatis.annotations.Param;
5 6
 import org.springframework.stereotype.Repository;
6 7
 
8
+import java.util.List;
9
+
7 10
 @Repository
8 11
 public interface EScanerrorMapper extends TkMapper<EScanerror> {
12
+    //试卷扫描出错列表
13
+    List<EScanerror> listByBatchIds(@Param("batchids") String batchids);
14
+
15
+    //批量标记待处理的扫描异常为已处理
16
+    void batchHandleError(@Param("serrorids") List<Integer> serrorids);
9 17
 }

+ 8
- 1
sexam/src/main/java/com/xhkjedu/sexam/model/paperstudent/EScanerror.java Zobrazit soubor

@@ -5,7 +5,7 @@ import lombok.Data;
5 5
 
6 6
 import javax.persistence.Id;
7 7
 import javax.persistence.Table;
8
-import java.util.List;
8
+import javax.persistence.Transient;
9 9
 
10 10
 /**
11 11
  * @Description: TODO 扫描出错信息
@@ -35,5 +35,12 @@ public class EScanerror extends BaseBean {
35 35
 
36 36
     //创建时间
37 37
     private Integer createtime;
38
+    
39
+    //状态0待处理1已处理
40
+    private Integer errorstate;
41
+
42
+    @Transient
43
+    //扫描批次名称
44
+    private String batchname;
38 45
 
39 46
 }

+ 2
- 2
sexam/src/main/java/com/xhkjedu/sexam/service/exam/EBaseService.java Zobrazit soubor

@@ -179,8 +179,8 @@ public class EBaseService {
179 179
     }
180 180
 
181 181
     //考试设置
182
-    public void setExam(List<ESubject> subjects) {
183
-        eSubjectMapper.setExam(subjects);
182
+    public void setExam(List<ESubject> subjects, Integer handleid) {
183
+        eSubjectMapper.setExam(subjects, handleid);
184 184
     }
185 185
 
186 186
     //发布考试

+ 20
- 16
sexam/src/main/java/com/xhkjedu/sexam/service/exam/ESubjectBadstudentService.java Zobrazit soubor

@@ -1,5 +1,7 @@
1 1
 package com.xhkjedu.sexam.service.exam;
2 2
 
3
+import com.xhkjedu.sexam.mapper.exam.EBaseMapper;
4
+import com.xhkjedu.sexam.mapper.exam.EClassMapper;
3 5
 import com.xhkjedu.sexam.mapper.exam.ESubjectBadstudentMapper;
4 6
 import com.xhkjedu.sexam.model.exam.ESubjectBadstudent;
5 7
 import com.xhkjedu.utils.N_Utils;
@@ -7,11 +9,16 @@ import org.springframework.stereotype.Service;
7 9
 
8 10
 import javax.annotation.Resource;
9 11
 import java.util.List;
12
+import java.util.Map;
10 13
 
11 14
 @Service
12 15
 public class ESubjectBadstudentService {
13 16
     @Resource
14 17
     private ESubjectBadstudentMapper eSubjectBadstudentMapper;
18
+    @Resource
19
+    private EBaseMapper eBaseMapper;
20
+    @Resource
21
+    private EClassMapper eClassMapper;
15 22
 
16 23
     //添加
17 24
     public void save(ESubjectBadstudent model) {
@@ -19,23 +26,20 @@ public class ESubjectBadstudentService {
19 26
         eSubjectBadstudentMapper.insertSelective(model);
20 27
     }
21 28
 
22
-    //删除
23
-    public Integer deleteById(Integer id) {
24
-        return eSubjectBadstudentMapper.deleteByPrimaryKey(id);
25
-    }
26
-
27
-    //修改
28
-    public Integer update(ESubjectBadstudent model) {
29
-        return eSubjectBadstudentMapper.updateByPrimaryKeySelective(model);
30
-    }
31
-
32
-    //获取详情
33
-    public ESubjectBadstudent findById(Integer id) {
34
-        return eSubjectBadstudentMapper.selectByPrimaryKey(id);
29
+    //试卷学生
30
+    public List<Map> listStu(Integer esid, Integer classid, String studentname) {
31
+        List<Map> students = eSubjectBadstudentMapper.listStu(esid, classid, studentname);
32
+        return students;
35 33
     }
36 34
 
37
-    //获取列表
38
-    public List <ESubjectBadstudent> listAll() {
39
-        return eSubjectBadstudentMapper.selectAll();
35
+    public Map getJkDetail(Integer examid, Integer esid) {
36
+        Map map = eBaseMapper.findById(examid);
37
+        List<Map> classes = eClassMapper.listByExamId(examid);
38
+        map.put("classes", classes);
39
+        Integer errnum = eSubjectBadstudentMapper.getErrNumByEsId(esid);//试卷异常次数
40
+        map.put("errnum", errnum);
41
+        Map rate = eSubjectBadstudentMapper.getPaperRate(esid);
42
+        map.putAll(rate);
43
+        return map;
40 44
     }
41 45
 }

+ 4
- 0
sexam/src/main/java/com/xhkjedu/sexam/service/paperstudent/EPaperStudentService.java Zobrazit soubor

@@ -616,4 +616,8 @@ public class EPaperStudentService {
616 616
         return ePaperStudentMapper.getStuSubjectPaperByname(ps);
617 617
     }
618 618
 
619
+    //修改学生试卷状态
620
+    public void updateSstate(Integer epsid, Integer sstate) {
621
+        ePaperStudentMapper.updateSstate(epsid, sstate);
622
+    }
619 623
 }

+ 74
- 3
sexam/src/main/java/com/xhkjedu/sexam/service/paperstudent/EScanbatchService.java Zobrazit soubor

@@ -5,15 +5,19 @@ import com.xhkjedu.sexam.mapper.exam.EBaseMapper;
5 5
 import com.xhkjedu.sexam.mapper.exam.EClassMapper;
6 6
 import com.xhkjedu.sexam.mapper.paper.EPaperMapper;
7 7
 import com.xhkjedu.sexam.mapper.paperstudent.EScanbatchMapper;
8
+import com.xhkjedu.sexam.mapper.paperstudent.EScanerrorMapper;
8 9
 import com.xhkjedu.sexam.model.paperstudent.EScanbatch;
10
+import com.xhkjedu.sexam.model.paperstudent.EScanerror;
9 11
 import com.xhkjedu.sexam.utils.ExamUtil;
10 12
 import com.xhkjedu.utils.N_Utils;
11 13
 import org.springframework.stereotype.Service;
12 14
 
13 15
 import javax.annotation.Resource;
16
+import java.util.ArrayList;
14 17
 import java.util.HashMap;
15 18
 import java.util.List;
16 19
 import java.util.Map;
20
+import java.util.stream.Collectors;
17 21
 
18 22
 /**
19 23
  * @Description: TODO
@@ -31,6 +35,8 @@ public class EScanbatchService {
31 35
 
32 36
     @Resource
33 37
     private EClassMapper eClassMapper;
38
+    @Resource
39
+    private EScanerrorMapper eScanerrorMapper;
34 40
 
35 41
     /**
36 42
      * @description: 保持扫描试卷批次信息
@@ -39,13 +45,13 @@ public class EScanbatchService {
39 45
      * @author: wn
40 46
      * @date: 2022/8/11/011 9:42
41 47
      **/
42
-    public Map saveScanBatch(EScanbatch eScanbatch){
48
+    public Map saveScanBatch(EScanbatch eScanbatch) {
43 49
         String batchname = eScanbatch.getDevice() + "-" + eScanbatch.getEpid() + "-";
44 50
         //获取数据库中该批次名的扫描批次数量
45 51
         Integer bnum = eScanbatchMapper.getBatchNameLikeNum(batchname);
46
-        if(bnum == null || bnum == 0){
52
+        if (bnum == null || bnum == 0) {
47 53
             bnum = 1;
48
-        }else{
54
+        } else {
49 55
             bnum++;
50 56
         }
51 57
         batchname = batchname + bnum;
@@ -144,4 +150,69 @@ public class EScanbatchService {
144 150
     public List<Map> listScanStu(Integer epid, Integer sstate, String username, Integer classid) {
145 151
         return eScanbatchMapper.listScanStu(epid, sstate, username, classid);
146 152
     }
153
+
154
+    //获取扫描答卷识别异常详情
155
+    public Map getScanErrorDetail(Integer epid) {
156
+        Map map = eScanbatchMapper.listByEpId(epid);
157
+        List<Map> scanbatches = eScanbatchMapper.listScanBatchPapers(epid);//试卷扫描批次信息
158
+        Map<Object, String> batchMap = scanbatches.stream().collect(Collectors.toMap(s -> s.get("batchid"), s -> s.get(
159
+                "batchname").toString()));
160
+        String batchids = scanbatches.stream().map(s -> s.get("batchid").toString()).collect(Collectors.joining(","));
161
+        List<EScanerror> scanerrors = eScanerrorMapper.listByBatchIds(batchids);//试卷扫描出错列表
162
+        scanerrors.forEach(e -> {
163
+            e.setBatchname(batchMap.get(e.getBatchid()));
164
+        });
165
+        List<EScanerror> smccList = new ArrayList<>();//扫描出错集合
166
+        List<EScanerror> khywList = new ArrayList<>();//考号有误集合
167
+        List<EScanerror> zbdxsList = new ArrayList<>();//找不到学生集合
168
+        List<EScanerror> qsList = new ArrayList<>();//缺少考号或试卷id集合
169
+        Map<Integer, List<EScanerror>> collect = scanerrors.stream().collect(Collectors.groupingBy(s -> s.getErrortype()));
170
+        for (Map.Entry<Integer, List<EScanerror>> entry : collect.entrySet()) {
171
+            List<EScanerror> list = entry.getValue();
172
+            Integer errortype = entry.getKey();
173
+            if (errortype == 1) {
174
+                smccList = list;
175
+            } else if (errortype == 2) {
176
+                khywList = list;
177
+            } else if (errortype == 3) {
178
+                zbdxsList = list;
179
+            } else {
180
+                qsList = list;
181
+            }
182
+        }
183
+        Map smcc = new HashMap();//扫描出错
184
+        List<EScanerror> dclList = smccList.stream().filter(s -> s.getErrorstate().equals(0)).collect(Collectors.toList());
185
+        List<EScanerror> yclList = smccList.stream().filter(s -> s.getErrorstate().equals(1)).collect(Collectors.toList());
186
+        smcc.put("num", dclList.size());
187
+        smcc.put("dclList", dclList);
188
+        smcc.put("yclList", yclList);
189
+        map.put("smcc", smcc);
190
+        Map khyw = new HashMap();//考号有误
191
+        dclList = khywList.stream().filter(s -> s.getErrorstate().equals(0)).collect(Collectors.toList());
192
+        yclList = khywList.stream().filter(s -> s.getErrorstate().equals(1)).collect(Collectors.toList());
193
+        khyw.put("num", dclList.size());
194
+        khyw.put("dclList", dclList);
195
+        khyw.put("yclList", yclList);
196
+        map.put("khyw", khyw);
197
+        Map zbdxs = new HashMap();//找不到学生
198
+        dclList = zbdxsList.stream().filter(s -> s.getErrorstate().equals(0)).collect(Collectors.toList());
199
+        yclList = zbdxsList.stream().filter(s -> s.getErrorstate().equals(1)).collect(Collectors.toList());
200
+        zbdxs.put("num", dclList.size());
201
+        zbdxs.put("dclList", dclList);
202
+        zbdxs.put("yclList", yclList);
203
+        map.put("zbdxs", zbdxs);
204
+        Map qs = new HashMap();//缺少考号或试卷id
205
+        dclList = qsList.stream().filter(s -> s.getErrorstate().equals(0)).collect(Collectors.toList());
206
+        yclList = qsList.stream().filter(s -> s.getErrorstate().equals(1)).collect(Collectors.toList());
207
+        qs.put("num", dclList.size());
208
+        qs.put("dclList", dclList);
209
+        qs.put("yclList", yclList);
210
+        map.put("qs", qs);
211
+        return map;
212
+    }
213
+
214
+    //批量标记待处理的扫描异常为已处理
215
+    public void batchHandleError(List<Integer> serrorids) {
216
+        eScanerrorMapper.batchHandleError(serrorids);
217
+    }
147 218
 }

+ 28
- 0
sexam/src/main/resources/mapper/exam/ESubjectBadstudentMapper.xml Zobrazit soubor

@@ -0,0 +1,28 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.xhkjedu.sexam.mapper.exam.ESubjectBadstudentMapper">
4
+    <!--试卷学生-->
5
+    <select id="listStu" resultType="java.util.Map">
6
+        select es.classid,es.sstate,u.username
7
+        from e_paper_student es left join t_user u on es.studentid = u.userid
8
+        where es.esid=#{esid}
9
+        <if test="classid!=null and classid!=0">
10
+            and es.classid=#{classid}
11
+        </if>
12
+        <if test="studentname!=null and studentname!=''">
13
+            and u.username like '%${studentname}%'
14
+        </if>
15
+    </select>
16
+    <!--试卷异常次数-->
17
+    <select id="getErrNumByEsId" resultType="java.lang.Integer">
18
+        select count(*) from e_subject_badstudent where esid=#{esid}
19
+    </select>
20
+    <select id="getPaperRate" resultType="java.util.Map">
21
+        select count(*)examnum
22
+             ,count(case when sstate!=0 then epsid else null end)jcnum
23
+             ,count(case when sstate=0 then epsid else null end)wjcnum
24
+             ,count(case when sstate=2 then epsid else null end)tjcnum
25
+             ,truncate(count(case when sstate!=0 then epsid else null end)*100/count(*),2)jcrate
26
+        from e_paper_student where esid=#{esid}
27
+    </select>
28
+</mapper>

+ 1
- 0
sexam/src/main/resources/mapper/exam/ESubjectMapper.xml Zobrazit soubor

@@ -5,6 +5,7 @@
5 5
     <update id="setExam">
6 6
         <foreach collection="subjects" item="s" separator=";">
7 7
             update e_subject set sdate=#{s.sdate},begintime=#{s.begintime},endtime=#{s.endtime},teacherid=#{s.teacherid}
8
+            ,handleid=#{handleid},handletime=unix_timestamp()
8 9
             where examid=#{s.examid} and subjectid=#{s.subjectid}
9 10
         </foreach>
10 11
     </update>

+ 4
- 0
sexam/src/main/resources/mapper/paperstudent/EPaperStudentMapper.xml Zobrazit soubor

@@ -224,4 +224,8 @@
224 224
         and u.username like concat('%',#{ps.stuname,jdbcType=VARCHAR},'%')
225 225
         group by ps.studentid
226 226
     </select>
227
+    <!--修改学生试卷状态-->
228
+    <update id="updateSstate">
229
+        update e_paper_student set sstate=#{sstate} where epsid=#{epsid}
230
+    </update>
227 231
 </mapper>

+ 2
- 1
sexam/src/main/resources/mapper/paperstudent/EScanbatchMapper.xml Zobrazit soubor

@@ -74,8 +74,9 @@
74 74
     </select>
75 75
     <!--试卷基础信息-->
76 76
     <select id="listByEpId" resultType="java.util.Map">
77
-        select ifnull(ep.scantronnum,1)scantronnum,eb.examname,eb.gradeid
77
+        select ifnull(ep.scantronnum,1)scantronnum,eb.examname,eb.gradeid,es.subjectname
78 78
         from e_paper ep left join e_base eb on ep.examid = eb.examid
79
+        left join e_subject es on ep.esid = es.esid
79 80
         where ep.epid=#{epid}
80 81
     </select>
81 82
 </mapper>

+ 16
- 0
sexam/src/main/resources/mapper/paperstudent/EScanerrorMapper.xml Zobrazit soubor

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.xhkjedu.sexam.mapper.paperstudent.EScanerrorMapper">
4
+    <!--试卷扫描出错列表-->
5
+    <select id="listByBatchIds" resultType="com.xhkjedu.sexam.model.paperstudent.EScanerror">
6
+        select serrorid, batchid, errortype, pagenum, stupic, errorjson, createtime
7
+        from e_scanerror where batchid in (${batchids})
8
+    </select>
9
+    <!--批量标记待处理的扫描异常为已处理-->
10
+    <update id="batchHandleError">
11
+        update e_scanerror set errorstate=1 where serrorid in
12
+        <foreach collection="serrorids" item="serrorid" index="index" open="(" separator="," close=")">
13
+            ${serrorid}
14
+        </foreach>
15
+    </update>
16
+</mapper>

Načítá se…
Zrušit
Uložit