|
@@ -50,6 +50,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -229,6 +230,16 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
List<TCFinalScore> tcFinalScoreDbSourceList = tcFinalScoreService.queryFinalScore(cultureProgramId, courseId, paperNumber, examId, sysUser.getId());
|
|
|
tcFinalScoreList.stream().peek(s -> s.updateExamAndPaperNumberInfo(tcFinalScoreDbSourceList.get(0))).collect(Collectors.toList());
|
|
|
if (CollectionUtils.isEmpty(tcFinalScoreDbSourceList) || !CollectionUtils.isEqualCollection(tcFinalScoreDbSourceList, tcFinalScoreList)) {
|
|
|
+ Map<String, TCFinalScore> tcUsualScoreDbMap = tcFinalScoreDbSourceList.stream().collect(Collectors.toMap(TCFinalScore::getStudentCode, Function.identity(), (dto1, dto2) -> dto1));
|
|
|
+ AtomicInteger size = new AtomicInteger();
|
|
|
+ tcFinalScoreList.stream().peek(s -> {
|
|
|
+ if (tcUsualScoreDbMap.containsKey(s.getStudentCode())) {
|
|
|
+ size.incrementAndGet();
|
|
|
+ }
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ if (size.get() != tcFinalScoreList.size()) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("请勿导入其他班级数据");
|
|
|
+ }
|
|
|
tcFinalScoreService.removeByIds(tcFinalScoreDbSourceList.stream().map(s -> s.getId()).collect(Collectors.toList()));
|
|
|
tcFinalScoreService.saveBatch(tcFinalScoreList);
|
|
|
trBasicInfoService.clearReportData(cultureProgramId, courseId, paperNumber, examId, true);
|