|
@@ -1,8 +1,10 @@
|
|
|
package cn.com.qmth.stmms.ms.marking.api;
|
|
|
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.MarkLog;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.MarkStage;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.Paper;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.task.MarkTask;
|
|
|
+import cn.com.qmth.stmms.ms.core.repository.MarkLogRepo;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.MarkTaskRepo;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.PaperRepo;
|
|
|
import cn.com.qmth.stmms.ms.marking.assembler.PaperAssembler;
|
|
@@ -10,15 +12,13 @@ import cn.com.qmth.stmms.ms.marking.dto.PaperDTO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Optional;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* @author by xf
|
|
@@ -37,6 +37,9 @@ public class TaskApi {
|
|
|
@Autowired
|
|
|
private MarkTaskRepo markTaskRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private MarkLogRepo markLogRepo;
|
|
|
+
|
|
|
/**
|
|
|
* 任务管理查询
|
|
|
* @param workId
|
|
@@ -77,6 +80,8 @@ public class TaskApi {
|
|
|
.getContent().stream().findFirst();
|
|
|
if(taskOptional.isPresent()){
|
|
|
paperDTO = paperAssembler.toDTO(taskOptional.get().getPaper());
|
|
|
+ //设置为任务的密号
|
|
|
+ paperDTO.setSn(taskOptional.get().getSecretNumber());
|
|
|
}
|
|
|
}
|
|
|
return paperDTO;
|
|
@@ -86,32 +91,41 @@ public class TaskApi {
|
|
|
/**
|
|
|
* 重评
|
|
|
* @param paperId
|
|
|
- * @param ranges
|
|
|
+ * @param secretNumber
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Transactional
|
|
|
@RequestMapping("/reevaluation")
|
|
|
public boolean reevaluation(@RequestParam("paperId") Long paperId,
|
|
|
- @RequestParam("rangs") String ranges){
|
|
|
+ @RequestParam("secretNumber") String secretNumber){
|
|
|
Paper paper = paperRepo.findOne(paperId);
|
|
|
paper.reject(null);
|
|
|
//重评后撤销标准卷
|
|
|
// paper.setSample(false);
|
|
|
- List<MarkTask> markTasks = markTaskRepo.findByPaperIdAndStage(paper.getId(), MarkStage.LEVEL);
|
|
|
- for (MarkTask markTask : markTasks) {
|
|
|
- String[] range = ranges.split(",");
|
|
|
- if(range.length > 0){
|
|
|
- for (String r : range) {
|
|
|
- if(Objects.equals(String.valueOf(markTask.getMarkerId()), r)){
|
|
|
- markTask.setRejected(true);
|
|
|
- markTask.setOriginLevel(markTask.getResult());
|
|
|
- markTask.setResult(null);
|
|
|
-// markTask.setActive(false);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ MarkTask markTask = markTaskRepo.findByPaperIdAndSecretNumber(paperId, secretNumber);
|
|
|
+ if(markTask != null){
|
|
|
+ markTask.setRejected(true);
|
|
|
+ markTask.setOriginLevel(markTask.getResult());
|
|
|
+ markTask.setResult(null);
|
|
|
}
|
|
|
- markTaskRepo.save(markTasks);
|
|
|
+ markTaskRepo.save(markTask);
|
|
|
paperRepo.save(paper);
|
|
|
+
|
|
|
+ //记录日志
|
|
|
+ MarkLog markLog = new MarkLog();
|
|
|
+ markLog.setExamNumber(paper.getExamNumber());
|
|
|
+ markLog.setWorkId(paper.getWorkId());
|
|
|
+ markLog.setPaperId(paperId);
|
|
|
+ markLog.setSubject(paper.getSubject().toString());
|
|
|
+ markLog.setCreateRole("管理员");
|
|
|
+ markLog.setCreateTime(new Date());
|
|
|
+ markLog.setCreateUserId(0L);
|
|
|
+ markLog.setCreateUserName("admin-cy");
|
|
|
+ markLog.setOperType(5);
|
|
|
+ markLog.setStage(MarkStage.LEVEL);
|
|
|
+ markLog.setStudentName(paper.getStudentName());
|
|
|
+ markLogRepo.save(markLog);
|
|
|
+
|
|
|
return true;
|
|
|
}
|
|
|
|