|
@@ -362,10 +362,11 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
//不为空则从markPaper里同步基础数据,否则从basicExamStudent同步
|
|
//不为空则从markPaper里同步基础数据,否则从basicExamStudent同步
|
|
List<TCFinalScore> tcFinalScoreList = null;
|
|
List<TCFinalScore> tcFinalScoreList = null;
|
|
List<TCUsualScore> tcUsualScoreList = null;
|
|
List<TCUsualScore> tcUsualScoreList = null;
|
|
|
|
+ List<PaperStructDimensionResult> paperStructDimensionResultList = null;
|
|
if (!CollectionUtils.isEmpty(markStudentScoreVoList)) {
|
|
if (!CollectionUtils.isEmpty(markStudentScoreVoList)) {
|
|
tcFinalScoreList = new ArrayList<>(markStudentScoreVoList.size());
|
|
tcFinalScoreList = new ArrayList<>(markStudentScoreVoList.size());
|
|
tcUsualScoreList = new ArrayList<>(markStudentScoreVoList.size());
|
|
tcUsualScoreList = new ArrayList<>(markStudentScoreVoList.size());
|
|
- List<PaperStructDimensionResult> paperStructDimensionResultList = new ArrayList<>(markStudentScoreVoList.size());
|
|
|
|
|
|
+ paperStructDimensionResultList = new ArrayList<>(markStudentScoreVoList.size());
|
|
for (int i = 0; i < markStudentScoreVoList.size(); i++) {
|
|
for (int i = 0; i < markStudentScoreVoList.size(); i++) {
|
|
MarkStudentScoreVo markStudentScoreVo = markStudentScoreVoList.get(i);
|
|
MarkStudentScoreVo markStudentScoreVo = markStudentScoreVoList.get(i);
|
|
if (!CollectionUtils.isEmpty(markStudentScoreVo.getTotalScoreList())) {
|
|
if (!CollectionUtils.isEmpty(markStudentScoreVo.getTotalScoreList())) {
|
|
@@ -417,13 +418,13 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (!CollectionUtils.isEmpty(tcFinalScoreList) && !CollectionUtils.isEmpty(tcUsualScoreList)) {
|
|
if (!CollectionUtils.isEmpty(tcFinalScoreList) && !CollectionUtils.isEmpty(tcUsualScoreList)) {
|
|
- DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
|
List<TCFinalScore> tcFinalScoreNotEqPaperNumberList = tcFinalScoreService.queryFinalScoreNotEqPaperNumber(cultureProgramId, courseId, paperNumber, examId, null);
|
|
List<TCFinalScore> tcFinalScoreNotEqPaperNumberList = tcFinalScoreService.queryFinalScoreNotEqPaperNumber(cultureProgramId, courseId, paperNumber, examId, null);
|
|
List<TCFinalScore> tcFinalScoreNotEqExamAndPaperNumberList = tcFinalScoreService.queryFinalScoreNotEqExamIdAndPaperNumber(cultureProgramId, courseId, paperNumber, examId, null);
|
|
List<TCFinalScore> tcFinalScoreNotEqExamAndPaperNumberList = tcFinalScoreService.queryFinalScoreNotEqExamIdAndPaperNumber(cultureProgramId, courseId, paperNumber, examId, null);
|
|
if (!CollectionUtils.isEmpty(tcFinalScoreNotEqPaperNumberList)) {
|
|
if (!CollectionUtils.isEmpty(tcFinalScoreNotEqPaperNumberList)) {
|
|
for (TCFinalScore t : tcFinalScoreNotEqPaperNumberList) {
|
|
for (TCFinalScore t : tcFinalScoreNotEqPaperNumberList) {
|
|
tcUsualScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
tcUsualScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
tcFinalScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
tcFinalScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
|
|
+ tcPaperStructService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
trBasicInfoService.clearReportData(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), true);
|
|
trBasicInfoService.clearReportData(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -431,70 +432,39 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
for (TCFinalScore t : tcFinalScoreNotEqExamAndPaperNumberList) {
|
|
for (TCFinalScore t : tcFinalScoreNotEqExamAndPaperNumberList) {
|
|
tcUsualScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
tcUsualScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
tcFinalScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
tcFinalScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
|
|
+ tcPaperStructService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId());
|
|
trBasicInfoService.clearReportData(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), true);
|
|
trBasicInfoService.clearReportData(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if ((CollectionUtils.isEmpty(dpr.getOrgIdSet()) && Objects.isNull(dpr.getCourseUserId()) &&
|
|
|
|
- Objects.isNull(dpr.getRequestUserId()))
|
|
|
|
- || !CollectionUtils.isEmpty(dpr.getOrgIdSet())
|
|
|
|
- || Objects.nonNull(dpr.getCourseUserId())) {
|
|
|
|
- successData.add("共同步").add(tcFinalScoreList.size() + "").add("条数据");
|
|
|
|
- List<TCFinalScore> tcFinalScoreDbSourceList = tcFinalScoreService.queryFinalScore(cultureProgramId,
|
|
|
|
- courseId, paperNumber, examId);
|
|
|
|
- List<TCUsualScore> tcUsualScoreDbSourceList = tcUsualScoreService.queryUsualScore(cultureProgramId,
|
|
|
|
- courseId, paperNumber, examId);
|
|
|
|
- boolean clearReport = false;
|
|
|
|
- if (CollectionUtils.isEmpty(tcFinalScoreDbSourceList) || !CollectionUtils.isEqualCollection(
|
|
|
|
- tcFinalScoreDbSourceList, tcFinalScoreList)) {
|
|
|
|
- tcFinalScoreService.remove(cultureProgramId, courseId, paperNumber, examId);
|
|
|
|
- tcFinalScoreService.saveBatch(tcFinalScoreList);
|
|
|
|
- clearReport = true;
|
|
|
|
- }
|
|
|
|
- if (CollectionUtils.isEmpty(tcUsualScoreDbSourceList) || !CollectionUtils.isEqualCollection(
|
|
|
|
- tcUsualScoreDbSourceList, tcUsualScoreList)) {
|
|
|
|
- tcUsualScoreService.remove(cultureProgramId, courseId, paperNumber, examId);
|
|
|
|
- tcUsualScoreService.saveBatch(tcUsualScoreList);
|
|
|
|
- clearReport = true;
|
|
|
|
- }
|
|
|
|
- if (clearReport) {
|
|
|
|
- trBasicInfoService.clearReportData(cultureProgramId, courseId, paperNumber, examId, true);
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- List<TCFinalScore> tcFinalScoreActualList = tcFinalScoreList.stream().filter(s -> s.getCreateId().longValue() == sysUser.getId().longValue()).collect(Collectors.toList());
|
|
|
|
- if (!CollectionUtils.isEmpty(tcFinalScoreActualList)) {
|
|
|
|
- successData.add("共同步").add(tcFinalScoreActualList.size() + "").add("条数据");
|
|
|
|
-
|
|
|
|
- List<TCUsualScore> tcUsualScoreActualList = tcUsualScoreList.stream().filter(s -> s.getCreateId().longValue() == sysUser.getId().longValue()).collect(Collectors.toList());
|
|
|
|
- List<TCFinalScore> tcFinalScoreDbSourceList = tcFinalScoreService.queryFinalScore(cultureProgramId,
|
|
|
|
- courseId, paperNumber, examId);
|
|
|
|
- List<TCFinalScore> tcFinalScoreDbActualList = new ArrayList<>();
|
|
|
|
- if (!CollectionUtils.isEmpty(tcFinalScoreDbSourceList)) {
|
|
|
|
- tcFinalScoreDbActualList = tcFinalScoreDbSourceList.stream().filter(s -> s.getCreateId().longValue() == sysUser.getId().longValue()).collect(Collectors.toList());
|
|
|
|
- }
|
|
|
|
- List<TCUsualScore> tcUsualScoreDbSourceList = tcUsualScoreService.queryUsualScore(cultureProgramId,
|
|
|
|
- courseId, paperNumber, examId);
|
|
|
|
- List<TCUsualScore> tcUsualScoreDbActualList = new ArrayList<>();
|
|
|
|
- if (!CollectionUtils.isEmpty(tcUsualScoreDbSourceList)) {
|
|
|
|
- tcUsualScoreDbActualList = tcUsualScoreDbSourceList.stream().filter(s -> s.getCreateId().longValue() == sysUser.getId().longValue()).collect(Collectors.toList());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- boolean clearReport = false;
|
|
|
|
- if (CollectionUtils.isEmpty(tcFinalScoreDbActualList) || !CollectionUtils.isEqualCollection(
|
|
|
|
- tcFinalScoreDbActualList, tcFinalScoreActualList)) {
|
|
|
|
- tcFinalScoreService.removeByIds(tcFinalScoreDbActualList.stream().map(s -> s.getId()).collect(Collectors.toList()));
|
|
|
|
- tcFinalScoreService.saveBatch(tcFinalScoreActualList);
|
|
|
|
- clearReport = true;
|
|
|
|
- }
|
|
|
|
- if (CollectionUtils.isEmpty(tcUsualScoreDbActualList) || !CollectionUtils.isEqualCollection(
|
|
|
|
- tcUsualScoreDbActualList, tcUsualScoreActualList)) {
|
|
|
|
- tcUsualScoreService.removeByIds(tcUsualScoreDbActualList.stream().map(s -> s.getId()).collect(Collectors.toList()));
|
|
|
|
- tcUsualScoreService.saveBatch(tcUsualScoreActualList);
|
|
|
|
- clearReport = true;
|
|
|
|
- }
|
|
|
|
- if (clearReport) {
|
|
|
|
- trBasicInfoService.clearReportData(cultureProgramId, courseId, paperNumber, examId, true);
|
|
|
|
- }
|
|
|
|
|
|
+ successData.add("共同步").add(tcFinalScoreList.size() + "").add("条数据");
|
|
|
|
+ List<TCFinalScore> tcFinalScoreDbSourceList = tcFinalScoreService.queryFinalScoreAll(cultureProgramId,
|
|
|
|
+ courseId, paperNumber, examId);
|
|
|
|
+ boolean clearReport = false;
|
|
|
|
+ if (CollectionUtils.isEmpty(tcFinalScoreDbSourceList) || !CollectionUtils.isEqualCollection(
|
|
|
|
+ tcFinalScoreDbSourceList, tcFinalScoreList)) {
|
|
|
|
+ tcFinalScoreService.remove(cultureProgramId, courseId, paperNumber, examId);
|
|
|
|
+ tcFinalScoreService.saveBatch(tcFinalScoreList);
|
|
|
|
+ tcUsualScoreService.remove(cultureProgramId, courseId, paperNumber, examId);
|
|
|
|
+ tcUsualScoreService.saveBatch(tcUsualScoreList);
|
|
|
|
+ tcPaperStructService.remove(cultureProgramId, courseId, paperNumber, examId);
|
|
|
|
+ clearReport = true;
|
|
|
|
+ }
|
|
|
|
+ if (clearReport) {
|
|
|
|
+ trBasicInfoService.clearReportData(cultureProgramId, courseId, paperNumber, examId, true);
|
|
|
|
+ }
|
|
|
|
+ if (!CollectionUtils.isEmpty(paperStructDimensionResultList)) {
|
|
|
|
+ TCPaperStruct tcPaperStructDb = tcPaperStructService.queryPaperStruct(cultureProgramId, courseId, paperNumber, examId);
|
|
|
|
+ if (Objects.nonNull(tcPaperStructDb)) {
|
|
|
|
+ tcPaperStructService.removeById(tcPaperStructDb.getId());
|
|
}
|
|
}
|
|
|
|
+ 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)
|
|
|
|
+ && 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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
messageMap.put(SystemConstant.SUCCESS, successData.length() > 0 ? successData.toString() : "无");
|
|
messageMap.put(SystemConstant.SUCCESS, successData.length() > 0 ? successData.toString() : "无");
|
|
@@ -584,6 +554,34 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
return this.baseMapper.queryFinalScore(cultureProgramId, courseId, paperNumber, examId, dpr);
|
|
return this.baseMapper.queryFinalScore(cultureProgramId, courseId, paperNumber, examId, dpr);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 根据考试id/课程编码/试卷编码查询数据库数据
|
|
|
|
+ *
|
|
|
|
+ * @param cultureProgramId
|
|
|
|
+ * @param courseId
|
|
|
|
+ * @param paperNumber
|
|
|
|
+ * @param examId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public List<TCFinalScore> queryFinalScoreAll(Long cultureProgramId, Long courseId, String paperNumber, Long examId) {
|
|
|
|
+ return this.baseMapper.queryFinalScore(cultureProgramId, courseId, paperNumber, examId, null);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 查询期末成绩同步状态
|
|
|
|
+ *
|
|
|
|
+ * @param cultureProgramId
|
|
|
|
+ * @param courseId
|
|
|
|
+ * @param paperNumber
|
|
|
|
+ * @param examId
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public Boolean queryFinalScoreSync(Long cultureProgramId, Long courseId, String paperNumber, Long examId) {
|
|
|
|
+ return !CollectionUtils.isEmpty(this.queryFinalScoreAll(cultureProgramId, courseId, paperNumber, examId)) ? true : false;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 根据考试id/课程编码/试卷编码查询数据库数据
|
|
* 根据考试id/课程编码/试卷编码查询数据库数据
|
|
*
|
|
*
|