|
@@ -1,6 +1,7 @@
|
|
|
package cn.com.qmth.stmms.ms.marking.api;
|
|
|
|
|
|
import cn.com.qmth.stmms.ms.commons.config.ScoreConfig;
|
|
|
+import cn.com.qmth.stmms.ms.commons.utils.SqlUtil;
|
|
|
import cn.com.qmth.stmms.ms.commons.web.PageableDTO;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.ExamQuestion;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.MarkStage;
|
|
@@ -12,6 +13,7 @@ import cn.com.qmth.stmms.ms.core.repository.*;
|
|
|
import cn.com.qmth.stmms.ms.marking.assembler.MarkTaskAssembler;
|
|
|
import cn.com.qmth.stmms.ms.marking.dto.MarkTaskDTO;
|
|
|
import cn.com.qmth.stmms.ms.marking.service.MarkingService;
|
|
|
+import com.google.gson.Gson;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -58,6 +60,9 @@ public class MarkTaskApi {
|
|
|
@Autowired
|
|
|
LevelRepo levelRepo;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ SqlUtil sqlUtil;
|
|
|
+
|
|
|
/**
|
|
|
* 评卷员的评卷任务
|
|
|
*
|
|
@@ -92,13 +97,6 @@ public class MarkTaskApi {
|
|
|
predicates.add(builder.equal(root.get("paper").get("batchNo"), batchNo));
|
|
|
}
|
|
|
} else if (stage == MarkStage.SCORE) {
|
|
|
- //查询
|
|
|
-// if (Objects.nonNull(scoreConfig) && scoreConfig.isEnable()) {
|
|
|
-// Long batchNo = markTaskRepo.findByQuestionId(questionId);
|
|
|
-// if (!Objects.isNull(batchNo)) {
|
|
|
-// predicates.add(builder.equal(root.get("batchNo"), batchNo));
|
|
|
-// }
|
|
|
-// }
|
|
|
predicates.add(builder.isNotNull(root.get("result")));
|
|
|
}
|
|
|
if (isSample != null) {
|
|
@@ -115,10 +113,15 @@ public class MarkTaskApi {
|
|
|
if (Objects.nonNull(isSample) && isSample) {
|
|
|
ExamQuestion examQuestion = examQuestionRepo.findOne(questionId);
|
|
|
if (examQuestion.getTest() == TrialEnum.DEFAULT.getId()) {
|
|
|
- List<Paper> paperList = paperRepo.findByLevelAndIsSampleAndIsMissingAndSubjectAndTestAndAreaCodeAndWorkIdOrderByUpdatedOnDesc(level, isSample, false, examQuestion.getSubject(), TrialEnum.START_FORMAL.getId(), examQuestion.getAreaCode(), examQuestion.getWorkId());
|
|
|
+ String sql = "select p.id, p.work_id as workId, p.secret_number as secretNumber, p.idx, p.student_name as studentName, p.exam_number as examNumber, p.subject, p.question_id as questionId, p.area_code as areaCode, p.question_name as questionName, p.level, p.redo_level as redoLevel, p.score, p.inspect_score as inspectScore, p.inspect_level as inspectLevel, p.inspector, p.is_arbitrated as isArbitrated, p.is_rejected as isRejected, p.mark_by_leader as markByLeader, p.marked_logic as markedLogic, p.updated_on as updatedOn, p.is_manual as isManual, p.uploaded_on as uploadedOn, p.uploaded_count as uploadedCount, p.is_tagged as isTagged, p.is_sample as isSample, p.inspect_range as inspectRange, p.source_name as sourceName, p.sheet_md5 as sheetMD5, p.slice_md5 as sliceMD5, p.is_missing as isMissing, p.random_seq as randomSeq, p.exam_room as examRoom, p.is_test as test, p.is_active as active, p.batch_no as batchNo from paper p where p.`level` = ? and p.`is_sample` = ? and p.`is_missing` = ? and p.`subject` = ? and (p.`is_test` = ? or p.`is_test` = ?) and p.`area_code` = ? and p.`work_id` = ? order by p.`updated_on` desc";
|
|
|
+ sql = sqlUtil.sqlPrint(sql, "'" + level + "'", isSample, false, "'" + examQuestion.getSubject() + "'", TrialEnum.DEFAULT.getId(), TrialEnum.START_FORMAL.getId(), "'" + examQuestion.getAreaCode() + "'", examQuestion.getWorkId());
|
|
|
+ List paperList = sqlUtil.execSqlForMap(sql);
|
|
|
if (Objects.nonNull(paperList) && paperList.size() > 0) {
|
|
|
MarkUser markUser = markUserRepo.findOne(markerId);
|
|
|
- for (Paper p : paperList) {
|
|
|
+ Gson gson = new Gson();
|
|
|
+ for (int i = 0; i < paperList.size(); i++) {
|
|
|
+ Map map = (Map) paperList.get(i);
|
|
|
+ Paper p = gson.fromJson(gson.toJson(map), Paper.class);
|
|
|
MarkTask markTask = new MarkTask(markUser, p, stage, 1L);
|
|
|
markTaskDTOs.add(markTaskAssembler.toDTO(markTask));
|
|
|
}
|