소스 검색

审核员概览、实时审核

yin 9 달 전
부모
커밋
6b9894835c

+ 11 - 25
src/main/java/cn/com/qmth/scancentral/controller/admin/AuditorController.java

@@ -1,10 +1,8 @@
 package cn.com.qmth.scancentral.controller.admin;
 
-import java.util.List;
-
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -13,10 +11,9 @@ import com.qmth.boot.api.constant.ApiConstant;
 
 import cn.com.qmth.scancentral.bean.User;
 import cn.com.qmth.scancentral.controller.BaseController;
-import cn.com.qmth.scancentral.service.UserService;
-import cn.com.qmth.scancentral.vo.AuditorVo;
-import cn.com.qmth.scancentral.vo.CreateCountVo;
-import cn.com.qmth.scancentral.vo.UpdateCountVo;
+import cn.com.qmth.scancentral.service.BatchService;
+import cn.com.qmth.scancentral.service.ExamService;
+import cn.com.qmth.scancentral.vo.auditor.AuditorOverview;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -27,27 +24,16 @@ import io.swagger.annotations.ApiOperation;
 public class AuditorController extends BaseController {
 
     @Autowired
-    private UserService userService;
-
-    @ApiOperation(value = "审核员列表")
-    @PostMapping("list")
-    public List<AuditorVo> list() {
-        User user = getAccessUser();
-        return userService.findAuditor();
-    }
+    private ExamService examService;
 
-    @ApiOperation(value = "审核员修改密码")
-    @PostMapping("password")
-    public UpdateCountVo password(@RequestParam List<Long> id, @RequestParam String password) {
-        return userService.updatePassword(id, password);
-    }
+    @Autowired
+    private BatchService batchService;
 
-    @ApiOperation(value = "批量创建审核员")
-    @PostMapping("create")
-    public CreateCountVo create(@RequestParam String prefix, @RequestParam Integer count,
-            @RequestParam String password) {
+    @ApiOperation(value = "考试概览数据")
+    @RequestMapping(value = "/overview", method = RequestMethod.POST)
+    public AuditorOverview overview(@RequestParam Long examId) {
         User user = getAccessUser();
-        return userService.create(prefix, count, password);
+        return examService.getAuditorOverview(examId, user);
     }
 
 }

+ 2 - 6
src/main/java/cn/com/qmth/scancentral/controller/admin/CheckImageController.java

@@ -1,11 +1,7 @@
 package cn.com.qmth.scancentral.controller.admin;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
@@ -23,7 +19,7 @@ import io.swagger.annotations.ApiOperation;
 
 @RestController
 @Api(tags = "图片审核接口")
-@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/admin/check/image")
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/admin/auditor/check/image")
 @Aac(strict = false, auth = true)
 public class CheckImageController extends BaseController {
 

+ 7 - 4
src/main/java/cn/com/qmth/scancentral/service/ExamService.java

@@ -1,20 +1,22 @@
 package cn.com.qmth.scancentral.service;
 
+import java.util.List;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.boot.core.collection.PageResult;
+
 import cn.com.qmth.scancentral.bean.ImportExamDomain;
 import cn.com.qmth.scancentral.bean.User;
 import cn.com.qmth.scancentral.entity.ExamEntity;
 import cn.com.qmth.scancentral.vo.ExamConfigVo;
 import cn.com.qmth.scancentral.vo.ExamVo;
+import cn.com.qmth.scancentral.vo.auditor.AuditorOverview;
 import cn.com.qmth.scancentral.vo.checkimage.RatioVo;
 import cn.com.qmth.scancentral.vo.examinfo.ExamEdit;
 import cn.com.qmth.scancentral.vo.examinfo.ExamOverview;
 import cn.com.qmth.scancentral.vo.examinfo.ExamQuery;
 import cn.com.qmth.scancentral.vo.scanexaminfo.ScanExamInfoVo;
 import cn.com.qmth.scancentral.vo.scanexamlist.ScanExamListVo;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.boot.core.collection.PageResult;
-
-import java.util.List;
 
 public interface ExamService extends IService<ExamEntity> {
 
@@ -46,4 +48,5 @@ public interface ExamService extends IService<ExamEntity> {
 
     ExamEntity updateEnableSyncVerify(User user, Long examId, Boolean enableSyncVerify);
 
+    AuditorOverview getAuditorOverview(Long examId, User user);
 }

+ 44 - 18
src/main/java/cn/com/qmth/scancentral/service/impl/ExamServiceImpl.java

@@ -1,5 +1,25 @@
 package cn.com.qmth.scancentral.service.impl;
 
+import java.util.List;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.boot.core.collection.PageResult;
+import com.qmth.boot.core.concurrent.service.ConcurrentService;
+import com.qmth.boot.core.exception.ParameterException;
+import com.qmth.boot.core.security.exception.AuthorizationException;
+
 import cn.com.qmth.scancentral.bean.ImportExamDomain;
 import cn.com.qmth.scancentral.bean.User;
 import cn.com.qmth.scancentral.dao.ExamDao;
@@ -13,6 +33,7 @@ import cn.com.qmth.scancentral.util.MathUtil;
 import cn.com.qmth.scancentral.util.PageUtil;
 import cn.com.qmth.scancentral.vo.ExamConfigVo;
 import cn.com.qmth.scancentral.vo.ExamVo;
+import cn.com.qmth.scancentral.vo.auditor.AuditorOverview;
 import cn.com.qmth.scancentral.vo.checkimage.RatioVo;
 import cn.com.qmth.scancentral.vo.examinfo.ExamEdit;
 import cn.com.qmth.scancentral.vo.examinfo.ExamOverview;
@@ -21,24 +42,6 @@ import cn.com.qmth.scancentral.vo.omr.OmrTaskOverview;
 import cn.com.qmth.scancentral.vo.scanexaminfo.ScanExamInfoVo;
 import cn.com.qmth.scancentral.vo.scanexamlist.ScanExamListQuery;
 import cn.com.qmth.scancentral.vo.scanexamlist.ScanExamListVo;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.boot.core.collection.PageResult;
-import com.qmth.boot.core.concurrent.service.ConcurrentService;
-import com.qmth.boot.core.exception.ParameterException;
-import com.qmth.boot.core.security.exception.AuthorizationException;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
 
 @Service
 public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements ExamService {
@@ -454,4 +457,27 @@ public class ExamServiceImpl extends ServiceImpl<ExamDao, ExamEntity> implements
         return exam;
     }
 
+    @Override
+    public AuditorOverview getAuditorOverview(Long examId, User user) {
+        if(!user.getRole().equals(Role.AUDITOR)){
+            throw new ParameterException("user 不是审核员");
+        }
+        ExamEntity exam = this.getById(examId);
+        if (exam == null) {
+            throw ParameterExceptions.EXAM_NOT_FOUND;
+        }
+        AuditorOverview vo = new AuditorOverview();
+        vo.setId(examId);
+        vo.setName(exam.getName());
+
+        vo.getVerifyTask().setTodoCount(batchService.getVerifyCount(examId));
+
+        vo.getImageCheckTask().setCheckRatio(exam.getImageCheckRatio());
+        vo.getImageCheckTask().setFinishCount(batchService.getCheckCountByExamId(examId, CheckStatus.FINISH, user));
+        vo.getImageCheckTask().setTodoCount(batchService.getCheckCountByExamId(examId, CheckStatus.WAITING, user));
+
+        vo.getAssignedCheck().setTodoCount(studentService.getCountByExamAndAssignedCheckCount(examId, 0, OP.EQ));
+        return vo;
+    }
+
 }

+ 14 - 0
src/main/java/cn/com/qmth/scancentral/vo/auditor/AuditorAssignedCheck.java

@@ -0,0 +1,14 @@
+package cn.com.qmth.scancentral.vo.auditor;
+
+public class AuditorAssignedCheck {
+
+    private int todoCount;
+
+    public int getTodoCount() {
+        return todoCount;
+    }
+
+    public void setTodoCount(int todoCount) {
+        this.todoCount = todoCount;
+    }
+}

+ 61 - 0
src/main/java/cn/com/qmth/scancentral/vo/auditor/AuditorOverview.java

@@ -0,0 +1,61 @@
+package cn.com.qmth.scancentral.vo.auditor;
+
+public class AuditorOverview {
+
+    private Long id;
+
+    private String name;
+
+    private VerifyTask verifyTask;
+
+    private ImageCheckTask imageCheckTask;
+
+    private AuditorAssignedCheck assignedCheck;
+
+    public AuditorOverview() {
+        verifyTask = new VerifyTask();
+        imageCheckTask = new ImageCheckTask();
+        assignedCheck = new AuditorAssignedCheck();
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public VerifyTask getVerifyTask() {
+        return verifyTask;
+    }
+
+    public void setVerifyTask(VerifyTask verifyTask) {
+        this.verifyTask = verifyTask;
+    }
+
+    public ImageCheckTask getImageCheckTask() {
+        return imageCheckTask;
+    }
+
+    public void setImageCheckTask(ImageCheckTask imageCheckTask) {
+        this.imageCheckTask = imageCheckTask;
+    }
+
+    public AuditorAssignedCheck getAssignedCheck() {
+        return assignedCheck;
+    }
+
+    public void setAssignedCheck(AuditorAssignedCheck assignedCheck) {
+        this.assignedCheck = assignedCheck;
+    }
+
+}

+ 35 - 0
src/main/java/cn/com/qmth/scancentral/vo/auditor/ImageCheckTask.java

@@ -0,0 +1,35 @@
+package cn.com.qmth.scancentral.vo.auditor;
+
+public class ImageCheckTask {
+
+    private Double checkRatio;
+
+    private int todoCount;
+
+    private int finishCount;
+
+    public int getTodoCount() {
+        return todoCount;
+    }
+
+    public void setTodoCount(int todoCount) {
+        this.todoCount = todoCount;
+    }
+
+    public Double getCheckRatio() {
+        return checkRatio;
+    }
+
+    public void setCheckRatio(Double checkRatio) {
+        this.checkRatio = checkRatio;
+    }
+
+    public int getFinishCount() {
+        return finishCount;
+    }
+
+    public void setFinishCount(int finishCount) {
+        this.finishCount = finishCount;
+    }
+
+}

+ 1 - 1
src/main/java/cn/com/qmth/scancentral/vo/examinfo/VerifyTask.java → src/main/java/cn/com/qmth/scancentral/vo/auditor/VerifyTask.java

@@ -1,4 +1,4 @@
-package cn.com.qmth.scancentral.vo.examinfo;
+package cn.com.qmth.scancentral.vo.auditor;
 
 public class VerifyTask {