|
|
@@ -33,6 +33,7 @@ import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* mmse测评表服务实现类
|
|
|
@@ -77,6 +78,7 @@ public class ReviewServiceImpl extends ServiceImpl<ReviewMapper, Review> impleme
|
|
|
@Override
|
|
|
public void saveReviewRecord(List<ReviewRecord> list) {
|
|
|
AppCurrentLoginUser appCurrentLoginUser = tokenUtil.getAppCurrentLoginUser();
|
|
|
+ Map<Long,ReviewRecord> map = list.stream().collect(Collectors.toMap(ReviewRecord::getReviewId, record -> record, (existing, replacement) -> existing));
|
|
|
for (ReviewRecord reviewRecord : list) {
|
|
|
//根据测评任务id 判断是否有测评过,有测评过直接返回异常
|
|
|
String reviewTaskId = reviewRecord.getReviewTaskId();
|
|
|
@@ -87,9 +89,7 @@ public class ReviewServiceImpl extends ServiceImpl<ReviewMapper, Review> impleme
|
|
|
if(aLong > 0){
|
|
|
throw new RuntimeException("您已提交测评申请,请勿重复提交!");
|
|
|
}
|
|
|
-
|
|
|
- log.info("getReviewAnswer:"+reviewRecord.getReviewAnswer());
|
|
|
- reviewRecord = judgmentCorrect(reviewRecord);
|
|
|
+ reviewRecord = judgmentCorrect(reviewRecord,map);
|
|
|
reviewRecord.setUserId(appCurrentLoginUser.getId());
|
|
|
reviewRecord.setCreateBy(appCurrentLoginUser.getUsername());
|
|
|
reviewRecord.setCreateTime(new Date());
|
|
|
@@ -398,7 +398,7 @@ public class ReviewServiceImpl extends ServiceImpl<ReviewMapper, Review> impleme
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
- private static ReviewRecord judgmentCorrect(ReviewRecord reviewRecord) {
|
|
|
+ private static ReviewRecord judgmentCorrect(ReviewRecord reviewRecord,Map<Long,ReviewRecord> map) {
|
|
|
if(reviewRecord.getReviewId() != null){
|
|
|
if(reviewRecord.getReviewId() == 1 || reviewRecord.getReviewId() == 72 || reviewRecord.getReviewId() == 86){
|
|
|
String reviewAnswer = reviewRecord.getReviewAnswer();//获取当前答案
|
|
|
@@ -519,28 +519,55 @@ public class ReviewServiceImpl extends ServiceImpl<ReviewMapper, Review> impleme
|
|
|
reviewRecord.setScore("0");
|
|
|
}
|
|
|
} else if (reviewRecord.getReviewId() == 15|| reviewRecord.getReviewId() == 53) {
|
|
|
- if (reviewRecord.getReviewAnswer().equals("86")) {
|
|
|
+ Integer reviewAnswer = 0;
|
|
|
+ if (reviewRecord.getReviewId() == 15){
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(14L).getReviewAnswer()) -7;
|
|
|
+ }else {
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(52L).getReviewAnswer()) -7;
|
|
|
+ }
|
|
|
+ if (reviewRecord.getReviewAnswer().equals(reviewAnswer.toString())) {
|
|
|
reviewRecord.setCorrect("1");//0错误,1正确
|
|
|
} else {
|
|
|
reviewRecord.setCorrect("0");//0错误,1正确
|
|
|
reviewRecord.setScore("0");
|
|
|
}
|
|
|
} else if (reviewRecord.getReviewId() == 16|| reviewRecord.getReviewId() == 54) {
|
|
|
- if (reviewRecord.getReviewAnswer().equals("79")) {
|
|
|
+ Integer reviewAnswer = 0;
|
|
|
+ if (reviewRecord.getReviewId() == 16){
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(15L).getReviewAnswer()) -7;
|
|
|
+ }else {
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(53L).getReviewAnswer()) -7;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (reviewRecord.getReviewAnswer().equals(reviewAnswer.toString())) {
|
|
|
reviewRecord.setCorrect("1");//0错误,1正确
|
|
|
} else {
|
|
|
reviewRecord.setCorrect("0");//0错误,1正确
|
|
|
reviewRecord.setScore("0");
|
|
|
}
|
|
|
} else if (reviewRecord.getReviewId() == 17|| reviewRecord.getReviewId() == 55) {
|
|
|
- if (reviewRecord.getReviewAnswer().equals("72")) {
|
|
|
+ Integer reviewAnswer = 0;
|
|
|
+ if (reviewRecord.getReviewId() == 17){
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(16L).getReviewAnswer()) -7;
|
|
|
+ }else {
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(54L).getReviewAnswer()) -7;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (reviewRecord.getReviewAnswer().equals(reviewAnswer.toString())) {
|
|
|
reviewRecord.setCorrect("1");//0错误,1正确
|
|
|
} else {
|
|
|
reviewRecord.setCorrect("0");//0错误,1正确
|
|
|
reviewRecord.setScore("0");
|
|
|
}
|
|
|
} else if (reviewRecord.getReviewId() == 18|| reviewRecord.getReviewId() == 56) {
|
|
|
- if (reviewRecord.getReviewAnswer().equals("65")) {
|
|
|
+ Integer reviewAnswer = 0;
|
|
|
+ if (reviewRecord.getReviewId() == 18){
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(17L).getReviewAnswer()) -7;
|
|
|
+ }else {
|
|
|
+ reviewAnswer = Integer.parseInt(map.get(55L).getReviewAnswer()) -7;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (reviewRecord.getReviewAnswer().equals(reviewAnswer.toString())) {
|
|
|
reviewRecord.setCorrect("1");//0错误,1正确
|
|
|
} else {
|
|
|
reviewRecord.setCorrect("0");//0错误,1正确
|