|
@@ -394,7 +394,11 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
}
|
|
|
paperStructDimensionResultList = SDFrame.read(paperStructDimensionResultList).sortDesc(Sorter.sortDescBy(PaperStructDimensionResult::getMainNumber).sortDesc(PaperStructDimensionResult::getMainNumber)).toLists();
|
|
|
TCPaperStruct tcPaperStruct = new TCPaperStruct(cultureProgramId, courseId, basicCourse.getCode(), basicCourse.getName(), paperNumber, JacksonUtil.parseJson(paperStructDimensionResultList),
|
|
|
- sysUser.getId(), examId, Objects.nonNull(tcPaperStructDb) ? tcPaperStructDb.getPaperStructDimension() : null);
|
|
|
+ sysUser.getId(), examId, Objects.nonNull(tcPaperStructDb)
|
|
|
+ && Objects.nonNull(cultureProgramId) && Objects.nonNull(tcPaperStructDb.getCultureProgramId()) && cultureProgramId.longValue() == tcPaperStructDb.getCultureProgramId().longValue()
|
|
|
+ && Objects.nonNull(courseId) && Objects.nonNull(tcPaperStructDb.getCourseId()) && courseId.longValue() == tcPaperStructDb.getCourseId().longValue()
|
|
|
+ && Objects.nonNull(paperNumber) && Objects.nonNull(tcPaperStructDb.getPaperNumber()) && Objects.equals(paperNumber, tcPaperStructDb.getPaperNumber())
|
|
|
+ && Objects.nonNull(examId) && Objects.nonNull(tcPaperStructDb.getExamId()) && examId.longValue() == tcPaperStructDb.getExamId().longValue() ? tcPaperStructDb.getPaperStructDimension() : null);
|
|
|
tcPaperStructService.saveOrUpdate(tcPaperStruct);
|
|
|
}
|
|
|
} else {
|
|
@@ -434,6 +438,14 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
if (clearReport) {
|
|
|
trBasicInfoService.clearReportData(cultureProgramId, courseId, paperNumber, examId, true);
|
|
|
}
|
|
|
+ List<TCFinalScore> tcFinalScoreNotEqList = tcFinalScoreService.queryFinalScoreNotEq(cultureProgramId, courseId, paperNumber, examId);
|
|
|
+ if (!CollectionUtils.isEmpty(tcFinalScoreNotEqList)) {
|
|
|
+ for (TCFinalScore t : tcFinalScoreNotEqList) {
|
|
|
+ tcUsualScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
|
+ tcFinalScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
|
+ trBasicInfoService.clearReportData(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), true);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
messageMap.put(SystemConstant.SUCCESS, successData.length() > 0 ? successData.toString() : "无");
|
|
|
messageMap.put(SystemConstant.EXCEL_ERROR, errorData.length() > 0 ? errorData.toString() : "无");
|
|
@@ -492,6 +504,29 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
return this.baseMapper.queryFinalScore(cultureProgramId, courseId, paperNumber, examId, dpr);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据考试id/课程编码/试卷编码查询数据库数据
|
|
|
+ *
|
|
|
+ * @param cultureProgramId
|
|
|
+ * @param courseId
|
|
|
+ * @param paperNumber
|
|
|
+ * @param examId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<TCFinalScore> queryFinalScoreNotEq(Long cultureProgramId, Long courseId, String paperNumber, Long examId) {
|
|
|
+ QueryWrapper<TCFinalScore> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.select(" distinct culture_program_id as cultureProgramId,course_id as courseId,exam_id as examId,paper_number as paperNumber");
|
|
|
+ queryWrapper.lambda().eq(TCFinalScore::getCultureProgramId, cultureProgramId).eq(TCFinalScore::getCourseId, courseId);
|
|
|
+ if (Objects.nonNull(paperNumber)) {
|
|
|
+ queryWrapper.lambda().and(w -> w.ne(TCFinalScore::getPaperNumber, paperNumber).or().isNull(TCFinalScore::getPaperNumber));
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(examId)) {
|
|
|
+ queryWrapper.lambda().eq(TCFinalScore::getExamId, examId);
|
|
|
+ }
|
|
|
+ return tcFinalScoreService.list(queryWrapper);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取期末考试同步锁
|
|
|
*
|