|
@@ -97,31 +97,46 @@ public class TCStatisticsServiceImpl extends ServiceImpl<TCStatisticsMapper, TCS
|
|
Set<Long> clazzIdSet = Arrays.stream(clazzIds.split(",")).map(SystemConstant::convertIdToLong).collect(Collectors.toSet());
|
|
Set<Long> clazzIdSet = Arrays.stream(clazzIds.split(",")).map(SystemConstant::convertIdToLong).collect(Collectors.toSet());
|
|
// 根据课程和考试查到的命题计划数据
|
|
// 根据课程和考试查到的命题计划数据
|
|
List<ExamTaskPlanStatisticDto> examTaskPlanStatisticDtoList = this.baseMapper.findByExamIdCourseCode(examId,courseCode);
|
|
List<ExamTaskPlanStatisticDto> examTaskPlanStatisticDtoList = this.baseMapper.findByExamIdCourseCode(examId,courseCode);
|
|
|
|
+ if (examTaskPlanStatisticDtoList == null || examTaskPlanStatisticDtoList.size() == 0){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
for (Long clazzId : clazzIdSet) {
|
|
for (Long clazzId : clazzIdSet) {
|
|
// 匹配到班级的所有命题计划
|
|
// 匹配到班级的所有命题计划
|
|
List<ExamTaskPlanStatisticDto> matchClazzList = examTaskPlanStatisticDtoList.stream().filter(e -> {
|
|
List<ExamTaskPlanStatisticDto> matchClazzList = examTaskPlanStatisticDtoList.stream().filter(e -> {
|
|
|
|
+ if (!SystemConstant.strNotNull(e.getClazzIds())){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
Set<Long> ebcClazzIdSet = Arrays.stream(e.getClazzIds().split(",")).map(SystemConstant::convertIdToLong).collect(Collectors.toSet());
|
|
Set<Long> ebcClazzIdSet = Arrays.stream(e.getClazzIds().split(",")).map(SystemConstant::convertIdToLong).collect(Collectors.toSet());
|
|
return ebcClazzIdSet.contains(clazzId);
|
|
return ebcClazzIdSet.contains(clazzId);
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
- // 匹配到以印刷的
|
|
|
|
- List<ExamTaskPlanStatisticDto> printClazzList = matchClazzList.stream().filter(e -> ExamDetailStatusEnum.FINISH.equals(e.getExamDetailStatus())).collect(Collectors.toList());
|
|
|
|
-
|
|
|
|
ClazzContentDto clazzContent = new ClazzContentDto();
|
|
ClazzContentDto clazzContent = new ClazzContentDto();
|
|
clazzContent.setClazzId(clazzId);
|
|
clazzContent.setClazzId(clazzId);
|
|
clazzContent.setClazzName(examDetailService.findClazzNamesByClazzIds(String.valueOf(clazzId), ","));
|
|
clazzContent.setClazzName(examDetailService.findClazzNamesByClazzIds(String.valueOf(clazzId), ","));
|
|
|
|
+ if (matchClazzList.size() == 1){
|
|
|
|
+ // 课程-班级只提交一次(且已有印刷计划)的数据记录印刷计划试卷编号等信息
|
|
|
|
+ ExamTaskPlanStatisticDto matchClazz = matchClazzList.get(0);
|
|
|
|
+ clazzContent.setExamPrintPlanId(matchClazz.getExamPrintPlanId());
|
|
|
|
+ clazzContent.setExamPrintPlanName(matchClazz.getExamPrintPlanName());
|
|
|
|
+ clazzContent.setPaperNumber(matchClazz.getPaperNumber());
|
|
|
|
+ clazzContent.setStudentCount(matchClazz.getStudentCount());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 匹配到以印刷的
|
|
|
|
+ List<ExamTaskPlanStatisticDto> printClazzList = matchClazzList.stream().filter(e -> ExamDetailStatusEnum.FINISH.equals(e.getExamDetailStatus())).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+
|
|
if (printClazzList.size() > 1) {
|
|
if (printClazzList.size() > 1) {
|
|
// 同一个班级课程已完成印刷的命题任务多次提交
|
|
// 同一个班级课程已完成印刷的命题任务多次提交
|
|
status = StatisticsStatusEnum.UN_FINISH;
|
|
status = StatisticsStatusEnum.UN_FINISH;
|
|
clazzContent.setStatus(ClazzContentEnum.EXCEPTION);
|
|
clazzContent.setStatus(ClazzContentEnum.EXCEPTION);
|
|
} else if (printClazzList.size() == 1) {
|
|
} else if (printClazzList.size() == 1) {
|
|
- ExamTaskPlanStatisticDto printMatchClazz = printClazzList.get(0);
|
|
|
|
- // 查询考场表状态为已印刷的被匹配数据
|
|
|
|
|
|
+ // 该班级对应的命题任务完成印刷
|
|
|
|
+ ExamTaskPlanStatisticDto printMatchClazz = matchClazzList.get(0);
|
|
clazzContent.setExamPrintPlanId(printMatchClazz.getExamPrintPlanId());
|
|
clazzContent.setExamPrintPlanId(printMatchClazz.getExamPrintPlanId());
|
|
clazzContent.setExamPrintPlanName(printMatchClazz.getExamPrintPlanName());
|
|
clazzContent.setExamPrintPlanName(printMatchClazz.getExamPrintPlanName());
|
|
clazzContent.setPaperNumber(printMatchClazz.getPaperNumber());
|
|
clazzContent.setPaperNumber(printMatchClazz.getPaperNumber());
|
|
clazzContent.setStudentCount(printMatchClazz.getStudentCount());
|
|
clazzContent.setStudentCount(printMatchClazz.getStudentCount());
|
|
- // 改版机对应的命题任务完成印刷
|
|
|
|
clazzContent.setStatus(ClazzContentEnum.FINISH);
|
|
clazzContent.setStatus(ClazzContentEnum.FINISH);
|
|
} else {
|
|
} else {
|
|
// 该班级对应的命题任务还未完成印刷
|
|
// 该班级对应的命题任务还未完成印刷
|