|
@@ -102,13 +102,16 @@ public class TCFinalScoreController {
|
|
@ApiParam(value = "科目id", required = true) @RequestParam Long courseId,
|
|
@ApiParam(value = "科目id", required = true) @RequestParam Long courseId,
|
|
@ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
|
|
@ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
|
|
@ApiParam(value = "培养方案id", required = true) @RequestParam Long cultureProgramId) throws IOException {
|
|
@ApiParam(value = "培养方案id", required = true) @RequestParam Long cultureProgramId) throws IOException {
|
|
|
|
+ if (Objects.isNull(examId) && Objects.isNull(paperNumber)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("请先同步成绩数据再下载模板");
|
|
|
|
+ }
|
|
tcFinalScoreService.getLock(cultureProgramId, courseId, paperNumber, examId);
|
|
tcFinalScoreService.getLock(cultureProgramId, courseId, paperNumber, examId);
|
|
TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber, examId);
|
|
TCPaperStruct tcPaperStruct = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber, examId);
|
|
List<Set<ExcelField>> excelFieldRowSet = new ArrayList<>();
|
|
List<Set<ExcelField>> excelFieldRowSet = new ArrayList<>();
|
|
List<TCFinalScore> finalScoreList = tcFinalScoreService.queryFinalScore(cultureProgramId, courseId, paperNumber, examId);
|
|
List<TCFinalScore> finalScoreList = tcFinalScoreService.queryFinalScore(cultureProgramId, courseId, paperNumber, examId);
|
|
if (CollectionUtils.isNotEmpty(finalScoreList)) {
|
|
if (CollectionUtils.isNotEmpty(finalScoreList)) {
|
|
finalScoreList.stream().peek(s -> {
|
|
finalScoreList.stream().peek(s -> {
|
|
- Set<ExcelField> excelFieldList = new LinkedHashSet<>();
|
|
|
|
|
|
+ Set<ExcelField> excelFieldList = new LinkedHashSet<>();
|
|
excelFieldList.addAll(new ArrayList<>(Arrays.asList(new ExcelField("studentCode", "学号", s.getStudentCode(), true), new ExcelField("name", "姓名", s.getName(), true), new ExcelField("score", "成绩", Objects.nonNull(s.getScore()) ? s.getScore().toString() : null, true))));
|
|
excelFieldList.addAll(new ArrayList<>(Arrays.asList(new ExcelField("studentCode", "学号", s.getStudentCode(), true), new ExcelField("name", "姓名", s.getName(), true), new ExcelField("score", "成绩", Objects.nonNull(s.getScore()) ? s.getScore().toString() : null, true))));
|
|
excelFieldRowSet.add(excelFieldList);
|
|
excelFieldRowSet.add(excelFieldList);
|
|
}
|
|
}
|
|
@@ -156,6 +159,9 @@ public class TCFinalScoreController {
|
|
@ApiParam(value = "课程id", required = true) @RequestParam Long courseId,
|
|
@ApiParam(value = "课程id", required = true) @RequestParam Long courseId,
|
|
@ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
|
|
@ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
|
|
@ApiParam(value = "培养方案id", required = true) @RequestParam Long cultureProgramId) {
|
|
@ApiParam(value = "培养方案id", required = true) @RequestParam Long cultureProgramId) {
|
|
|
|
+ if (Objects.isNull(examId) && Objects.isNull(paperNumber)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("请先同步成绩数据再导入");
|
|
|
|
+ }
|
|
tcFinalScoreService.getLock(cultureProgramId, courseId, paperNumber, examId);
|
|
tcFinalScoreService.getLock(cultureProgramId, courseId, paperNumber, examId);
|
|
String lockKey = SystemConstant.REDIS_FINAL_SCORE_DATA_PREFIX + SystemConstant.IMPORT + cultureProgramId + "_" + courseId + "_" + paperNumber + "_" + examId;
|
|
String lockKey = SystemConstant.REDIS_FINAL_SCORE_DATA_PREFIX + SystemConstant.IMPORT + cultureProgramId + "_" + courseId + "_" + paperNumber + "_" + examId;
|
|
boolean lock = redisUtil.lock(lockKey, SystemConstant.REDIS_LOCK_IMPORT_EXAM_DATA_TIME_OUT);
|
|
boolean lock = redisUtil.lock(lockKey, SystemConstant.REDIS_LOCK_IMPORT_EXAM_DATA_TIME_OUT);
|