|
@@ -1,6 +1,7 @@
|
|
|
package com.qmth.teachcloud.mark.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
@@ -791,24 +792,65 @@ public class MarkServiceImpl implements MarkService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public IPage<MarkTaskDto> getHistory(Long userId, int pageNumber, int pageSize, Sort sort, Long examId,
|
|
|
- String paperNumber, Integer groupNumber, String secretNumber, Double markerScore) {
|
|
|
- IPage<MarkTaskDto> list = markTaskService.listPageHistory(new Page<>(pageNumber, pageSize), sort, userId, examId, paperNumber, groupNumber, secretNumber, markerScore);
|
|
|
- for (MarkTaskDto dto : list.getRecords()) {
|
|
|
- }
|
|
|
- return list;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- @Override
|
|
|
- public MarkTaskDto getTask(Long userId, Long examId, String paperNumber) {
|
|
|
- // TODO Auto-generated method stub
|
|
|
- return null;
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public String saveTask(Long userId, MarkResult markResult) {
|
|
|
- // TODO Auto-generated method stub
|
|
|
- return null;
|
|
|
- }
|
|
|
+ public IPage<MarkTaskDto> getHistory(Long userId, int pageNumber, int pageSize, Sort sort, String order,
|
|
|
+ Long examId, String paperNumber, Integer groupNumber, String secretNumber, Double markerScore) {
|
|
|
+ if (!"markerTime".equals(order) && !"markerScore".equals(order)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("排序错误");
|
|
|
+ }
|
|
|
+ Page<MarkTaskDto> page = new Page<>(pageNumber, pageSize);
|
|
|
+ OrderItem orderItem = new OrderItem(order, sort.equals(Sort.asc));
|
|
|
+ page.addOrder(orderItem);
|
|
|
+ IPage<MarkTaskDto> list = markTaskService.listPageHistory(page, userId, examId, paperNumber, groupNumber,
|
|
|
+ secretNumber, markerScore);
|
|
|
+ for (MarkTaskDto dto : list.getRecords()) {
|
|
|
+ dto.setPrevious(true);
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public MarkTaskDto getTask(Long userId, Long examId, String paperNumber, Integer groupNumber) {
|
|
|
+ MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
|
|
|
+ if(markPaper == null ) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("评卷试卷不存在");
|
|
|
+ }
|
|
|
+ MarkGroup group = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(examId, paperNumber, groupNumber);
|
|
|
+ if (group == null) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("评卷大题不存在");
|
|
|
+ }
|
|
|
+ MarkTaskDto task = null;
|
|
|
+ List<MarkTaskDto> list = new ArrayList<MarkTaskDto>();
|
|
|
+ int pageNumber = 1;
|
|
|
+ while (task == null) {
|
|
|
+ if(markPaper.getOpenMarkClass()) {
|
|
|
+ list = markTaskService.findUnMarkedFilterClass(new Page<>(pageNumber, 20), examId, paperNumber, groupNumber, userId);
|
|
|
+ }else {
|
|
|
+ list = markTaskService.findUnMarked(new Page<>(pageNumber, 20), examId, paperNumber, groupNumber, userId);
|
|
|
+ }
|
|
|
+ if (list.isEmpty()) {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ for (MarkTaskDto t : list) {
|
|
|
+ if (this.applyLibrary(t, userId)) {
|
|
|
+ task = t;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (task == null) {
|
|
|
+ pageNumber++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return task;
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean applyLibrary(MarkTaskDto t, Long userId) {
|
|
|
+ // TODO Auto-generated method stub
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String saveTask(Long userId, MarkResult markResult) {
|
|
|
+ // TODO Auto-generated method stub
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|