瀏覽代碼

复核数据

xiatian 8 月之前
父節點
當前提交
3f279977fc

+ 48 - 0
src/main/java/cn/com/qmth/markingaudit/bean/InspectDataInfo.java

@@ -0,0 +1,48 @@
+package cn.com.qmth.markingaudit.bean;
+
+public class InspectDataInfo {
+
+    private Integer studentId;
+
+    // 复核时间
+    private String createTime;
+
+    // 复核人登录名
+    private String id;
+
+    // 复核人姓名
+    private String longName;
+
+    public Integer getStudentId() {
+        return studentId;
+    }
+
+    public void setStudentId(Integer studentId) {
+        this.studentId = studentId;
+    }
+
+    public String getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(String createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getLongName() {
+        return longName;
+    }
+
+    public void setLongName(String longName) {
+        this.longName = longName;
+    }
+
+}

+ 41 - 0
src/main/java/cn/com/qmth/markingaudit/bean/InspectDataQuery.java

@@ -0,0 +1,41 @@
+package cn.com.qmth.markingaudit.bean;
+
+import javax.validation.constraints.NotNull;
+
+import cn.com.qmth.markingaudit.support.IdPagerQuery;
+
+public class InspectDataQuery extends IdPagerQuery {
+
+    private String schoolCode;
+
+    @NotNull(message = "考试ID不能为空")
+    private Integer examId;
+
+    @NotNull(message = "科目代码不能为空")
+    private String subjectCode;
+
+    public Integer getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Integer examId) {
+        this.examId = examId;
+    }
+
+    public String getSubjectCode() {
+        return subjectCode;
+    }
+
+    public void setSubjectCode(String subjectCode) {
+        this.subjectCode = subjectCode;
+    }
+
+    public String getSchoolCode() {
+        return schoolCode;
+    }
+
+    public void setSchoolCode(String schoolCode) {
+        this.schoolCode = schoolCode;
+    }
+
+}

+ 38 - 0
src/main/java/cn/com/qmth/markingaudit/bean/InspectDataVo.java

@@ -0,0 +1,38 @@
+package cn.com.qmth.markingaudit.bean;
+
+import java.util.List;
+
+public class InspectDataVo {
+
+    private Integer dataId;
+
+    // 准考证号
+    private String cardNo;
+
+    private List<InspectDataInfo> examInfo;
+
+    public Integer getDataId() {
+        return dataId;
+    }
+
+    public void setDataId(Integer dataId) {
+        this.dataId = dataId;
+    }
+
+    public String getCardNo() {
+        return cardNo;
+    }
+
+    public void setCardNo(String cardNo) {
+        this.cardNo = cardNo;
+    }
+
+    public List<InspectDataInfo> getExamInfo() {
+        return examInfo;
+    }
+
+    public void setExamInfo(List<InspectDataInfo> examInfo) {
+        this.examInfo = examInfo;
+    }
+
+}

+ 6 - 6
src/main/java/cn/com/qmth/markingaudit/bean/MarkingScoreDataVo.java

@@ -6,21 +6,21 @@ import cn.com.qmth.markingaudit.enums.SubjectiveStatus;
 
 public class MarkingScoreDataVo {
 
-    private Integer id;
+    private Integer dataId;
 
     private SubjectiveStatus subjectiveStatus;
 
     // 准考证号
     private String cardNo;
 
-    List<MarkingScoreInfo> examInfo;
+    private List<MarkingScoreInfo> examInfo;
 
-    public Integer getId() {
-        return id;
+    public Integer getDataId() {
+        return dataId;
     }
 
-    public void setId(Integer id) {
-        this.id = id;
+    public void setDataId(Integer dataId) {
+        this.dataId = dataId;
     }
 
     public String getCardNo() {

+ 10 - 0
src/main/java/cn/com/qmth/markingaudit/controller/MonitorController.java

@@ -12,6 +12,8 @@ import com.qmth.boot.api.annotation.Aac;
 
 import cn.com.qmth.markingaudit.bean.ExamDataQuery;
 import cn.com.qmth.markingaudit.bean.ExamDataVo;
+import cn.com.qmth.markingaudit.bean.InspectDataQuery;
+import cn.com.qmth.markingaudit.bean.InspectDataVo;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataQuery;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataVo;
 import cn.com.qmth.markingaudit.bean.QuestionDataQuery;
@@ -73,4 +75,12 @@ public class MonitorController {
         req.setSchoolCode(ai.getSchoolCode());
         return monitorService.markingScoreData(req);
     }
+
+    @ApiOperation(value = "全卷复核数据")
+    @PostMapping("scoringReviewDataSync")
+    public List<InspectDataVo> inspectData(@Validated InspectDataQuery req) {
+        AccessInfo ai = ServletUtil.getAccessInfo();
+        req.setSchoolCode(ai.getSchoolCode());
+        return monitorService.inspectData(req);
+    }
 }

+ 7 - 0
src/main/java/cn/com/qmth/markingaudit/dao/MonitorDao.java

@@ -6,6 +6,9 @@ import org.apache.ibatis.annotations.Param;
 
 import cn.com.qmth.markingaudit.bean.ExamDataQuery;
 import cn.com.qmth.markingaudit.bean.ExamDataVo;
+import cn.com.qmth.markingaudit.bean.InspectDataInfo;
+import cn.com.qmth.markingaudit.bean.InspectDataQuery;
+import cn.com.qmth.markingaudit.bean.InspectDataVo;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataQuery;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataVo;
 import cn.com.qmth.markingaudit.bean.MarkingScoreInfo;
@@ -35,4 +38,8 @@ public interface MonitorDao {
 
     List<MarkingScoreOperateInfo> markingScoreOperateInfo(@Param("ids") List<Integer> ids);
 
+    List<InspectDataVo> inspectData(@Param("req") InspectDataQuery req);
+
+    List<InspectDataInfo> inspectDataInfo(@Param("ids") List<Integer> ids);
+
 }

+ 4 - 0
src/main/java/cn/com/qmth/markingaudit/service/MonitorService.java

@@ -4,6 +4,8 @@ import java.util.List;
 
 import cn.com.qmth.markingaudit.bean.ExamDataQuery;
 import cn.com.qmth.markingaudit.bean.ExamDataVo;
+import cn.com.qmth.markingaudit.bean.InspectDataQuery;
+import cn.com.qmth.markingaudit.bean.InspectDataVo;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataQuery;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataVo;
 import cn.com.qmth.markingaudit.bean.QuestionDataQuery;
@@ -28,4 +30,6 @@ public interface MonitorService {
 
     List<MarkingScoreDataVo> markingScoreData(MarkingScoreDataQuery req);
 
+    List<InspectDataVo> inspectData(InspectDataQuery req);
+
 }

+ 32 - 2
src/main/java/cn/com/qmth/markingaudit/service/impl/MonitorServiceImpl.java

@@ -16,6 +16,9 @@ import com.qmth.boot.core.exception.StatusException;
 
 import cn.com.qmth.markingaudit.bean.ExamDataQuery;
 import cn.com.qmth.markingaudit.bean.ExamDataVo;
+import cn.com.qmth.markingaudit.bean.InspectDataInfo;
+import cn.com.qmth.markingaudit.bean.InspectDataQuery;
+import cn.com.qmth.markingaudit.bean.InspectDataVo;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataQuery;
 import cn.com.qmth.markingaudit.bean.MarkingScoreDataVo;
 import cn.com.qmth.markingaudit.bean.MarkingScoreInfo;
@@ -87,7 +90,7 @@ public class MonitorServiceImpl implements MonitorService {
         List<MarkingScoreDataVo> ret = monitorDao.markingScoreData(req);
         if (CollectionUtils.isNotEmpty(ret)) {
             List<Integer> ids = ret.stream().filter(e -> SubjectiveStatus.MARKED.equals(e.getSubjectiveStatus()))
-                    .map(e -> e.getId()).collect(Collectors.toList());
+                    .map(e -> e.getDataId()).collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(ids)) {
                 List<MarkingScoreInfo> infos = monitorDao.markingScoreInfo(ids);
                 if (CollectionUtils.isNotEmpty(infos)) {
@@ -114,7 +117,7 @@ public class MonitorServiceImpl implements MonitorService {
                         tem.add(info);
                     }
                     for (MarkingScoreDataVo vo : ret) {
-                        vo.setExamInfo(map.get(vo.getId()));
+                        vo.setExamInfo(map.get(vo.getDataId()));
                     }
                 }
             }
@@ -146,4 +149,31 @@ public class MonitorServiceImpl implements MonitorService {
         }
     }
 
+    @Override
+    public List<InspectDataVo> inspectData(InspectDataQuery req) {
+        checkExamIdValid(req.getExamId(), req.getSchoolCode());
+        List<InspectDataVo> ret = monitorDao.inspectData(req);
+        if (CollectionUtils.isNotEmpty(ret)) {
+            List<Integer> ids = ret.stream().map(e -> e.getDataId()).collect(Collectors.toList());
+            if (CollectionUtils.isNotEmpty(ids)) {
+                List<InspectDataInfo> infos = monitorDao.inspectDataInfo(ids);
+                if (CollectionUtils.isNotEmpty(infos)) {
+                    Map<Integer, List<InspectDataInfo>> map = new HashMap<>();
+                    for (InspectDataInfo info : infos) {
+                        List<InspectDataInfo> tem = map.get(info.getStudentId());
+                        if (tem == null) {
+                            tem = new ArrayList<>();
+                            map.put(info.getStudentId(), tem);
+                        }
+                        tem.add(info);
+                    }
+                    for (InspectDataVo vo : ret) {
+                        vo.setExamInfo(map.get(vo.getDataId()));
+                    }
+                }
+            }
+        }
+        return ret;
+    }
+
 }

+ 24 - 1
src/main/resources/mapper/MonitorMapper.xml

@@ -48,7 +48,7 @@
 	</select>
 	
 	<select id="markingScoreData" resultType="cn.com.qmth.markingaudit.bean.MarkingScoreDataVo">
-		select t.id,t.name,t.exam_number cardNo,t.subjective_status
+		select t.id dataId,t.name,t.exam_number cardNo,t.subjective_status
 		from eb_exam_student t 
 		where t.exam_id=#{req.examId}
 		and t.subject_code=#{req.subjectCode}
@@ -84,4 +84,27 @@
 			#{item}
 		</foreach>
 	</select>
+	
+	<select id="inspectData" resultType="cn.com.qmth.markingaudit.bean.InspectDataVo">
+		select t.id dataId,t.name,t.exam_number cardNo
+		from eb_exam_student t 
+		where t.exam_id=#{req.examId}
+		and t.subject_code=#{req.subjectCode}
+		and t.id&gt;=#{req.startId}
+		order by t.id
+		limit #{req.pageSize}
+	</select>
+
+	<select id="inspectDataInfo" resultType="cn.com.qmth.markingaudit.bean.InspectDataInfo">
+		select t.student_id,t.inspect_time createTime,u.login_name id,u.name loginName
+		from eb_inspect_history t 
+		left join b_user u on t.inspector_id=u.id
+		where 1=1
+		and t.student_id in
+		<foreach collection="ids" item="item"
+			index="index" separator="," open="(" close=")">
+			#{item}
+		</foreach>
+		order by t.inspect_round
+	</select>
 </mapper>