|
@@ -239,7 +239,7 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
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())) {
|
|
|
+ if (tcUsualScoreDbMap.containsKey(s.getStudentCode().trim())) {
|
|
|
size.incrementAndGet();
|
|
|
}
|
|
|
}).collect(Collectors.toList());
|
|
@@ -417,35 +417,72 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
}
|
|
|
}
|
|
|
if (!CollectionUtils.isEmpty(tcFinalScoreList) && !CollectionUtils.isEmpty(tcUsualScoreList)) {
|
|
|
- Long teachId = Objects.nonNull(tcFinalScoreList.get(0).getCreateId()) ? tcFinalScoreList.get(0).getCreateId() : sysUser.getId();
|
|
|
- List<TCFinalScore> tcFinalScoreActualList = tcFinalScoreList.stream().filter(s -> s.getCreateId().longValue() == teachId.longValue()).collect(Collectors.toList());
|
|
|
- successData.add("共同步").add(tcFinalScoreActualList.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);
|
|
|
- }
|
|
|
- List<TCFinalScore> tcFinalScoreNotEqList = tcFinalScoreService.queryFinalScoreNotEq(cultureProgramId, courseId, paperNumber, examId, tcFinalScoreList.get(0).getCreateId());
|
|
|
+ DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(sysUser.getSchoolId(), sysUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
|
+ List<TCFinalScore> tcFinalScoreNotEqList = tcFinalScoreService.queryFinalScoreNotEqPaperNumber(cultureProgramId, courseId, paperNumber, examId, null);
|
|
|
if (!CollectionUtils.isEmpty(tcFinalScoreNotEqList)) {
|
|
|
for (TCFinalScore t : tcFinalScoreNotEqList) {
|
|
|
- tcUsualScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), tcFinalScoreList.get(0).getCreateId());
|
|
|
- tcFinalScoreService.remove(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), tcFinalScoreList.get(0).getCreateId());
|
|
|
- trBasicInfoService.clearReportData(t.getCultureProgramId(), t.getCourseId(), t.getPaperNumber(), t.getExamId(), true, tcFinalScoreList.get(0).getCreateId());
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!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);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -547,12 +584,14 @@ public class TCFinalScoreServiceImpl extends ServiceImpl<TCFinalScoreMapper, TCF
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<TCFinalScore> queryFinalScoreNotEq(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long userId) {
|
|
|
+ public List<TCFinalScore> queryFinalScoreNotEqPaperNumber(Long cultureProgramId, Long courseId, String paperNumber, Long examId, Long userId) {
|
|
|
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)
|
|
|
- .eq(TCFinalScore::getCreateId, userId);
|
|
|
+ .eq(TCFinalScore::getCourseId, courseId);
|
|
|
+ if (Objects.nonNull(userId)) {
|
|
|
+ queryWrapper.lambda().eq(TCFinalScore::getCreateId, userId);
|
|
|
+ }
|
|
|
if (Objects.nonNull(paperNumber)) {
|
|
|
queryWrapper.lambda().and(w -> w.ne(TCFinalScore::getPaperNumber, paperNumber).or().isNull(TCFinalScore::getPaperNumber));
|
|
|
}
|