|
@@ -6,6 +6,8 @@ import cn.com.qmth.stmms.ms.commons.constant.SystemConstant;
|
|
|
import cn.com.qmth.stmms.ms.commons.utils.MD5Util;
|
|
|
import cn.com.qmth.stmms.ms.core.cache.ParamCache;
|
|
|
import cn.com.qmth.stmms.ms.core.domain.*;
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.task.MarkTaskLevel;
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.task.MarkTaskRoughLevel;
|
|
|
import cn.com.qmth.stmms.ms.core.repository.*;
|
|
|
import cn.com.qmth.stmms.ms.marking.dto.PaperDTO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -20,6 +22,9 @@ import java.util.Objects;
|
|
|
@Component
|
|
|
public class PaperAssembler {
|
|
|
|
|
|
+ @Resource
|
|
|
+ private MarkTaskRoughLevelRepo markTaskRoughLevelRepo;
|
|
|
+
|
|
|
@Resource
|
|
|
private MarkTaskLevelRepo markTaskLevelRepo;
|
|
|
|
|
@@ -117,6 +122,97 @@ public class PaperAssembler {
|
|
|
return paperDTO;
|
|
|
}
|
|
|
|
|
|
+ public PaperDTO toDTO(Paper paper, Long userId) {
|
|
|
+
|
|
|
+ String imgSrc = null;
|
|
|
+ String thumbSrc = null;
|
|
|
+ String sheetSrc = null;
|
|
|
+ PaperDTO paperDTO = null;
|
|
|
+ if (paper != null) {
|
|
|
+ String fileName = paper.getExamNumber();
|
|
|
+ Student student = studentRepo.findByWorkIdAndExamNumber(paper.getWorkId(), paper.getExamNumber());
|
|
|
+ //0:随机码 1:考号
|
|
|
+ if (ParamCache.collectConfigMap.get(String.valueOf(paper.getWorkId())).getNameRule() == 1) {
|
|
|
+ fileName = MD5Util.getImageRuleMd5(paper.getWorkId(), paper.getSubject().ordinal(), student.getAreaCode(), student.getExamNumber(), student.getId());
|
|
|
+ }
|
|
|
+ if (ParamCache.collectConfigMap.get(String.valueOf(paper.getWorkId())).getImageEncrypt() == 1) {
|
|
|
+ imgSrc = systemConfig.getImageUrl(paper.getWorkId(), paper.getSubject().ordinal(), student.getId(), SystemConstant.IMAGE);
|
|
|
+ thumbSrc = systemConfig.getThumbUrl(paper.getWorkId(), paper.getSubject().ordinal(), student.getId(), SystemConstant.THUMB);
|
|
|
+ sheetSrc = systemConfig.getSheetUrl(paper.getWorkId(), paper.getSubject().ordinal(), student.getId(), SystemConstant.SHEET);
|
|
|
+ } else {
|
|
|
+ imgSrc = systemConfig.getImageUrl(paper.getWorkId(), paper.getSubject().toString(), paper.getAreaCode(), fileName);
|
|
|
+ thumbSrc = systemConfig.getThumbUrl(paper.getWorkId(), paper.getSubject().toString(), paper.getAreaCode(), fileName);
|
|
|
+ sheetSrc = systemConfig.getSheetUrl(paper.getWorkId(), paper.getSubject().toString(), paper.getAreaCode(), fileName);
|
|
|
+ }
|
|
|
+ //查询阶段
|
|
|
+ MarkSubject markSubject = markSubjectRepo.findOne(paper.getWorkId() + "-" + paper.getSubject());
|
|
|
+ paperDTO = new PaperDTO();
|
|
|
+ if (MarkStage.ROUGH_LEVEL.equals(markSubject.getStage())) {
|
|
|
+ // 评卷员页岩标准卷密号与任务一致
|
|
|
+ if (userId == null) {
|
|
|
+ paperDTO.setSn(paper.getSecretNumber());
|
|
|
+ } else {
|
|
|
+ MarkTaskRoughLevel markTaskRoughLevel = markTaskRoughLevelRepo.findByPaperIdAndMarkerId(paper.getId(), userId);
|
|
|
+ paperDTO.setSn(markTaskRoughLevel == null ? paper.getSecretNumber() : markTaskRoughLevel.getSecretNumber());
|
|
|
+ }
|
|
|
+ } else if (MarkStage.LEVEL.equals(markSubject.getStage())) {
|
|
|
+ if (userId == null) {
|
|
|
+ paperDTO.setSn(paper.getSecretNumber());
|
|
|
+ } else {
|
|
|
+ MarkTaskLevel markTaskLevel = markTaskLevelRepo.findByPaperIdAndMarkerId(paper.getId(), userId);
|
|
|
+ paperDTO.setSn(markTaskLevel == null ? paper.getSecretNumber() : markTaskLevel.getSecretNumber());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ paperDTO.setId(paper.getId());
|
|
|
+ paperDTO.setPaperId(paper.getId());
|
|
|
+ paperDTO.setSubjectName(paper.getSubject().getName());
|
|
|
+ paperDTO.setExamNumber(paper.getExamNumber());
|
|
|
+ paperDTO.setSecretNumber(paper.getSecretNumber());
|
|
|
+ paperDTO.setLevel(paper.getLevel());
|
|
|
+ paperDTO.setRoughLevel(paper.getRoughLevel());
|
|
|
+ paperDTO.setManual(paper.isManual());
|
|
|
+ paperDTO.setScore(Objects.isNull(paper.getScore()) ? null : paper.getScore().intValue());
|
|
|
+ paperDTO.setArbitrated(paper.isArbitrated());
|
|
|
+ paperDTO.setRejected(paper.isRejected());
|
|
|
+ paperDTO.setSample(paper.isSample());
|
|
|
+ paperDTO.setRoughSample(paper.isRoughSample());
|
|
|
+ paperDTO.setMarkByLeader(paper.isMarkByLeader());
|
|
|
+ paperDTO.setTagged(paper.isTagged());
|
|
|
+ paperDTO.setMarkedLogic(paper.isMarkedLogic());
|
|
|
+ paperDTO.setRedoLevel(paper.getRedoLevel());
|
|
|
+ paperDTO.setUpdatedOn(paper.getUpdatedOn());
|
|
|
+ paperDTO.setImgSrc(imgSrc);
|
|
|
+ paperDTO.setThumbSrc(thumbSrc);
|
|
|
+ paperDTO.setSheetSrc(sheetSrc);
|
|
|
+ paperDTO.setAreaCode(paper.getAreaCode());
|
|
|
+ paperDTO.setMissing(paper.getIsMissing());
|
|
|
+ if (paper.getInspectScore() != null) {
|
|
|
+ paperDTO.setInspectScore(paper.getInspectScore().intValue());
|
|
|
+ }
|
|
|
+ if (paper.getInspectLevel() != null) {
|
|
|
+ paperDTO.setInspectLevel(paper.getInspectLevel());
|
|
|
+ }
|
|
|
+ paperDTO.setStage(markSubject.getStage());
|
|
|
+ paperDTO.setTest(markSubject.getTest());
|
|
|
+ paperDTO.setPaperTest(paper.getTest());
|
|
|
+ paperDTO.setShift(paper.isShift());
|
|
|
+ paperDTO.setShiftScore(paper.isShiftScore());
|
|
|
+ paperDTO.setRoughOneClick(paper.isRoughOneClick());
|
|
|
+ paperDTO.setOneClick(paper.isOneClick());
|
|
|
+ paperDTO.setIsRejectedByLeader(paper.isRejectedByLeader() != null && paper.isRejectedByLeader());
|
|
|
+ paperDTO.setScanUserId(paper.getScanUserId());
|
|
|
+ paperDTO.setMark(paper.isMark());
|
|
|
+ paperDTO.setAdminMark(paper.isAdminMark());
|
|
|
+ //打回总次数
|
|
|
+ int rejectedCount = markLogRepo.countByWorkIdAndPaperIdAndOperType(paper.getWorkId(), paper.getId(), MarkLogOperType.CALLBACK_LEVEl.getId());
|
|
|
+ paperDTO.setRejectedCount(rejectedCount);
|
|
|
+ paperDTO.setSortSum(paper.getSortNum());
|
|
|
+ ChangeLevel changeLevel = changeLevelRepo.findByWorkIdAndSubjectAndPaperIdAndAuditStatusAndStageAndIsCurr(paper.getWorkId(), paper.getSubject().name(), markSubject.getStage(), paper.getId());
|
|
|
+ paperDTO.setOriginLevel(changeLevel != null ? changeLevel.getOriginalLevel() : "");
|
|
|
+ }
|
|
|
+ return paperDTO;
|
|
|
+ }
|
|
|
+
|
|
|
public PaperDTO toDTOForPaperManager(Paper paper, Boolean isManual) {
|
|
|
String imgSrc = null;
|
|
|
String thumbSrc = null;
|