|
@@ -138,6 +138,7 @@ public class MarkLogAop {
|
|
|
// Paper paper = JSONObject.parseObject(((JSONObject) jsonArgsArray.get(0)).toJSONString(), Paper.class);
|
|
|
JSONObject jsonObjectResult = (JSONObject) jsonArgsArray.get(0);
|
|
|
String paperIds = (String) jsonObjectResult.get("paperIds");
|
|
|
+ MarkStage stage = MarkStage.valueOf((String) jsonObjectResult.get("stage"));
|
|
|
if (paperIds.length() > 0) {
|
|
|
String[] ids = paperIds.split(",");
|
|
|
Date date = new Date();
|
|
@@ -146,27 +147,31 @@ public class MarkLogAop {
|
|
|
|
|
|
String action = null;
|
|
|
Integer operType = null;
|
|
|
+ String operName = null;
|
|
|
String originLevel = null;
|
|
|
if (Objects.nonNull(jsonObjectResult) && Objects.nonNull(jsonObjectResult.get(ACTION))) {
|
|
|
action = (String) jsonObjectResult.get(ACTION);
|
|
|
if (Objects.equals(SAMPLING, action)) {
|
|
|
//标准卷设置
|
|
|
operType = MarkLogOperType.CRITERION_PAPER_SET.getId();
|
|
|
+ operName = MarkLogOperType.CRITERION_PAPER_SET.getName();
|
|
|
paper.setOneClick(false);
|
|
|
} else if (Objects.equals(LEVELING, action)) {
|
|
|
//定档设置
|
|
|
operType = MarkLogOperType.ONE_CLICK_LEVEl.getId();
|
|
|
+ operName = MarkLogOperType.ONE_CLICK_LEVEl.getName();
|
|
|
//原始档位
|
|
|
originLevel = Objects.nonNull(jsonObjectResult.get("originLevel")) ? (String) jsonObjectResult.get("originLevel") : null;
|
|
|
paper.setOneClick(true);
|
|
|
} else if (Objects.equals(REJECT, action)) {
|
|
|
//档位打回设置
|
|
|
operType = MarkLogOperType.CALLBACK_LEVEl.getId();
|
|
|
+ operName = MarkLogOperType.CALLBACK_LEVEl.getName();
|
|
|
paper.setOneClick(false);
|
|
|
}
|
|
|
}
|
|
|
//标准卷设置、定档设置、档位打回start
|
|
|
- MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), operType, markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
+ MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), stage, operType, markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
String operResult = DEFAULT_RESULT;
|
|
|
if (Objects.nonNull(markLogPrev)) {
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse(DEFAULT_RESULT);
|
|
@@ -176,7 +181,7 @@ public class MarkLogAop {
|
|
|
operResult = originLevel;
|
|
|
}
|
|
|
Work work = workRepo.findOne(paper.getWorkId());
|
|
|
- MarkLog markLog = new MarkLog(paper.getWorkId(), work.getName(), paper.getId(), markUser.getSubject(), MarkStage.LEVEL, paper.getTest(), paper.getExamNumber(), paper.getStudentName(), markUser.getId(), markUser.getName(), markUser.getRole(), operType, operResult, String.valueOf(jsonObjectResult.get(LEVEL)), null, date);
|
|
|
+ MarkLog markLog = new MarkLog(paper.getWorkId(), work.getName(), paper.getId(), markUser.getSubject(), MarkStage.LEVEL, paper.getTest(), paper.getExamNumber(), paper.getStudentName(), markUser.getId(), markUser.getName(), markUser.getRole(), operType, operName, operResult, String.valueOf(jsonObjectResult.get(LEVEL)), null, date);
|
|
|
LOGGER.info("markLog:{}", JSONObject.toJSONString(markLog));
|
|
|
//标准卷设置、定档设置、档位打回end
|
|
|
markLogRepo.save(markLog);
|
|
@@ -228,6 +233,7 @@ public class MarkLogAop {
|
|
|
|
|
|
LOGGER.info("markTaskId:{},paper:{},jsonObjectResult:{}", markTaskId, paper, jsonObjectResult);
|
|
|
Integer operType = MarkLogOperType.LEVEL.getId();//分档,第一次为分档,之后为回评档位,档位打回后为档位打回回评
|
|
|
+ String operName = MarkLogOperType.LEVEL.getName();
|
|
|
//分档、打分、回评档位、回评分数、档位打回回评start
|
|
|
|
|
|
if (markStage.ordinal() == 1 && paper.isMarkByLeader()) {//分档,如果已经有科组长定档,则不允许评卷员再分档
|
|
@@ -235,58 +241,67 @@ public class MarkLogAop {
|
|
|
} else if ((markStage.ordinal() == 1 || markStage.ordinal() == 2) && oldRejected && !isRejected) {//档位打回回评
|
|
|
if (oldShift) {
|
|
|
operType = MarkLogOperType.CHANGE_LEVEL.getId();
|
|
|
+ operName = MarkLogOperType.CHANGE_LEVEL.getName();
|
|
|
} else {
|
|
|
operType = MarkLogOperType.CALLBACK_ONCE_LEVEL.getId();
|
|
|
+ operName = MarkLogOperType.CALLBACK_ONCE_LEVEL.getName();
|
|
|
}
|
|
|
} else if (markStage.ordinal() == 3) {//打分
|
|
|
if (oldShiftScore) {
|
|
|
operType = MarkLogOperType.CHANGE_SCORE.getId();
|
|
|
+ operName = MarkLogOperType.CHANGE_SCORE.getName();
|
|
|
} else {
|
|
|
operType = MarkLogOperType.SCORE.getId();
|
|
|
+ operName = MarkLogOperType.SCORE.getName();
|
|
|
}
|
|
|
}
|
|
|
//先查是否有档位或分数打回
|
|
|
String operResult = DEFAULT_RESULT;
|
|
|
if (markStage.ordinal() == 1) {//分档
|
|
|
//先查是否有档位打回回评的数据
|
|
|
- MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), MarkLogOperType.CALLBACK_ONCE_LEVEL.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
+ MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), markStage, MarkLogOperType.CALLBACK_ONCE_LEVEL.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
if (Objects.isNull(markLogPrev)) {//如果为null,则再查分档和回评档位
|
|
|
if (oldRejected && !isRejected) {//档位打回
|
|
|
if (oldShift) {
|
|
|
operType = MarkLogOperType.CHANGE_LEVEL.getId();
|
|
|
+ operName = MarkLogOperType.CHANGE_LEVEL.getName();
|
|
|
} else {
|
|
|
operType = MarkLogOperType.CALLBACK_ONCE_LEVEL.getId();
|
|
|
+ operName = MarkLogOperType.CALLBACK_ONCE_LEVEL.getName();
|
|
|
}
|
|
|
} else {
|
|
|
operType = selectOperType(markUser.getId(), MarkLogOperType.LEVEL.getId(), MarkLogOperType.ONCE_LEVEl.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
- markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), operType, markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
+ operName = MarkLogOperType.convertToName(operType);
|
|
|
+ markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), markStage, operType, markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
if (Objects.nonNull(markLogPrev)) {
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse(DEFAULT_RESULT);
|
|
|
} else {
|
|
|
if (operType != MarkLogOperType.LEVEL.getId()) {
|
|
|
- markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), MarkLogOperType.LEVEL.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
+ markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), markStage, MarkLogOperType.LEVEL.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse(DEFAULT_RESULT);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
operType = MarkLogOperType.CALLBACK_ONCE_LEVEL.getId();//档位打回
|
|
|
+ operName = MarkLogOperType.CALLBACK_ONCE_LEVEL.getName();//档位打回
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse(DEFAULT_RESULT);
|
|
|
}
|
|
|
} else if (markStage.ordinal() == 2 && !oldShiftScore) {//打分
|
|
|
operType = selectOperType(markUser.getId(), MarkLogOperType.SCORE.getId(), MarkLogOperType.ONCE_SCORE.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
- MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), operType, markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
+ operName = MarkLogOperType.convertToName(operType);
|
|
|
+ MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), markStage, operType, markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
if (Objects.nonNull(markLogPrev)) {
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse(DEFAULT_RESULT);
|
|
|
} else {
|
|
|
if (operType != MarkLogOperType.SCORE.getId()) {
|
|
|
- markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), MarkLogOperType.SCORE.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
+ markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(markUser.getId(), markStage, MarkLogOperType.SCORE.getId(), markUser.getSubject().toString(), paper.getExamNumber());
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse(DEFAULT_RESULT);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
Work work = workRepo.findOne(paper.getWorkId());
|
|
|
- MarkLog markLog = new MarkLog(paper.getWorkId(), work.getName(), paper.getId(), markUser.getSubject(), markStage, paper.getTest(), paper.getExamNumber(), paper.getStudentName(), markUser.getId(), markUser.getName(), markUser.getRole(), operType, operResult, String.valueOf(jsonObjectResult.get(RESULT)), null, new Date());
|
|
|
+ MarkLog markLog = new MarkLog(paper.getWorkId(), work.getName(), paper.getId(), markUser.getSubject(), markStage, paper.getTest(), paper.getExamNumber(), paper.getStudentName(), markUser.getId(), markUser.getName(), markUser.getRole(), operType, operName, operResult, String.valueOf(jsonObjectResult.get(RESULT)), null, new Date());
|
|
|
LOGGER.info("markLog:{}", JSONObject.toJSONString(markLog));
|
|
|
//分档、打分、回评档位、回评分数、档位打回、档位打回回评end
|
|
|
markLogRepo.save(markLog);
|
|
@@ -353,12 +368,12 @@ public class MarkLogAop {
|
|
|
m.setOriginLevel(m.getResult());
|
|
|
m.setResult(null);
|
|
|
m.setLevel(null);
|
|
|
- MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(m.getMarkerId(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), m.getSubject().toString(), paper.getExamNumber());
|
|
|
+ MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(m.getMarkerId(), m.getStage(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), m.getSubject().toString(), paper.getExamNumber());
|
|
|
if (Objects.nonNull(markLogPrev)) {
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse("-");
|
|
|
}
|
|
|
//加入打回日志
|
|
|
- MarkLog markLog = new MarkLog(paper.getWorkId(), workName, paper.getId(), m.getSubject(), m.getStage(), m.getTest(), paper.getExamNumber(), paper.getStudentName(), m.getMarkerId(), m.getMarkerName(), Role.MARKER, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), operResult, String.valueOf(d.getC()), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getName(), date);
|
|
|
+ MarkLog markLog = new MarkLog(paper.getWorkId(), workName, paper.getId(), m.getSubject(), m.getStage(), m.getTest(), paper.getExamNumber(), paper.getStudentName(), m.getMarkerId(), m.getMarkerName(), Role.MARKER, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getName(), operResult, String.valueOf(d.getC()), null, date);
|
|
|
markLogList.add(markLog);
|
|
|
}
|
|
|
}
|
|
@@ -417,12 +432,12 @@ public class MarkLogAop {
|
|
|
m.setOriginLevel(m.getResult());
|
|
|
m.setResult(null);
|
|
|
m.setLevel(null);
|
|
|
- MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(m.getMarkerId(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), m.getSubject().toString(), paper.getExamNumber());
|
|
|
+ MarkLog markLogPrev = markLogRepo.findTopByCreateUserIdAndStageAndOperTypeAndSubjectAndExamNumberOrderByCreateTimeDesc(m.getMarkerId(), m.getStage(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), m.getSubject().toString(), paper.getExamNumber());
|
|
|
if (Objects.nonNull(markLogPrev)) {
|
|
|
operResult = Optional.ofNullable(markLogPrev.getOperDataAfter()).orElse("-");
|
|
|
}
|
|
|
//加入打回日志
|
|
|
- MarkLog markLog = new MarkLog(paper.getWorkId(), workName, paper.getId(), m.getSubject(), m.getStage(), paper.getTest(), paper.getExamNumber(), paper.getStudentName(), m.getMarkerId(), m.getMarkerName(), Role.MARKER, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), operResult, String.valueOf(d.getC()), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getName(), date);
|
|
|
+ MarkLog markLog = new MarkLog(paper.getWorkId(), workName, paper.getId(), m.getSubject(), m.getStage(), paper.getTest(), paper.getExamNumber(), paper.getStudentName(), m.getMarkerId(), m.getMarkerName(), Role.MARKER, MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getId(), MarkLogOperType.SYSTEM_CALLBACK_LEVEl.getName(), operResult, String.valueOf(d.getC()), null, date);
|
|
|
markLogList.add(markLog);
|
|
|
}
|
|
|
}
|