|
@@ -1,5 +1,31 @@
|
|
package cn.com.qmth.scancentral.service.impl;
|
|
package cn.com.qmth.scancentral.service.impl;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.HashSet;
|
|
|
|
+import java.util.LinkedHashMap;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.Set;
|
|
|
|
+
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
+import org.apache.commons.lang.math.RandomUtils;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
+
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
+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.exception.StatusException;
|
|
|
|
+
|
|
import cn.com.qmth.scancentral.bean.BatchCreateDomain;
|
|
import cn.com.qmth.scancentral.bean.BatchCreateDomain;
|
|
import cn.com.qmth.scancentral.bean.BatchQueryDomain;
|
|
import cn.com.qmth.scancentral.bean.BatchQueryDomain;
|
|
import cn.com.qmth.scancentral.bean.User;
|
|
import cn.com.qmth.scancentral.bean.User;
|
|
@@ -7,15 +33,43 @@ import cn.com.qmth.scancentral.bean.WorkloadDomain;
|
|
import cn.com.qmth.scancentral.bean.answersave.AnswerDomain;
|
|
import cn.com.qmth.scancentral.bean.answersave.AnswerDomain;
|
|
import cn.com.qmth.scancentral.bean.answersave.AnswerPaper;
|
|
import cn.com.qmth.scancentral.bean.answersave.AnswerPaper;
|
|
import cn.com.qmth.scancentral.dao.BatchDao;
|
|
import cn.com.qmth.scancentral.dao.BatchDao;
|
|
-import cn.com.qmth.scancentral.entity.*;
|
|
|
|
-import cn.com.qmth.scancentral.enums.*;
|
|
|
|
|
|
+import cn.com.qmth.scancentral.entity.AnswerCardEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.BatchEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.BatchPaperEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.ExamEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.PaperEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.PaperPageEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.StudentEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.StudentPaperEntity;
|
|
|
|
+import cn.com.qmth.scancentral.entity.SubjectEntity;
|
|
|
|
+import cn.com.qmth.scancentral.enums.BatchStatus;
|
|
|
|
+import cn.com.qmth.scancentral.enums.CheckStatus;
|
|
|
|
+import cn.com.qmth.scancentral.enums.LockType;
|
|
|
|
+import cn.com.qmth.scancentral.enums.Role;
|
|
|
|
+import cn.com.qmth.scancentral.enums.VerifyStatus;
|
|
import cn.com.qmth.scancentral.exception.NotFoundExceptions;
|
|
import cn.com.qmth.scancentral.exception.NotFoundExceptions;
|
|
import cn.com.qmth.scancentral.exception.ParameterExceptions;
|
|
import cn.com.qmth.scancentral.exception.ParameterExceptions;
|
|
-import cn.com.qmth.scancentral.service.*;
|
|
|
|
|
|
+import cn.com.qmth.scancentral.service.AnswerCardService;
|
|
|
|
+import cn.com.qmth.scancentral.service.AnswerCardSubjectService;
|
|
|
|
+import cn.com.qmth.scancentral.service.AssignedCheckHistoryService;
|
|
|
|
+import cn.com.qmth.scancentral.service.BatchPaperService;
|
|
|
|
+import cn.com.qmth.scancentral.service.BatchService;
|
|
|
|
+import cn.com.qmth.scancentral.service.ExamService;
|
|
|
|
+import cn.com.qmth.scancentral.service.FilePropertyService;
|
|
|
|
+import cn.com.qmth.scancentral.service.FileService;
|
|
|
|
+import cn.com.qmth.scancentral.service.PaperPageService;
|
|
|
|
+import cn.com.qmth.scancentral.service.PaperService;
|
|
|
|
+import cn.com.qmth.scancentral.service.StudentService;
|
|
|
|
+import cn.com.qmth.scancentral.service.SubjectService;
|
|
import cn.com.qmth.scancentral.support.TaskLock;
|
|
import cn.com.qmth.scancentral.support.TaskLock;
|
|
import cn.com.qmth.scancentral.support.TaskLockUtil;
|
|
import cn.com.qmth.scancentral.support.TaskLockUtil;
|
|
import cn.com.qmth.scancentral.util.PageUtil;
|
|
import cn.com.qmth.scancentral.util.PageUtil;
|
|
-import cn.com.qmth.scancentral.vo.*;
|
|
|
|
|
|
+import cn.com.qmth.scancentral.vo.BatchFinishVo;
|
|
|
|
+import cn.com.qmth.scancentral.vo.BatchQueryVo;
|
|
|
|
+import cn.com.qmth.scancentral.vo.BatchVerifyVo;
|
|
|
|
+import cn.com.qmth.scancentral.vo.ScannerWorkloadVo;
|
|
|
|
+import cn.com.qmth.scancentral.vo.SheetUploadVo;
|
|
|
|
+import cn.com.qmth.scancentral.vo.SliceUploadVo;
|
|
import cn.com.qmth.scancentral.vo.batch.AnswerSaveVo;
|
|
import cn.com.qmth.scancentral.vo.batch.AnswerSaveVo;
|
|
import cn.com.qmth.scancentral.vo.batch.BatchCreateVo;
|
|
import cn.com.qmth.scancentral.vo.batch.BatchCreateVo;
|
|
import cn.com.qmth.scancentral.vo.batch.Paper;
|
|
import cn.com.qmth.scancentral.vo.batch.Paper;
|
|
@@ -28,24 +82,6 @@ import cn.com.qmth.scancentral.vo.paper.PaperVo;
|
|
import cn.com.qmth.scancentral.vo.task.TaskStatusVo;
|
|
import cn.com.qmth.scancentral.vo.task.TaskStatusVo;
|
|
import cn.com.qmth.scancentral.vo.verify.VerifyStudentVo;
|
|
import cn.com.qmth.scancentral.vo.verify.VerifyStudentVo;
|
|
import cn.com.qmth.scancentral.vo.verify.VerifyTaskVo;
|
|
import cn.com.qmth.scancentral.vo.verify.VerifyTaskVo;
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
-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.exception.StatusException;
|
|
|
|
-import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
-import org.apache.commons.lang.math.RandomUtils;
|
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
|
-
|
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> implements BatchService {
|
|
public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> implements BatchService {
|
|
@@ -113,7 +149,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
List<Rescan> rescan = new ArrayList<>();
|
|
List<Rescan> rescan = new ArrayList<>();
|
|
String packageCode = null;
|
|
String packageCode = null;
|
|
for (String examNumber : domain.getExamNumbers()) {
|
|
for (String examNumber : domain.getExamNumbers()) {
|
|
- StudentEntity student = studentService.findByExamIdAndExamNumber(domain.getExamId(), examNumber);
|
|
|
|
|
|
+ StudentEntity student = studentService.findByExamAndSubjectCodeAndStudentCode(domain.getExamId(),
|
|
|
|
+ domain.getSubjectCode(), examNumber);
|
|
if (student == null) {
|
|
if (student == null) {
|
|
throw new ParameterException("未找到考生信息:" + examNumber);
|
|
throw new ParameterException("未找到考生信息:" + examNumber);
|
|
}
|
|
}
|
|
@@ -138,7 +175,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
if (StringUtils.isBlank(domain.getSubjectCode())) {
|
|
if (StringUtils.isBlank(domain.getSubjectCode())) {
|
|
throw new ParameterException("整袋模式下科目代码不能为空");
|
|
throw new ParameterException("整袋模式下科目代码不能为空");
|
|
}
|
|
}
|
|
- List<StudentEntity> ss = studentService.findByExamAndPackage(domain.getExamId(), packageCode, domain.getSubjectCode());
|
|
|
|
|
|
+ List<StudentEntity> ss = studentService.findByExamAndPackage(domain.getExamId(), packageCode,
|
|
|
|
+ domain.getSubjectCode());
|
|
if (CollectionUtils.isEmpty(ss) || ss.size() != domain.getExamNumbers().size()) {
|
|
if (CollectionUtils.isEmpty(ss) || ss.size() != domain.getExamNumbers().size()) {
|
|
throw new ParameterException("该批次考生数量与卷袋考生数量不一致");
|
|
throw new ParameterException("该批次考生数量与卷袋考生数量不一致");
|
|
}
|
|
}
|
|
@@ -226,12 +264,11 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public SheetUploadVo sheetUpload(Long batchId, String examNumber, Integer paperNumber, Integer pageIndex,
|
|
public SheetUploadVo sheetUpload(Long batchId, String examNumber, Integer paperNumber, Integer pageIndex,
|
|
- MultipartFile multipartFile, String md5) {
|
|
|
|
|
|
+ MultipartFile multipartFile, String md5) {
|
|
BatchEntity batch = checkBatchStatus(getById(batchId));
|
|
BatchEntity batch = checkBatchStatus(getById(batchId));
|
|
try {
|
|
try {
|
|
- String path = fileService
|
|
|
|
- .uploadSheet(multipartFile.getInputStream(), md5, batch.getExamId(), batchId, examNumber,
|
|
|
|
- paperNumber, pageIndex);
|
|
|
|
|
|
+ String path = fileService.uploadSheet(multipartFile.getInputStream(), md5, batch.getExamId(), batchId,
|
|
|
|
+ examNumber, paperNumber, pageIndex);
|
|
filePropertyService.save(batch.getExamId(), path, md5, multipartFile.getSize());
|
|
filePropertyService.save(batch.getExamId(), path, md5, multipartFile.getSize());
|
|
return SheetUploadVo.create(path);
|
|
return SheetUploadVo.create(path);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -244,12 +281,11 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public SliceUploadVo sliceUpload(Long batchId, String examNumber, Integer paperNumber, Integer pageIndex,
|
|
public SliceUploadVo sliceUpload(Long batchId, String examNumber, Integer paperNumber, Integer pageIndex,
|
|
- Integer index, MultipartFile multipartFile, String md5) {
|
|
|
|
|
|
+ Integer index, MultipartFile multipartFile, String md5) {
|
|
BatchEntity batch = checkBatchStatus(getById(batchId));
|
|
BatchEntity batch = checkBatchStatus(getById(batchId));
|
|
try {
|
|
try {
|
|
- String path = fileService
|
|
|
|
- .uploadSlice(multipartFile.getInputStream(), md5, batch.getExamId(), batchId, examNumber,
|
|
|
|
- paperNumber, pageIndex, index);
|
|
|
|
|
|
+ String path = fileService.uploadSlice(multipartFile.getInputStream(), md5, batch.getExamId(), batchId,
|
|
|
|
+ examNumber, paperNumber, pageIndex, index);
|
|
filePropertyService.save(batch.getExamId(), path, md5, multipartFile.getSize());
|
|
filePropertyService.save(batch.getExamId(), path, md5, multipartFile.getSize());
|
|
return SliceUploadVo.create(path);
|
|
return SliceUploadVo.create(path);
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -268,7 +304,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
throw ParameterExceptions.EXAM_NOT_FOUND;
|
|
throw ParameterExceptions.EXAM_NOT_FOUND;
|
|
}
|
|
}
|
|
String examNumber = domain.getExamNumber();
|
|
String examNumber = domain.getExamNumber();
|
|
- StudentEntity student = studentService.findByExamIdAndExamNumber(batch.getExamId(), examNumber);
|
|
|
|
|
|
+ StudentEntity student = studentService.findByExamAndSubjectCodeAndStudentCode(batch.getExamId(),
|
|
|
|
+ domain.getSubjectCode(), examNumber);
|
|
if (student == null) {
|
|
if (student == null) {
|
|
throw new ParameterException("考生信息未找到");
|
|
throw new ParameterException("考生信息未找到");
|
|
}
|
|
}
|
|
@@ -283,7 +320,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 验证卡格式所属科目
|
|
// 验证卡格式所属科目
|
|
- boolean allowSubject = answerCardSubjectService.checkSubject(answerCard.getExamId(), answerCard.getNumber(), student.getSubjectCode());
|
|
|
|
|
|
+ boolean allowSubject = answerCardSubjectService.checkSubject(answerCard.getExamId(), answerCard.getNumber(),
|
|
|
|
+ student.getSubjectCode());
|
|
if (!allowSubject) {
|
|
if (!allowSubject) {
|
|
throw new ParameterException("卡格式与考生科目不一致");
|
|
throw new ParameterException("卡格式与考生科目不一致");
|
|
}
|
|
}
|
|
@@ -322,10 +360,11 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
studentAssigned = studentAssigned || paper.getAssigned();
|
|
studentAssigned = studentAssigned || paper.getAssigned();
|
|
}
|
|
}
|
|
// 更新批次统计数量,改到finish的时候更新
|
|
// 更新批次统计数量,改到finish的时候更新
|
|
-// updateAssignedCount(batch.getId());
|
|
|
|
-// updateScanCount(batch.getId());
|
|
|
|
|
|
+ // updateAssignedCount(batch.getId());
|
|
|
|
+ // updateScanCount(batch.getId());
|
|
// 不开启实时审核,或者没有人工绑定的情况下,或者当前批次无需审核,直接更新考生扫描状态
|
|
// 不开启实时审核,或者没有人工绑定的情况下,或者当前批次无需审核,直接更新考生扫描状态
|
|
- if (VerifyStatus.CANCEL.equals(batch.getVerifyStatus()) || exam.getEnableSyncVerify() == null || !exam.getEnableSyncVerify() || !studentAssigned) {
|
|
|
|
|
|
+ if (VerifyStatus.CANCEL.equals(batch.getVerifyStatus()) || exam.getEnableSyncVerify() == null
|
|
|
|
+ || !exam.getEnableSyncVerify() || !studentAssigned) {
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + student.getId()).writeLock().lock();
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + student.getId()).writeLock().lock();
|
|
try {
|
|
try {
|
|
studentService.updateStudentAndPaper(user, student.getId(), studentPaperList);
|
|
studentService.updateStudentAndPaper(user, student.getId(), studentPaperList);
|
|
@@ -340,8 +379,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
private PaperEntity findOrCreatePaper(BatchEntity batch, StudentEntity student, Integer paperNumber, User user) {
|
|
private PaperEntity findOrCreatePaper(BatchEntity batch, StudentEntity student, Integer paperNumber, User user) {
|
|
PaperEntity paper = null;
|
|
PaperEntity paper = null;
|
|
// 尝试重用已有paper对象
|
|
// 尝试重用已有paper对象
|
|
- BatchPaperEntity batchPaper = batchPaperService
|
|
|
|
- .findByBatchIdAndStudentIdAndPaperNumber(batch.getId(), student.getId(), paperNumber);
|
|
|
|
|
|
+ BatchPaperEntity batchPaper = batchPaperService.findByBatchIdAndStudentIdAndPaperNumber(batch.getId(),
|
|
|
|
+ student.getId(), paperNumber);
|
|
if (batchPaper != null) {
|
|
if (batchPaper != null) {
|
|
paper = paperService.getById(batchPaper.getPaperId());
|
|
paper = paperService.getById(batchPaper.getPaperId());
|
|
}
|
|
}
|
|
@@ -358,9 +397,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
List<BatchPaperEntity> batchPaperList = batchPaperService.findByBatchId(batchId);
|
|
List<BatchPaperEntity> batchPaperList = batchPaperService.findByBatchId(batchId);
|
|
Map<Long, List<StudentPaperEntity>> studentMap = new HashMap<>();
|
|
Map<Long, List<StudentPaperEntity>> studentMap = new HashMap<>();
|
|
for (BatchPaperEntity batchPaper : batchPaperList) {
|
|
for (BatchPaperEntity batchPaper : batchPaperList) {
|
|
- studentMap.computeIfAbsent(batchPaper.getStudentId(), key -> new ArrayList<>())
|
|
|
|
- .add(new StudentPaperEntity(batchPaper.getStudentId(), batchPaper.getPaperNumber(),
|
|
|
|
- batchPaper.getPaperId()));
|
|
|
|
|
|
+ studentMap.computeIfAbsent(batchPaper.getStudentId(), key -> new ArrayList<>()).add(new StudentPaperEntity(
|
|
|
|
+ batchPaper.getStudentId(), batchPaper.getPaperNumber(), batchPaper.getPaperId()));
|
|
}
|
|
}
|
|
for (Map.Entry<Long, List<StudentPaperEntity>> entry : studentMap.entrySet()) {
|
|
for (Map.Entry<Long, List<StudentPaperEntity>> entry : studentMap.entrySet()) {
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + entry.getKey()).writeLock().lock();
|
|
concurrentService.getReadWriteLock(LockType.STUDENT + "-" + entry.getKey()).writeLock().lock();
|
|
@@ -470,7 +508,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
|
|
|
private void checkStudentCount(BatchEntity entity) {
|
|
private void checkStudentCount(BatchEntity entity) {
|
|
List<BatchPaperEntity> papers = batchPaperService.findByBatchId(entity.getId());
|
|
List<BatchPaperEntity> papers = batchPaperService.findByBatchId(entity.getId());
|
|
- List<StudentEntity> students = studentService.findByExamAndPackage(entity.getExamId(), entity.getPackageCode(), entity.getSubjectCode());
|
|
|
|
|
|
+ List<StudentEntity> students = studentService.findByExamAndPackage(entity.getExamId(), entity.getPackageCode(),
|
|
|
|
+ entity.getSubjectCode());
|
|
if (CollectionUtils.isEmpty(papers) && CollectionUtils.isEmpty(students)) {
|
|
if (CollectionUtils.isEmpty(papers) && CollectionUtils.isEmpty(students)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -509,8 +548,8 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public PageResult<BatchQueryVo> batchQuery(BatchQueryDomain query) {
|
|
public PageResult<BatchQueryVo> batchQuery(BatchQueryDomain query) {
|
|
- IPage<BatchQueryVo> iPage = baseMapper
|
|
|
|
- .batchQueryPage(new Page<>(query.getPageNumber(), query.getPageSize()), query);
|
|
|
|
|
|
+ IPage<BatchQueryVo> iPage = baseMapper.batchQueryPage(new Page<>(query.getPageNumber(), query.getPageSize()),
|
|
|
|
+ query);
|
|
// TODO 需要后续补充incomplete逻辑
|
|
// TODO 需要后续补充incomplete逻辑
|
|
return PageUtil.of(iPage);
|
|
return PageUtil.of(iPage);
|
|
}
|
|
}
|
|
@@ -755,7 +794,7 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
lw.eq(BatchEntity::getExamId, examId);
|
|
lw.eq(BatchEntity::getExamId, examId);
|
|
lw.eq(BatchEntity::getCheckStatus, status);
|
|
lw.eq(BatchEntity::getCheckStatus, status);
|
|
lw.eq(BatchEntity::getStatus, BatchStatus.FINISH);
|
|
lw.eq(BatchEntity::getStatus, BatchStatus.FINISH);
|
|
- //审核员只统计自身已完成的数量
|
|
|
|
|
|
+ // 审核员只统计自身已完成的数量
|
|
if (status == CheckStatus.FINISH && user.getRole() == Role.AUDITOR) {
|
|
if (status == CheckStatus.FINISH && user.getRole() == Role.AUDITOR) {
|
|
lw.eq(BatchEntity::getCheckImageUserId, user.getId());
|
|
lw.eq(BatchEntity::getCheckImageUserId, user.getId());
|
|
}
|
|
}
|
|
@@ -770,7 +809,7 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public IPage<BatchEntity> findUnCheck(Long examId, int pageNumber, int pageSize, BatchStatus batchStatus,
|
|
public IPage<BatchEntity> findUnCheck(Long examId, int pageNumber, int pageSize, BatchStatus batchStatus,
|
|
- CheckStatus checkStatus) {
|
|
|
|
|
|
+ CheckStatus checkStatus) {
|
|
return this.baseMapper.findUnCheck(new Page<>(pageNumber, pageSize), examId, batchStatus, checkStatus);
|
|
return this.baseMapper.findUnCheck(new Page<>(pageNumber, pageSize), examId, batchStatus, checkStatus);
|
|
}
|
|
}
|
|
|
|
|